10 #ifndef CMZN_ELEMENT_HPP__ 11 #define CMZN_ELEMENT_HPP__ 13 #include "opencmiss/zinc/element.h" 14 #include "opencmiss/zinc/elementfieldtemplate.hpp" 15 #include "opencmiss/zinc/field.hpp" 16 #include "opencmiss/zinc/differentialoperator.hpp" 17 #include "opencmiss/zinc/node.hpp" 26 class Elementtemplate;
46 explicit Element(cmzn_element_id element_id) :
51 id(cmzn_element_access(element.id))
58 cmzn_element_destroy(&
id);
64 cmzn_element_id temp_id = cmzn_element_access(element.id);
67 cmzn_element_destroy(&
id);
219 return cmzn_element_get_dimension(
id);
248 return cmzn_element_get_identifier(
id);
261 return cmzn_element_set_identifier(
id, identifier);
280 return Node(cmzn_element_get_node(this->
id, eft.
getId(), localNodeIndex));
299 return cmzn_element_set_node(this->
id, eft.
getId(), localNodeIndex, node.
getId());
321 const int *identifiersIn)
323 return cmzn_element_set_nodes_by_identifier(this->
id, eft.
getId(), identifiersCount, identifiersIn);
338 return cmzn_element_get_scale_factor(this->
id, eft.
getId(), scaleFactorIndex, valueOut);
352 return cmzn_element_set_scale_factor(this->
id, eft.
getId(), scaleFactorIndex, value);
368 return cmzn_element_get_scale_factors(this->
id, eft.
getId(), valuesCount, valuesOut);
382 const double *valuesIn)
384 return cmzn_element_set_scale_factors(this->
id, eft.
getId(), valuesCount, valuesIn);
397 return static_cast<ShapeType>(cmzn_element_get_shape_type(
id));
427 cmzn_elementiterator_id id;
435 explicit Elementiterator(cmzn_elementiterator_id element_iterator_id) :
436 id(element_iterator_id)
440 id(cmzn_elementiterator_access(elementIterator.id))
445 cmzn_elementiterator_id temp_id = cmzn_elementiterator_access(elementIterator.id);
448 cmzn_elementiterator_destroy(&
id);
458 cmzn_elementiterator_destroy(&
id);
481 return Element(cmzn_elementiterator_next(
id));
Definition: element.hpp:114
int getScaleFactor(const Elementfieldtemplate &eft, int scaleFactorIndex, double *valueOut)
Definition: element.hpp:336
Definition: element.hpp:151
Definition: element.hpp:122
A single finite element from a mesh.
Definition: element.hpp:34
Definition: element.hpp:92
Definition: element.hpp:155
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:51
Definition: element.hpp:88
bool isValid() const
Definition: element.hpp:467
int getScaleFactors(const Elementfieldtemplate &eft, int valuesCount, double *valuesOut)
Definition: element.hpp:365
int setScaleFactor(const Elementfieldtemplate &eft, int scaleFactorIndex, double value)
Definition: element.hpp:350
ShapeType
Definition: element.hpp:137
Elementfieldtemplate getElementfieldtemplate(const Field &field, int componentNumber) const
Definition: element.hpp:234
Mesh getMesh() const
Definition: mesh.hpp:326
Definition: element.hpp:147
Definition: element.hpp:177
Definition: element.hpp:98
int ChangeFlags
Definition: element.hpp:105
Definition: element.hpp:130
bool isValid() const
Definition: element.hpp:78
Definition: element.hpp:116
Definition: element.hpp:170
QuadratureRule
Definition: element.hpp:187
Definition: element.hpp:128
Definition: element.hpp:145
cmzn_field_id getId() const
Definition: field.hpp:103
An iterator for looping through all the elements in a mesh.
Definition: element.hpp:423
Definition: element.hpp:126
A description of element shape and field definitions.
Definition: elementtemplate.hpp:31
int getDimension()
Definition: element.hpp:217
cmzn_element_id getId() const
Definition: element.hpp:207
ChangeFlag
Definition: element.hpp:86
Definition: element.hpp:164
int setNodesByIdentifier(const Elementfieldtemplate &eft, int identifiersCount, const int *identifiersIn)
Definition: element.hpp:320
Definition: element.hpp:94
Definition: element.hpp:124
Definition: element.hpp:168
cmzn_node_id getId() const
Definition: node.hpp:136
Definition: element.hpp:166
Definition: element.hpp:139
Definition: element.hpp:141
Definition: element.hpp:175
Definition: element.hpp:96
Definition: element.hpp:112
PointSamplingMode
Definition: element.hpp:162
Definition: element.hpp:90
int setNode(const Elementfieldtemplate &eft, int localNodeIndex, const Node &node)
Definition: element.hpp:297
Definition: element.hpp:189
Element next()
Definition: element.hpp:479
enum ShapeType getShapeType()
Definition: element.hpp:395
The OpenCMISS namespace.
Definition: context.hpp:20
Point object used to represent finite element nodes.
Definition: node.hpp:34
Definition: element.hpp:120
int merge(const Elementtemplate &elementTemplate)
Definition: elementtemplate.hpp:318
int setIdentifier(int identifier)
Definition: element.hpp:259
Definition: element.hpp:197
Node getNode(const Elementfieldtemplate &eft, int localNodeIndex)
Definition: element.hpp:278
int getIdentifier()
Definition: element.hpp:246
Definition: element.hpp:153
cmzn_elementfieldtemplate_id getId() const
Definition: elementfieldtemplate.hpp:132
FaceType
Definition: element.hpp:110
Definition: element.hpp:191
A finite element mesh consisting of a set of elements of fixed dimension.
Definition: mesh.hpp:34
Definition: element.hpp:118
Definition: element.hpp:143
int setScaleFactors(const Elementfieldtemplate &eft, int valuesCount, const double *valuesIn)
Definition: element.hpp:381
A template defining field parameter mapping and interpolation over an element chart.
Definition: elementfieldtemplate.hpp:39
Definition: element.hpp:149