OpenCMISS-Zinc C++ API Documentation
|
A description of element shape and field definitions. More...
#include <elementtemplate.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 | defineField (const Field &field, int componentNumber, const Elementfieldtemplate &eft) |
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) |
int | removeField (const Field &field) |
int | undefineField (const Field &field) |
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 |
Define the field component(s) on the element template using the element field template. The element template is not valid until all components are defined for all fields.
field | The field to define. May be finite element type only. |
componentNumber | The component to define from 1 to the number of field components, or -1 to define all components. |
eft | The element field template. Must be for mesh this element template was created from. |
|
inline |
Defines per element constant field or field component in the element_template.
field | The field to define. May be finite element type only. |
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. Do not use in combination with new general define field function.
field | The field to define. May be finite element type only. |
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 |
Get 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.
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 |
Removes field from list of fields to define or undefine in element template.
field | The field to remove. May be finite element type only. |
|
inline |
Set 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. Beware that face mappings are lost if shape changes are merged into elements.
shapeType | Standard element shapes enumerated value. Note can be INVALID which means the shape is not set when merged into an element, but new elements cannot be created unless they have a valid shape. |
|
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. Only to be used after define field simple nodal.
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. Only to be used after define field simple nodal.
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.
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. |
|
inline |
Marks field to be undefined when next merged into an existing element. Has no effect on newly created elements. Removes field from define list if present.
field | The field to undefine. May be finite element type only. |