OpenCMISS-Zinc C++ API Documentation
|
A single finite element from a mesh. More...
#include <element.hpp>
Public Types | |
enum | ChangeFlag { CHANGE_FLAG_NONE = CMZN_ELEMENT_CHANGE_FLAG_NONE, CHANGE_FLAG_ADD = CMZN_ELEMENT_CHANGE_FLAG_ADD, CHANGE_FLAG_REMOVE = CMZN_ELEMENT_CHANGE_FLAG_REMOVE, CHANGE_FLAG_IDENTIFIER = CMZN_ELEMENT_CHANGE_FLAG_IDENTIFIER, CHANGE_FLAG_DEFINITION = CMZN_ELEMENT_CHANGE_FLAG_DEFINITION, CHANGE_FLAG_FIELD = CMZN_ELEMENT_CHANGE_FLAG_FIELD } |
enum | FaceType { FACE_TYPE_INVALID = CMZN_ELEMENT_FACE_TYPE_INVALID, FACE_TYPE_ALL = CMZN_ELEMENT_FACE_TYPE_ALL, FACE_TYPE_ANY_FACE = CMZN_ELEMENT_FACE_TYPE_ANY_FACE, FACE_TYPE_NO_FACE = CMZN_ELEMENT_FACE_TYPE_NO_FACE, FACE_TYPE_XI1_0 = CMZN_ELEMENT_FACE_TYPE_XI1_0, FACE_TYPE_XI1_1 = CMZN_ELEMENT_FACE_TYPE_XI1_1, FACE_TYPE_XI2_0 = CMZN_ELEMENT_FACE_TYPE_XI2_0, FACE_TYPE_XI2_1 = CMZN_ELEMENT_FACE_TYPE_XI2_1, FACE_TYPE_XI3_0 = CMZN_ELEMENT_FACE_TYPE_XI3_0, FACE_TYPE_XI3_1 = CMZN_ELEMENT_FACE_TYPE_XI3_1 } |
enum | ShapeType { SHAPE_TYPE_INVALID = CMZN_ELEMENT_SHAPE_TYPE_INVALID, SHAPE_TYPE_LINE = CMZN_ELEMENT_SHAPE_TYPE_LINE, SHAPE_TYPE_SQUARE = CMZN_ELEMENT_SHAPE_TYPE_SQUARE, SHAPE_TYPE_TRIANGLE = CMZN_ELEMENT_SHAPE_TYPE_TRIANGLE, SHAPE_TYPE_CUBE = CMZN_ELEMENT_SHAPE_TYPE_CUBE, SHAPE_TYPE_TETRAHEDRON = CMZN_ELEMENT_SHAPE_TYPE_TETRAHEDRON, SHAPE_TYPE_WEDGE12 = CMZN_ELEMENT_SHAPE_TYPE_WEDGE12, SHAPE_TYPE_WEDGE13 = CMZN_ELEMENT_SHAPE_TYPE_WEDGE13, SHAPE_TYPE_WEDGE23 = CMZN_ELEMENT_SHAPE_TYPE_WEDGE23 } |
enum | PointSamplingMode { POINT_SAMPLING_MODE_INVALID = CMZN_ELEMENT_POINT_SAMPLING_MODE_INVALID, POINT_SAMPLING_MODE_CELL_CENTRES = CMZN_ELEMENT_POINT_SAMPLING_MODE_CELL_CENTRES, POINT_SAMPLING_MODE_CELL_CORNERS = CMZN_ELEMENT_POINT_SAMPLING_MODE_CELL_CORNERS, POINT_SAMPLING_MODE_CELL_POISSON = CMZN_ELEMENT_POINT_SAMPLING_MODE_CELL_POISSON, POINT_SAMPLING_MODE_SET_LOCATION = CMZN_ELEMENT_POINT_SAMPLING_MODE_SET_LOCATION, POINT_SAMPLING_MODE_GAUSSIAN_QUADRATURE = CMZN_ELEMENT_POINT_SAMPLING_MODE_GAUSSIAN_QUADRATURE } |
enum | QuadratureRule { QUADRATURE_RULE_INVALID = CMZN_ELEMENT_QUADRATURE_RULE_INVALID, QUADRATURE_RULE_GAUSSIAN = CMZN_ELEMENT_QUADRATURE_RULE_GAUSSIAN, QUADRATURE_RULE_MIDPOINT = CMZN_ELEMENT_QUADRATURE_RULE_MIDPOINT } |
typedef int | ChangeFlags |
Public Member Functions | |
Element (cmzn_element_id element_id) | |
Element (const Element &element) | |
Element & | operator= (const Element &element) |
bool | isValid () const |
cmzn_element_id | getId () const |
int | getDimension () |
Elementfieldtemplate | getElementfieldtemplate (const Field &field, int componentNumber) const |
int | getIdentifier () |
int | setIdentifier (int identifier) |
Mesh | getMesh () const |
Node | getNode (const Elementfieldtemplate &eft, int localNodeIndex) |
int | setNode (const Elementfieldtemplate &eft, int localNodeIndex, const Node &node) |
int | setNodesByIdentifier (const Elementfieldtemplate &eft, int identifiersCount, const int *identifiersIn) |
int | getScaleFactor (const Elementfieldtemplate &eft, int scaleFactorIndex, double *valueOut) |
int | setScaleFactor (const Elementfieldtemplate &eft, int scaleFactorIndex, double value) |
int | getScaleFactors (const Elementfieldtemplate &eft, int valuesCount, double *valuesOut) |
int | setScaleFactors (const Elementfieldtemplate &eft, int valuesCount, const double *valuesIn) |
enum ShapeType | getShapeType () |
int | merge (const Elementtemplate &elementTemplate) |
A single finite element from a mesh.
A single finite element from a mesh. Represents a local coordinate chart of prescribed shape/bounds, over which fields can be defined.
typedef int OpenCMISS::Zinc::Element::ChangeFlags |
Type for passing logical OR of ChangeFlag
Bit flags summarising changes to an element or elements in a mesh.
An enumeration for selecting the faces of elements.
Mode controlling how points are sampled from elements.
Quadrature rule for numerically integrating over elements.
Common element shape enumeration.
|
inline |
Returns the number of dimensions of the element's chart.
|
inline |
Gets the element field template defining field component on element, or all field components for special homogeneous case with component -1.
field | The field to query. May be finite element type only. |
componentNumber | The component to query from 1 to number of components, or -1 to request element field template used by all components which fails if not homogeous i.e. if components have different templates. |
|
inline |
|
inline |
Returns the non-negative integer uniquely identifying the element in its mesh.
|
inline |
Get the mesh which owns this element.
|
inline |
Gets a local node used by element field template in element.
&eft | The element field template to get the node for. |
localNodeIndex | The local index of the node to get, starting at 1. |
|
inline |
Get a scale factor for the element field template in element.
&eft | The element field template to get the scale factor for. |
scaleFactorIndex | The local index of the scale factor to get, starting at 1. |
valueOut | Address of variable/memory which on success is set to the scale factor value. |
|
inline |
Gets all scale factors used by the given element field template in this element.
&eft | The element field template to get scale factors for. |
valuesCount | The size of the values array. Must equal the number of scale factors in the element field template. |
valuesOut | Array to fill with the scale factors. |
|
inline |
Gets the shape type of the element. Note that legacy meshes may return an unknown shape type for certain custom element shapes e.g. polygon shapes. It is intended that future revisions of the API will offer more detailed shape query and modification functions.
|
inline |
Check if this is a valid Element object.
|
inline |
Modifies the element to define or undefine fields as described in the element template, and possibly change its shape.
Must be created for this mesh and valid. If the element template has a valid shape, it will be set for the element; if it has an invalid shape, the element will keep its current shape.
|
inline |
Set an integer uniquely identifying the element in its mesh.
identifier | unique identifier to be set for the element |
|
inline |
Sets a local node used by element field template in element. Note if any node-type scale factors are indexed by a node being set or changed, new scale factors will be discovered or created for it, and any old scale factors will be released. Note that any existing scale factors discovered for a node keep their current values, and newly created scale factors values are assigned the current value for the scale factor on the former node.
&eft | The element field template to set the node for. |
localNodeIndex | The local index of the node to set, starting at 1. |
&node | The global node to set. Note once a local node index has a valid node, it is not permitted to remove it. |
|
inline |
Sets all the local nodes used by the given element field template in this element by their identifiers. The nodes are found by identifier in the nodeset for the elements' owning mesh. It is an error if any node with a valid identifier is not found. Note it is illegal to clear a node that has already been set. Also, if any node-type scale factors are indexed by a node being set or changed, new scale factors will be discovered or created for it, and any old scale factors will be released. Note that any existing scale factors discovered for a node keep their current values, and newly created scale factors values are assigned the current value for the scale factor on the former node.
&eft | The element field template to set nodes for. |
identifiersCount | The size of the identifiers array. Must equal the number of nodes in the element field template. |
identifiersIn | The array of node identifiers to set. |
|
inline |
Set a scale factor for the element field template in element.
&eft | The element field template to set the scale factor for. |
scaleFactorIndex | The local index of the scale factor to set, starting at 1. |
value | The scale factor value to set. |
|
inline |
Sets all scale factors used by the given element field template in this element.
&eft | The element field template to set scale factors for. |
valuesCount | The size of the values array. Must equal the number of scale factors in the element field template. |
valuesIn | The array of scale factors to set. |