9 #ifndef CMZN_FIELDTYPESFINITEELEMENT_HPP__
10 #define CMZN_FIELDTYPESFINITEELEMENT_HPP__
12 #include "opencmiss/zinc/fieldfiniteelement.h"
13 #include "opencmiss/zinc/field.hpp"
14 #include "opencmiss/zinc/fieldcache.hpp"
15 #include "opencmiss/zinc/fieldmodule.hpp"
16 #include "opencmiss/zinc/element.hpp"
17 #include "opencmiss/zinc/node.hpp"
40 Field(reinterpret_cast<cmzn_field_id>(field_finite_element_id))
50 return reinterpret_cast<cmzn_field_finite_element_id
>(this->id);
75 Node::ValueLabel nodeValueLabel,
int versionNumber,
int valuesCount,
double *valuesOut)
77 return cmzn_field_finite_element_get_node_parameters(this->
getDerivedId(),
78 cache.
getId(), componentNumber,
static_cast<cmzn_node_value_label
>(nodeValueLabel),
79 versionNumber, valuesCount, valuesOut);
104 Node::ValueLabel nodeValueLabel,
int versionNumber,
int valuesCount,
const double *valuesIn)
106 return cmzn_field_finite_element_set_node_parameters(this->
getDerivedId(),
107 cache.
getId(), componentNumber,
static_cast<cmzn_node_value_label
>(nodeValueLabel),
108 versionNumber, valuesCount, valuesIn);
127 const Field& sourceField);
136 Field(reinterpret_cast<cmzn_field_id>(field_edge_discontinuity_id))
146 return reinterpret_cast<cmzn_field_edge_discontinuity_id
>(id);
183 return Field(cmzn_field_edge_discontinuity_get_conditional_field(
getDerivedId()));
199 return cmzn_field_edge_discontinuity_set_conditional_field(
getDerivedId(), conditionalField.
getId());
226 return cmzn_field_edge_discontinuity_set_measure(
getDerivedId(),
227 static_cast<cmzn_field_edge_discontinuity_measure>(measure));
231 class FieldEmbedded :
public Field
242 explicit FieldEmbedded(cmzn_field_id field_id) : Field(field_id)
246 const Field& embeddedLocationField);
250 FieldEmbedded() : Field(0)
270 Field(reinterpret_cast<cmzn_field_id>(field_find_mesh_location_id))
298 return Mesh(cmzn_field_find_mesh_location_get_mesh(
299 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id)));
310 return static_cast<SearchMode>(cmzn_field_find_mesh_location_get_search_mode(
311 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id)));
323 return cmzn_field_find_mesh_location_set_search_mode(
324 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id),
325 static_cast<cmzn_field_find_mesh_location_search_mode>(searchMode));
328 class FieldNodeValue :
public Field
338 explicit FieldNodeValue(cmzn_field_id field_id) : Field(field_id)
346 FieldNodeValue() : Field(0)
366 Field(reinterpret_cast<cmzn_field_id>(field_stored_mesh_location_id))
383 explicit FieldStoredString(cmzn_field_stored_string_id field_stored_string_id) :
384 Field(reinterpret_cast<cmzn_field_id>(field_stored_string_id))
387 class FieldIsExterior :
public Field
399 explicit FieldIsExterior(cmzn_field_id field_id) : Field(field_id)
406 FieldIsExterior() : Field(0)
409 class FieldIsOnFace :
public Field
421 explicit FieldIsOnFace(cmzn_field_id field_id) : Field(field_id)
428 FieldIsOnFace() : Field(0)
431 class FieldNodeLookup :
public Field
443 explicit FieldNodeLookup(cmzn_field_id field_id) : Field(field_id)
447 const Node& lookupNode);
451 FieldNodeLookup() : Field(0)
460 cmzn_fieldmodule_create_field_finite_element(
id,numberOfComponents)));
469 const Field& sourceField)
472 cmzn_fieldmodule_create_field_edge_discontinuity(
id, sourceField.
getId())));
482 return FieldEmbedded(cmzn_fieldmodule_create_field_embedded(
id,
483 sourceField.
getId(), embeddedLocationField.
getId()));
487 const Field& sourceField,
const Field& meshField,
const Mesh& mesh)
490 cmzn_fieldmodule_create_field_find_mesh_location(
id, sourceField.
getId(), meshField.
getId(), mesh.
getId())));
501 return FieldNodeValue(cmzn_fieldmodule_create_field_node_value(
id,
502 sourceField.
getId(),
static_cast<cmzn_node_value_label
>(nodeValueLabel),
509 cmzn_fieldmodule_create_field_stored_mesh_location(
id, mesh.
getId())));
520 cmzn_fieldmodule_create_field_stored_string(
id)));
535 return FieldIsOnFace(cmzn_fieldmodule_create_field_is_on_face(
536 id, static_cast<cmzn_element_face_type>(face)));
540 const Node& lookupNode)
543 id, sourceField.
getId(), lookupNode.
getId()));
Definition: fieldfiniteelement.hpp:167
FieldFiniteElement createFieldFiniteElement(int numberOfComponents)
Definition: fieldfiniteelement.hpp:457
A real-valued interpolated field.
Definition: fieldfiniteelement.hpp:31
ValueLabel
Definition: node.hpp:84
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:50
FieldStoredString castStoredString()
Definition: fieldfiniteelement.hpp:523
int setSearchMode(SearchMode searchMode)
Definition: fieldfiniteelement.hpp:321
int setMeasure(Measure measure)
Definition: fieldfiniteelement.hpp:224
FieldFindMeshLocation castFindMeshLocation()
Definition: fieldfiniteelement.hpp:493
FieldStoredMeshLocation createFieldStoredMeshLocation(const Mesh &mesh)
Definition: fieldfiniteelement.hpp:506
FieldIsOnFace createFieldIsOnFace(Element::FaceType face)
Definition: fieldfiniteelement.hpp:533
FieldEmbedded createFieldEmbedded(const Field &sourceField, const Field &embeddedLocationField)
Definition: fieldfiniteelement.hpp:480
FieldStoredString createFieldStoredString()
Definition: fieldfiniteelement.hpp:517
FieldFiniteElement castFiniteElement()
Definition: fieldfiniteelement.hpp:463
A field which stores and returns string values at nodes.
Definition: fieldfiniteelement.hpp:375
FieldNodeValue createFieldNodeValue(const Field &sourceField, Node::ValueLabel nodeValueLabel, int versionNumber)
Definition: fieldfiniteelement.hpp:498
A field which represents and returns node values/derivatives.
Definition: fieldfiniteelement.hpp:334
Definition: fieldfiniteelement.hpp:286
FieldIsExterior createFieldIsExterior()
Definition: fieldfiniteelement.hpp:528
FieldEdgeDiscontinuity castEdgeDiscontinuity()
Definition: fieldfiniteelement.hpp:475
A field returning a value of a source field at an embedded location.
Definition: fieldfiniteelement.hpp:238
int getNodeParameters(const Fieldcache &cache, int componentNumber, Node::ValueLabel nodeValueLabel, int versionNumber, int valuesCount, double *valuesOut)
Definition: fieldfiniteelement.hpp:74
cmzn_field_finite_element_id getDerivedId()
Definition: fieldfiniteelement.hpp:48
cmzn_field_id getId() const
Definition: field.hpp:102
SearchMode
Definition: fieldfiniteelement.hpp:277
A field measuring discontinuity between surface elements.
Definition: fieldfiniteelement.hpp:123
Field getConditionalField()
Definition: fieldfiniteelement.hpp:181
Mesh getMesh()
Definition: fieldfiniteelement.hpp:296
A field storing locations within a mesh.
Definition: fieldfiniteelement.hpp:357
Definition: fieldfiniteelement.hpp:155
cmzn_field_edge_discontinuity_id getDerivedId()
Definition: fieldfiniteelement.hpp:144
Measure
Definition: fieldfiniteelement.hpp:153
FieldEdgeDiscontinuity createFieldEdgeDiscontinuity(const Field &sourceField)
Definition: fieldfiniteelement.hpp:468
cmzn_mesh_id getId() const
Definition: element.hpp:844
Definition: fieldfiniteelement.hpp:162
cmzn_node_id getId() const
Definition: node.hpp:140
int setNodeParameters(const Fieldcache &cache, int componentNumber, Node::ValueLabel nodeValueLabel, int versionNumber, int valuesCount, const double *valuesIn)
Definition: fieldfiniteelement.hpp:103
FieldStoredMeshLocation castStoredMeshLocation()
Definition: fieldfiniteelement.hpp:512
Cache for setting domain locations at which fields are evaluated or assigned.
Definition: fieldcache.hpp:33
Definition: fieldfiniteelement.hpp:158
A field which returns 1 on 2-D faces and 1-D lines considered to lie on a specified face of their top...
Definition: fieldfiniteelement.hpp:417
A field which returns 1 on 2-D faces and 1-D lines considered as exterior to their top-level element...
Definition: fieldfiniteelement.hpp:395
SearchMode getSearchMode()
Definition: fieldfiniteelement.hpp:308
A field whose value equals source field calculated at the lookup node instead of the domain location ...
Definition: fieldfiniteelement.hpp:439
FieldNodeLookup createFieldNodeLookup(const Field &sourceField, const Node &lookupNode)
Definition: fieldfiniteelement.hpp:539
Point object used to represent finite element nodes.
Definition: node.hpp:38
Definition: fieldfiniteelement.hpp:279
cmzn_fieldcache_id getId() const
Definition: fieldcache.hpp:86
FaceType
Definition: element.hpp:284
A finite element mesh consisting of a set of elements of fixed dimension.
Definition: element.hpp:791
Measure getMeasure()
Definition: fieldfiniteelement.hpp:210
Definition: fieldfiniteelement.hpp:282
A field that computes the location in a mesh.
Definition: fieldfiniteelement.hpp:261
int setConditionalField(const Field &conditionalField)
Definition: fieldfiniteelement.hpp:197
FieldFindMeshLocation createFieldFindMeshLocation(const Field &sourceField, const Field &meshField, const Mesh &mesh)
Definition: fieldfiniteelement.hpp:486