9#include <jem/base/Class.h>
10#include <jive/app/Module.h>
11#include <jive/fem/ElementGroup.h>
12#include <jive/fem/ElementSet.h>
13#include <jive/fem/NodeSet.h>
14#include <jive/util/Assignable.h>
15#include <jive/util/Constraints.h>
16#include <jive/util/Globdat.h>
17#include <jive/util/XDofSpace.h>
26using jem::newInstance;
31using jem::util::Properties;
35using jive::StringVector;
37using jive::app::Module;
38using jive::fem::ElementGroup;
39using jive::fem::ElementSet;
40using jive::fem::NodeSet;
41using jive::util::Assignable;
42using jive::util::Constraints;
43using jive::util::Globdat;
44using jive::util::XDofSpace;
75 virtual Status
init(
const Properties &conf,
76 const Properties &props,
77 const Properties &globdat)
override;
85 static Ref<Module>
makeNew(
const String &name,
86 const Properties &conf,
87 const Properties &props,
88 const Properties &globdat);
104 void configure_(
const Properties &conf,
105 const Properties &props,
106 const Properties &globdat);
110 void makeNodeGroups_(
const Properties &globdat);
120 class NGroup_ :
public Object
133 void configure(
const Properties &conf,
134 const Properties &props,
139 void makeGroup(
const Properties &globdat);
143 static const char *X_NAMES[3];
144 static const double PI;
147 StringVector knownTypes;
161 void findCandidates_(
const ElementSet &elems,
162 const Properties &globdat);
166 void findNodes_(
const NodeSet &nodes);
171 void store_(
const NodeSet &nodes,
172 const Properties &globdat);
187 Tuple<Vector, 3> xvals_;
190 Tuple<String, 3> xtype_;
199 StringVector restrictTo_;
200 IdxVector restrictPartial_;
212 class EGroup_ :
public Object
225 void configure(
const Properties &conf,
226 const Properties &props,
231 void makeGroup(
const Properties &globdat);
235 static const char *X_NAMES[3];
236 static const double PI;
239 StringVector knownTypes;
253 void findElems_(
const ElementSet &elems,
254 const Properties &globdat);
259 void store_(
const ElementSet &elems,
260 const Properties &globdat);
273 Tuple<Vector, 3> xvals_;
276 Tuple<String, 3> xtype_;
279 Tuple<bool, 3> completely_;