9 #ifndef CMZN_FIELDTYPESFINITEELEMENT_HPP__
10 #define CMZN_FIELDTYPESFINITEELEMENT_HPP__
12 #include "zinc/fieldfiniteelement.h"
13 #include "zinc/field.hpp"
14 #include "zinc/fieldcache.hpp"
15 #include "zinc/fieldmodule.hpp"
16 #include "zinc/element.hpp"
39 Field(reinterpret_cast<cmzn_field_id>(field_finite_element_id))
49 return reinterpret_cast<cmzn_field_finite_element_id
>(this->id);
74 Node::ValueLabel nodeValueLabel,
int versionNumber,
int valuesCount,
double *valuesOut)
76 return cmzn_field_finite_element_get_node_parameters(this->
getDerivedId(),
77 cache.
getId(), componentNumber,
static_cast<cmzn_node_value_label
>(nodeValueLabel),
78 versionNumber, valuesCount, valuesOut);
103 Node::ValueLabel nodeValueLabel,
int versionNumber,
int valuesCount,
const double *valuesIn)
105 return cmzn_field_finite_element_set_node_parameters(this->
getDerivedId(),
106 cache.
getId(), componentNumber,
static_cast<cmzn_node_value_label
>(nodeValueLabel),
107 versionNumber, valuesCount, valuesIn);
126 const Field& sourceField);
135 Field(reinterpret_cast<cmzn_field_id>(field_edge_discontinuity_id))
145 return reinterpret_cast<cmzn_field_edge_discontinuity_id
>(id);
182 return Field(cmzn_field_edge_discontinuity_get_conditional_field(
getDerivedId()));
198 return cmzn_field_edge_discontinuity_set_conditional_field(
getDerivedId(), conditionalField.
getId());
225 return cmzn_field_edge_discontinuity_set_measure(
getDerivedId(),
226 static_cast<cmzn_field_edge_discontinuity_measure>(measure));
230 class FieldEmbedded :
public Field
241 explicit FieldEmbedded(cmzn_field_id field_id) : Field(field_id)
245 const Field& embeddedLocationField);
249 FieldEmbedded() : Field(0)
269 Field(reinterpret_cast<cmzn_field_id>(field_find_mesh_location_id))
297 return Mesh(cmzn_field_find_mesh_location_get_mesh(
298 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id)));
309 return static_cast<SearchMode>(cmzn_field_find_mesh_location_get_search_mode(
310 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id)));
322 return cmzn_field_find_mesh_location_set_search_mode(
323 reinterpret_cast<cmzn_field_find_mesh_location_id>(
id),
324 static_cast<cmzn_field_find_mesh_location_search_mode>(searchMode));
327 class FieldNodeValue :
public Field
337 explicit FieldNodeValue(cmzn_field_id field_id) : Field(field_id)
345 FieldNodeValue() : Field(0)
365 Field(reinterpret_cast<cmzn_field_id>(field_stored_mesh_location_id))
382 explicit FieldStoredString(cmzn_field_stored_string_id field_stored_string_id) :
383 Field(reinterpret_cast<cmzn_field_id>(field_stored_string_id))
420 cmzn_fieldmodule_create_field_finite_element(
id,numberOfComponents)));
429 const Field& sourceField)
432 cmzn_fieldmodule_create_field_edge_discontinuity(
id, sourceField.
getId())));
442 return FieldEmbedded(cmzn_fieldmodule_create_field_embedded(
id,
443 sourceField.
getId(), embeddedLocationField.
getId()));
447 const Field& sourceField,
const Field& meshField,
const Mesh& mesh)
450 cmzn_fieldmodule_create_field_find_mesh_location(
id, sourceField.
getId(), meshField.
getId(), mesh.
getId())));
461 return FieldNodeValue(cmzn_fieldmodule_create_field_node_value(
id,
462 sourceField.
getId(),
static_cast<cmzn_node_value_label
>(nodeValueLabel),
469 cmzn_fieldmodule_create_field_stored_mesh_location(
id, mesh.
getId())));
480 cmzn_fieldmodule_create_field_stored_string(
id)));
495 return FieldIsOnFace(cmzn_fieldmodule_create_field_is_on_face(
496 id, static_cast<cmzn_element_face_type>(face)));
Definition: fieldfiniteelement.hpp:166
FieldFiniteElement createFieldFiniteElement(int numberOfComponents)
Definition: fieldfiniteelement.hpp:417
A real-valued interpolated field.
Definition: fieldfiniteelement.hpp:30
ValueLabel
Definition: node.hpp:84
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:49
FieldStoredString castStoredString()
Definition: fieldfiniteelement.hpp:483
int setSearchMode(SearchMode searchMode)
Definition: fieldfiniteelement.hpp:320
int setMeasure(Measure measure)
Definition: fieldfiniteelement.hpp:223
FieldFindMeshLocation castFindMeshLocation()
Definition: fieldfiniteelement.hpp:453
FieldStoredMeshLocation createFieldStoredMeshLocation(const Mesh &mesh)
Definition: fieldfiniteelement.hpp:466
FieldEmbedded createFieldEmbedded(const Field &sourceField, const Field &embeddedLocationField)
Definition: fieldfiniteelement.hpp:440
FieldStoredString createFieldStoredString()
Definition: fieldfiniteelement.hpp:477
FieldFiniteElement castFiniteElement()
Definition: fieldfiniteelement.hpp:423
A field which stores and returns string values at nodes.
Definition: fieldfiniteelement.hpp:374
FieldNodeValue createFieldNodeValue(const Field &sourceField, Node::ValueLabel nodeValueLabel, int versionNumber)
Definition: fieldfiniteelement.hpp:458
A field which represents and returns node values/derivatives.
Definition: fieldfiniteelement.hpp:333
Definition: fieldfiniteelement.hpp:285
FieldEdgeDiscontinuity castEdgeDiscontinuity()
Definition: fieldfiniteelement.hpp:435
A field returning a value of a source field at an embedded location.
Definition: fieldfiniteelement.hpp:237
int getNodeParameters(const Fieldcache &cache, int componentNumber, Node::ValueLabel nodeValueLabel, int versionNumber, int valuesCount, double *valuesOut)
Definition: fieldfiniteelement.hpp:73
cmzn_field_finite_element_id getDerivedId()
Definition: fieldfiniteelement.hpp:47
cmzn_field_id getId() const
Definition: field.hpp:101
SearchMode
Definition: fieldfiniteelement.hpp:276
A field measuring discontinuity between surface elements.
Definition: fieldfiniteelement.hpp:122
Field getConditionalField()
Definition: fieldfiniteelement.hpp:180
Mesh getMesh()
Definition: fieldfiniteelement.hpp:295
A field storing locations within a mesh.
Definition: fieldfiniteelement.hpp:356
Definition: fieldfiniteelement.hpp:154
cmzn_field_edge_discontinuity_id getDerivedId()
Definition: fieldfiniteelement.hpp:143
Measure
Definition: fieldfiniteelement.hpp:152
FieldEdgeDiscontinuity createFieldEdgeDiscontinuity(const Field &sourceField)
Definition: fieldfiniteelement.hpp:428
cmzn_mesh_id getId() const
Definition: element.hpp:840
Definition: fieldfiniteelement.hpp:161
int setNodeParameters(const Fieldcache &cache, int componentNumber, Node::ValueLabel nodeValueLabel, int versionNumber, int valuesCount, const double *valuesIn)
Definition: fieldfiniteelement.hpp:102
FieldStoredMeshLocation castStoredMeshLocation()
Definition: fieldfiniteelement.hpp:472
Cache for setting domain locations at which fields are evaluated or assigned.
Definition: fieldcache.hpp:33
Definition: fieldfiniteelement.hpp:157
Definition: fieldfiniteelement.hpp:402
Definition: fieldfiniteelement.hpp:387
SearchMode getSearchMode()
Definition: fieldfiniteelement.hpp:307
Definition: fieldfiniteelement.hpp:278
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:787
Measure getMeasure()
Definition: fieldfiniteelement.hpp:209
Definition: fieldfiniteelement.hpp:281
A field that computes the location in a mesh.
Definition: fieldfiniteelement.hpp:260
int setConditionalField(const Field &conditionalField)
Definition: fieldfiniteelement.hpp:196
FieldFindMeshLocation createFieldFindMeshLocation(const Field &sourceField, const Field &meshField, const Mesh &mesh)
Definition: fieldfiniteelement.hpp:446