10 #ifndef CMZN_MESH_HPP__    11 #define CMZN_MESH_HPP__    13 #include "opencmiss/zinc/mesh.h"    14 #include "opencmiss/zinc/field.hpp"    15 #include "opencmiss/zinc/element.hpp"    16 #include "opencmiss/zinc/elementfieldtemplate.hpp"    17 #include "opencmiss/zinc/elementtemplate.hpp"    18 #include "opencmiss/zinc/differentialoperator.hpp"    46     explicit Mesh(cmzn_mesh_id mesh_id) :   id(mesh_id)
    50         id(cmzn_mesh_access(mesh.id))
    57             cmzn_mesh_destroy(&
id);
    73         cmzn_mesh_id temp_id = cmzn_mesh_access(mesh.id);
    76             cmzn_mesh_destroy(&
id);
   109         return cmzn_mesh_contains_element(
id, element.
getId());
   163         return Element(cmzn_mesh_create_element(
id, identifier, elementTemplate.
getId()));
   197         return cmzn_mesh_define_element(
id, identifier, elementTemplate.
getId());
   208         return cmzn_mesh_destroy_all_elements(
id);
   221          return cmzn_mesh_destroy_element(
id, element.
getId());
   237         return cmzn_mesh_destroy_elements_conditional(
id,
   238             conditionalField.
getId());
   249         return Element(cmzn_mesh_find_element_by_identifier(
id, identifier));
   276         return cmzn_mesh_get_dimension(
id);
   294         return Mesh(cmzn_mesh_get_master_mesh(
id));
   306         return cmzn_mesh_get_name(
id);
   316         return cmzn_mesh_get_size(
id);
   321 inline bool operator==(
const Mesh& a, 
const Mesh& b)
   328     return Mesh(cmzn_element_get_mesh(
id));
   342     explicit MeshGroup(cmzn_mesh_group_id mesh_id) : 
Mesh(reinterpret_cast<cmzn_mesh_id>(mesh_id))
   355         return (cmzn_mesh_group_id)(id);
   368         return cmzn_mesh_group_add_element(
   369             reinterpret_cast<cmzn_mesh_group_id>(
id), element.
getId());
   384         return cmzn_mesh_group_add_elements_conditional(
   385             reinterpret_cast<cmzn_mesh_group_id>(
id), conditionalField.
getId());
   395         return cmzn_mesh_group_remove_all_elements(reinterpret_cast<cmzn_mesh_group_id>(
id));
   408         return cmzn_mesh_group_remove_element(reinterpret_cast<cmzn_mesh_group_id>(
id),
   424         return cmzn_mesh_group_remove_elements_conditional(
   425             reinterpret_cast<cmzn_mesh_group_id>(
id), conditionalField.
getId());
   432     return MeshGroup(cmzn_mesh_cast_group(
id));
   444     cmzn_meshchanges_id id;
   452     explicit Meshchanges(cmzn_meshchanges_id meshchanges_id) :
   457         id(cmzn_meshchanges_access(meshchanges.id))
   462         cmzn_meshchanges_id temp_id = cmzn_meshchanges_access(meshchanges.id);
   464             cmzn_meshchanges_destroy(&
id);
   472             cmzn_meshchanges_destroy(&
id);
   496         return cmzn_meshchanges_get_element_change_flags(
id, element.
getId());
   507         return cmzn_meshchanges_get_number_of_changes(
id);
   517         return cmzn_meshchanges_get_summary_element_change_flags(
id);
 int addElement(const Element &element)
Definition: mesh.hpp:366
 
A single finite element from a mesh. 
Definition: element.hpp:34
 
int addElementsConditional(const Field &conditionalField)
Definition: mesh.hpp:382
 
int destroyAllElements()
Definition: mesh.hpp:206
 
int defineElement(int identifier, const Elementtemplate &elementTemplate)
Definition: mesh.hpp:195
 
A set of basis functions that can apply over an element of a given dimension. 
Definition: elementbasis.hpp:28
 
Elementtemplate createElementtemplate()
Definition: mesh.hpp:144
 
Base field type: an abstraction of a mathematical field. 
Definition: field.hpp:51
 
Elementfieldtemplate createElementfieldtemplate(const Elementbasis &basis)
Definition: mesh.hpp:130
 
Differentialoperator getChartDifferentialoperator(int order, int term)
Definition: mesh.hpp:263
 
int removeAllElements()
Definition: mesh.hpp:393
 
Mesh getMesh() const 
Definition: mesh.hpp:326
 
cmzn_mesh_group_id getId() const 
Definition: mesh.hpp:353
 
int ChangeFlags
Definition: element.hpp:105
 
Describes the derivative of a field to evaluate. 
Definition: differentialoperator.hpp:26
 
Element::ChangeFlags getElementChangeFlags(const Element &element)
Definition: mesh.hpp:494
 
int removeElement(const Element &element)
Definition: mesh.hpp:406
 
cmzn_field_id getId() const 
Definition: field.hpp:103
 
An iterator for looping through all the elements in a mesh. 
Definition: element.hpp:423
 
MeshGroup castGroup()
Definition: mesh.hpp:430
 
Element findElementByIdentifier(int identifier)
Definition: mesh.hpp:247
 
A description of element shape and field definitions. 
Definition: elementtemplate.hpp:31
 
cmzn_element_id getId() const 
Definition: element.hpp:207
 
cmzn_mesh_id getId() const 
Definition: mesh.hpp:87
 
bool containsElement(const Element &element)
Definition: mesh.hpp:107
 
bool isValid() const 
Definition: mesh.hpp:480
 
int getSize()
Definition: mesh.hpp:314
 
bool isValid() const 
Definition: mesh.hpp:66
 
A subset of a master mesh. 
Definition: mesh.hpp:336
 
char * getName()
Definition: mesh.hpp:304
 
int destroyElementsConditional(const Field &conditionalField)
Definition: mesh.hpp:235
 
Container/manager of fields and domains within a region. 
Definition: fieldmodule.hpp:135
 
int destroyElement(const Element &element)
Definition: mesh.hpp:219
 
int getNumberOfChanges()
Definition: mesh.hpp:505
 
Mesh getMasterMesh()
Definition: mesh.hpp:292
 
cmzn_elementbasis_id getId() const 
Definition: elementbasis.hpp:122
 
Element::ChangeFlags getSummaryElementChangeFlags()
Definition: mesh.hpp:515
 
cmzn_elementtemplate_id getId() const 
Definition: elementtemplate.hpp:85
 
int removeElementsConditional(const Field &conditionalField)
Definition: mesh.hpp:422
 
The OpenCMISS namespace. 
Definition: context.hpp:20
 
Elementiterator createElementiterator()
Definition: mesh.hpp:178
 
Element createElement(int identifier, const Elementtemplate &elementTemplate)
Definition: mesh.hpp:161
 
A finite element mesh consisting of a set of elements of fixed dimension. 
Definition: mesh.hpp:34
 
int getDimension()
Definition: mesh.hpp:274
 
Fieldmodule getFieldmodule() const 
Definition: fieldmodule.hpp:1791
 
Object describing changes to a mesh in a fieldmoduleevent. 
Definition: mesh.hpp:440
 
A template defining field parameter mapping and interpolation over an element chart. 
Definition: elementfieldtemplate.hpp:39