OpenCMISS-Zinc C++ API Documentation
|
A description of element shape and field definitions. More...
#include <element.hpp>
Public Member Functions | |
Elementtemplate (cmzn_elementtemplate_id element_template_id) | |
Elementtemplate (const Elementtemplate &elementTemplate) | |
Elementtemplate & | operator= (const Elementtemplate &elementTemplate) |
bool | isValid () const |
cmzn_elementtemplate_id | getId () const |
enum Element::ShapeType | getElementShapeType () |
int | setElementShapeType (enum Element::ShapeType shapeType) |
int | getNumberOfNodes () |
int | setNumberOfNodes (int numberOfNodes) |
int | defineFieldElementConstant (const Field &field, int componentNumber) |
int | defineFieldSimpleNodal (const Field &field, int componentNumber, const Elementbasis &basis, int nodeIndexesCount, const int *nodeIndexesIn) |
int | setMapNodeValueLabel (const Field &field, int componentNumber, int basisNodeIndex, int nodeFunctionIndex, Node::ValueLabel nodeValueLabel) |
int | setMapNodeVersion (const Field &field, int componentNumber, int basisNodeIndex, int nodeFunctionIndex, int versionNumber) |
Node | getNode (int localNodeIndex) |
int | setNode (int localNodeIndex, const Node &node) |
A description of element shape and field definitions.
A description of element shape and field definitions (incl. basis, parameter mappings), used as a template for creating new elements in a mesh, or merging into an element to define additional fields on it.
|
inline |
Defines per element constant field or field component in the element_template.
field | The field to define. Must be finite_element type. |
componentNumber | The component to define from 1 to the number of field components, or -1 to define all components. |
|
inline |
Defines a nodally interpolated element field or field component in the element template. For Lagrange, simplex and constant basis function types there are as many nodes as basis functions and the single parameter per node has VALUE label. For Hermite bases with multiple functions per node, default parameters are expected in numerical order of the node value label e.g. for bicubic Hermite the first four functions are for the first node and expected in order: VALUE D_DS1 D_DS2 D2_DS1DS2. By default, versions are initialised to 1, and no scaling is used. In all cases local nodes cycle fastest in lowest element xi direction. Shape must be set before calling this function.
field | The field to define. Must be finite_element type. |
componentNumber | The component to define from 1 to the number of field components, or -1 to define all components with identical basis and nodal mappings. |
basis | The element basis to use for all field components. |
nodeIndexesCount | The number of nodes indexed by the basis, equals the size of the local_node_indexes array. |
nodeIndexesIn | Array containing the local node indexes of the nodes from which element field parameters are mapped, which range from 1 to the number of nodes set for the element_template. Local nodes are ordered by lowest xi coordinate varying fastest, e.g. for biquadratic Lagrange: xi = (0,0), (0.5,0), (1,0), (0,0.5), (0.5,0.5) ... |
|
inline |
Gets the current element shape type set in the element_template.
|
inline |
Return the C handle of the Elementtemplate object.
|
inline |
Gets the global node at a given local node index in the element_template. May only be called after the definition of element fields are complete and valid.
localNodeIndex | The index from 1 to number of nodes in template. |
|
inline |
Gets the number of local nodes this element_template can address.
|
inline |
Check if this is a valid Elementtemplate object.
|
inline |
Sets the element shape to a standard element shape type. The shape must have the same dimension as the mesh from which the element template was created. Special value CMZN_ELEMENT_SHAPE_TYPE_INVALID indicates an unspecified shape of known; when this is set in the template it does not override the shape of any elements it is merged into. Beware that face mappings are lost if shape changes are merged into global elements. Shape must be set before the template can set local nodes, create new elements and merge into existing elements.
shapeType | Enumeration of standard element shapes. |
|
inline |
For a field defined by node interpolation, sets the node value label (value or derivative) mapped to one function parameter in the element basis. Note that any values set by this function are reset if the field is re-defined at the node.
field | The field to modify mapping for. |
componentNumber | The component to modify mapping for, from 1 to the number of field components, or -1 to set all components identically. |
basisNodeIndex | The basis node index starting at 1, up to number used by basis. |
nodeFunctionIndex | The function index starting at 1, up to the number per node in the element basis. |
nodeValueLabel | The node value label to set. |
|
inline |
For a field defined by node interpolation, sets the version number of the value mapped to one function parameter in the element basis. Note that any values set by this function are reset if the field is re-defined at the node.
field | The field to modify mapping for. |
componentNumber | The component to modify mapping for, from 1 to the number of field components, or -1 to set all components identically. |
basisNodeIndex | The basis node index starting at 1, up to number used by basis. |
nodeFunctionIndex | The function index starting at 1, up to the number per node in the element basis. |
versionNumber | The version number to set, starting at 1. |
|
inline |
Sets the global node at a given local node index in the element_template. May only be called after the definition of element fields are complete and valid. Nodes are reset if new element fields are defined on the template.
localNodeIndex | The index from 1 to number of nodes in template. |
node | The global node to set at that index. |
|
inline |
Sets the number of local nodes this element_template can address. This must be done before defining fields that index them. This number cannot be reduced.
numberOfNodes | The number of nodes. |