Top-level container for all mesh entities. More...
#include <cl_Mesh.hpp>
Public Member Functions | |
| Mesh (const uint aNumberOfDimensions, const proc_t aMasterProc=0, const bool aComputeConnectivities=true) | |
| creates an empty mesh container but specifies number of dimension | |
| Mesh (const string &aPath, const proc_t aMasterProc=0, const bool aComputeConnectivities=true, const bool aParallelMode=true) | |
| Reads a mesh from a file. | |
| Mesh (const uint aOrder, const Vector< index_t > aNumNodes, const Vector< real > aStep, const Vector< real > aOrigin={}, const proc_t aMasterProc=0) | |
| creates a tensor mesh of first, second or third order ( B-splines only for order > 1 ) | |
| void | scale_mesh (const real aFactor) |
| Multiplies the node and control-point coordinates by aFactor, e.g. | |
| ~Mesh () | |
| const string & | path () const |
| bool | is_tensormesh () const |
| const TensorMeshConfig * | tensorconf () const |
| void | save (const string &aFilePath) |
| Master rank only, a no-op elsewhere; the mesh must be finalized. | |
| uint | number_of_dimensions () const |
| void | set_number_of_dimensions (const uint &aNumberOfDimensions) |
| index_t | number_of_nodes () const |
| index_t | number_of_elements () const |
| index_t | number_of_facets () const |
| index_t | number_of_edges () const |
| index_t | number_of_faces () const |
| index_t | number_of_control_points () const |
| uint | number_of_blocks () const |
| uint | number_of_fields () const |
| uint | number_of_global_variables () const |
| mesh::Node * | node (const id_t aID) |
| mesh::Node * | node (const index_t i, const index_t j) |
| mesh::Node * | node (const index_t i, const index_t j, const index_t k) |
| mesh::Edge * | edge (const id_t aID) |
| mesh::Face * | face (const id_t aID) |
| bool | element_exists (const id_t aID) const |
| mesh::Element * | element (const id_t aID) |
| mesh::Element * | element (const index_t i, const index_t j) |
| mesh::Element * | element (const index_t i, const index_t j, const index_t k) |
| mesh::ControlPoint * | control_point (const id_t aID) |
| mesh::ControlPoint * | control_point (const index_t i, const index_t j) |
| mesh::ControlPoint * | control_point (const index_t i, const index_t j, const index_t k) |
| bool | facet_exists (const id_t aID) const |
| mesh::Facet * | facet (const id_t aID) |
| mesh::Block * | block (const id_t aID) |
| mesh::SideSet * | sideset (const id_t aID) |
| mesh::Element * | vertex (const id_t aID) |
| mesh::Basis * | basis_by_index (const EntityType aType, const index_t aIndex) |
| mesh::Basis * | basis (const EntityType aType, const id_t aID) |
| mesh::Field * | field (const string &aLabel) |
| get field by label | |
| mesh::Field * | field (const index_t aIndex) |
| bool | field_exists (const string &aLabel) |
| Vector< real > & | field_data (const string &aLabel) |
| Cell< mesh::GlobalVariable * > & | global_variables () |
| mesh::GlobalVariable * | global_variable (const id_t aID) |
| mesh::GlobalVariable * | global_variable (const string &aLabel) |
| real & | global_variable_data (const string &aLabel) |
| bool | global_variable_exists (const string &aLabel) |
| uint | number_of_sidesets () const |
| Cell< mesh::Node * > & | hanging_nodes () |
| Returns views of entities the mesh owns through the containers below. | |
| Cell< mesh::Edge * > & | hanging_edges () |
| Cell< mesh::Face * > & | hanging_faces () |
| Cell< mesh::Facet * > & | hanging_facets () |
| Cell< mesh::Element * > & | hanging_elements () |
| Cell< mesh::ControlPoint * > & | hanging_control_points () |
| index_t | number_of_hanging_basis () const |
| void | add_block (mesh::Block *aBlock) |
| Takes ownership of aBlock: ~Mesh deletes the block and, through it, its elements. | |
| void | add_sideset (mesh::SideSet *aSideSet) |
| Takes ownership of aSideSet: ~Mesh deletes the sideset and, through it, its facets. | |
| Vector< real > & | create_field (const string &aLabel, const EntityType aEntity=EntityType::NODE, const id_t aID=0) |
| real & | create_global_variable (const string &aLabel, const real aValue=0.0, const id_t aID=0) |
| void | collect_elements_from_blocks () |
| void | collect_facets_from_sidesets () |
| void | update_facet_nodes () |
| void | collect_elements_from_group (Cell< mesh::Element * > &aElements, const id_t aGroupId, const ElementType aType=ElementType::EMPTY) |
| void | compute_facet_orientations () |
| void | finalize () |
| finalizes all aspects of the mesh; edges and faces are finalized too when connectivities are computed | |
| bool | is_finalized () const |
| bool | edges_are_finalized () const |
| bool | faces_are_finalized () const |
| void | collect_hanging_basis () |
| void | expand_hanging_basis_sources () |
| void | unfinalize () |
| unfinalizes all aspects of mesh but edges | |
| void | finalize_edges () |
| void | finalize_edges (Cell< mesh::Element * > &aElements) |
| void | finalize_faces () |
| void | unflag_everything (const uint aFlagIndex=0) |
| void | unflag_all_nodes (const uint aFlagIndex=0) |
| void | unflag_all_edges (const uint aFlagIndex=0) |
| void | unflag_all_faces (const uint aFlagIndex=0) |
| void | unflag_all_facets (const uint aFlagIndex=0) |
| void | unflag_all_elements (const uint aFlagIndex=0) |
| void | unflag_all_vertices (const uint aFlagIndex=0) |
| void | unflag_all_control_points (const uint aFlagIndex=0) |
| Cell< mesh::Node * > & | nodes () |
| The nodes. | |
| Cell< mesh::Block * > & | blocks () |
| The mesh owns the blocks; a block owns and deletes its elements. | |
| bool | block_exists (const id_t aID) const |
| bool | sideset_exists (const id_t aID) const |
| bool | node_exists (const id_t aID) const |
| Cell< mesh::ThinShell * > & | thin_shells () |
| Owned and deleted by the mesh. | |
| Cell< mesh::Element * > & | elements () |
| A flat list of the elements of all blocks. | |
| Cell< mesh::Facet * > & | facets () |
| A flat list of the facets of all sidesets. | |
| Cell< mesh::ControlPoint * > & | control_points () |
| Owned and deleted by the mesh. | |
| Cell< mesh::SideSet * > & | sidesets () |
| The mesh owns the sidesets; a sideset owns and deletes its facets. | |
| Cell< mesh::Curve * > & | curves () |
| Owned and deleted by the mesh. | |
| mesh::Curve * | curve (const id_t aID) |
| return a curve by its ID | |
| void | create_curve_map () |
| Cell< mesh::Edge * > & | edges () |
| Owned and deleted by the mesh. | |
| Cell< mesh::Face * > & | faces () |
| Owned and deleted by the mesh. | |
| Cell< mesh::Element * > & | vertices () |
| Owned and deleted by the mesh. | |
| Cell< mesh::Element * > & | boundary_edges () |
| The line elements of a 3D Gmsh mesh; owned and deleted by the mesh. | |
| void | partition (const uint &aNumberOfPartitions, const bool aSetProcOwners=true, const bool aForceContinuousPartitions=true, const bool aResetVertexContainers=true) |
| Only the master rank partitions the mesh and sets the element and node ownerships. | |
| void | partition (const uint &aNumberOfPartitions, const Vector< id_t > &aSelectedBlocks, const bool aSetProcOwners=true, const bool aForceContinuousPartitions=false, const bool aResetVertexContainers=true) |
| partition the mesh and set element and node ownerships, but also pass selected blocks | |
| void | partition (const uint &aNumberOfPartitions, const Vector< id_t > &aSelectedBlocks, const Vector< id_t > &aSelectedSideSets, const bool aSetProcOwners=true, const bool aForceContinuousPartitions=false, const bool aResetVertexContainers=true) |
| partition the mesh and set element and node ownerships, but also pass selected blocks | |
| void | update_node_indices () |
| void | update_edge_indices () |
| void | update_face_indices () |
| void | update_facet_indices () |
| void | create_edges (const bool aPrint=false, const Vector< id_t > aNedelecBlocks=Vector< id_t >(), const Vector< id_t > aNedelecSideSets=Vector< id_t >(), const bool aCreateEdgesOnAllSideSets=true) |
| creates the edges on the mesh | |
| void | reset_edges () |
| void | create_faces (const bool aPrint=false, const Vector< id_t > aNedelecBlocks=Vector< id_t >(), const Vector< id_t > aNedelecSideSets=Vector< id_t >()) |
| creates the faces on the mesh | |
| void | reset_faces () |
| void | update_element_indices () |
| void | update_vertex_indices () |
| void | update_control_point_indices () |
| real & | time_stamp () |
| Writable reference to the current time [s]. | |
| const uint & | time_step () const |
| The current timestep index. | |
| uint & | time_step () |
| void | set_time_step (const uint aTimeStep) |
| set the index of the time step | |
| void | set_connectivity (const Connectivity aConnectivity) |
| void | reset_connectivity (const Connectivity aConnectivity) |
| bool | test_connectivity (const Connectivity aConnectivity) |
| const proc_t & | master () const |
| return the ID of the proc that owns this mesh | |
| void | update_ownerships () |
| void | set_vertex_owners () |
| void | set_number_of_partitions (const proc_t &aNumberOfPartitions) |
| to be called by partitioner | |
| bool | edges_exist () const |
| tells if Nedelec edges exist on this mesh | |
| bool | faces_exist () const |
| tells if Nedelec faces exist on this mesh | |
| void | create_edge_map () |
| special function called by Kernel | |
| void | create_face_map () |
| special function called by Kernel | |
| const uint & | max_element_order () const |
| return the max interpolation order on the mesh | |
| void | set_kernel_flag () |
| called by kernel | |
| bool | is_kernel_mesh () const |
| void | flag_curved_elements () |
| flags elements that are curved | |
| void | distribute_edge_directions () |
| Collective and asymmetric: every rank must enter; rank 0 distributes the per-owner edge signs, every other rank receives. | |
| void | save_faces (const string &aPath) |
| id_t | max_node_id () |
| id_t | max_element_id () |
| id_t | max_block_and_sideset_id () |
| void | set_abstract_nodes (Cell< mesh::Node * > &aNodes) |
| Adopts the nodes. | |
| Cell< mesh::Node * > & | autopins () |
| Cell< mesh::Node * > & | abstract_nodes () |
| Cell< mesh::Node * > & | orphaned_nodes () |
| std::size_t | checksum () |
| void | force_checksum (const std::size_t aChecksum) |
| void | set_config_tag (const uint64_t aTag, const string &aText) |
| uint64_t | config_tag () const |
| const string & | config_text () const |
| void | update_element_map () |
| void | update_block_map () |
| void | update_sideset_map () |
| id_t | max_node_id () const |
| id_t | max_element_id () const |
| Mesh * | extract_thin_shell_mesh () |
| Returns a newly allocated mesh the caller owns and deletes. | |
| void | populate_element_neighbors () |
| void | set_compute_facet_orientation_flag (const bool aFlag) |
| size_t | memory () const |
| Compute the total memory used by the mesh in bytes. | |
| bool | has_periodicity () const |
| mesh::Periodicity * | periodicity () |
| void | set_periodicity (mesh::Periodicity *aPeriodicity) |
| The mesh takes ownership and deletes aPeriodicity. | |
| void | save_meta (hid_t aFile, const uint aRunningTimestep=0) |
| uint | load_meta (hid_t aFile) |
| void | save_fields (hid_t aFile) |
| void | load_fields (hid_t aFile) |
| void | save_globals (hid_t aFile) |
| void | load_globals (hid_t aFile) |
| void | set_mesh_checker_flag () |
| void | reset_mesh_checker_flag () |
| bool | mesh_checker_flag () const |
Top-level container for all mesh entities.
| belfem::Mesh::Mesh | ( | const uint | aNumberOfDimensions, |
| const proc_t | aMasterProc = 0, | ||
| const bool | aComputeConnectivities = true ) |
creates an empty mesh container but specifies number of dimension
| belfem::Mesh::Mesh | ( | const string & | aPath, |
| const proc_t | aMasterProc = 0, | ||
| const bool | aComputeConnectivities = true, | ||
| const bool | aParallelMode = true ) |
Reads a mesh from a file.
Collective unless aParallelMode is false. Only the master rank reads the file; every other rank gets an empty mesh that knows the dimension count. Constructing it on a subset of ranks deadlocks.
| belfem::Mesh::Mesh | ( | const uint | aOrder, |
| const Vector< index_t > | aNumNodes, | ||
| const Vector< real > | aStep, | ||
| const Vector< real > | aOrigin = {}, | ||
| const proc_t | aMasterProc = 0 ) |
creates a tensor mesh of first, second or third order ( B-splines only for order > 1 )
| belfem::Mesh::~Mesh | ( | ) |
|
inline |
| void belfem::Mesh::add_block | ( | mesh::Block * | aBlock | ) |
Takes ownership of aBlock: ~Mesh deletes the block and, through it, its elements.
| void belfem::Mesh::add_sideset | ( | mesh::SideSet * | aSideSet | ) |
Takes ownership of aSideSet: ~Mesh deletes the sideset and, through it, its facets.
The facets are registered in the facet map.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The mesh owns the blocks; a block owns and deletes its elements.
|
inline |
The line elements of a 3D Gmsh mesh; owned and deleted by the mesh.
| std::size_t belfem::Mesh::checksum | ( | ) |
| void belfem::Mesh::collect_elements_from_blocks | ( | ) |
| void belfem::Mesh::collect_elements_from_group | ( | Cell< mesh::Element * > & | aElements, |
| const id_t | aGroupId, | ||
| const ElementType | aType = ElementType::EMPTY ) |
| void belfem::Mesh::collect_facets_from_sidesets | ( | ) |
| void belfem::Mesh::collect_hanging_basis | ( | ) |
| void belfem::Mesh::compute_facet_orientations | ( | ) |
| uint64_t belfem::Mesh::config_tag | ( | ) | const |
| const string & belfem::Mesh::config_text | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Owned and deleted by the mesh.
| void belfem::Mesh::create_curve_map | ( | ) |
| void belfem::Mesh::create_edge_map | ( | ) |
special function called by Kernel
| void belfem::Mesh::create_edges | ( | const bool | aPrint = false, |
| const Vector< id_t > | aNedelecBlocks = Vector< id_t >(), | ||
| const Vector< id_t > | aNedelecSideSets = Vector< id_t >(), | ||
| const bool | aCreateEdgesOnAllSideSets = true ) |
creates the edges on the mesh
| aPrint | : prints the result if flag is set |
| aNedelecBlocks | : blocks that carry edge dofs |
| aNedelecSideSets | : sidesets that carry edge dofs |
| aCreateEdgesOnAllSideSets | : also create edges on sidesets that are not listed in aNedelecSideSets |
| void belfem::Mesh::create_face_map | ( | ) |
special function called by Kernel
| void belfem::Mesh::create_faces | ( | const bool | aPrint = false, |
| const Vector< id_t > | aNedelecBlocks = Vector< id_t >(), | ||
| const Vector< id_t > | aNedelecSideSets = Vector< id_t >() ) |
creates the faces on the mesh
| aPrint | : prints the result if flag is set |
| aNedelecBlocks | : blocks that carry face dofs |
| aNedelecSideSets | : sidesets that carry face dofs |
| Vector< real > & belfem::Mesh::create_field | ( | const string & | aLabel, |
| const EntityType | aEntity = EntityType::NODE, | ||
| const id_t | aID = 0 ) |
| real & belfem::Mesh::create_global_variable | ( | const string & | aLabel, |
| const real | aValue = 0.0, | ||
| const id_t | aID = 0 ) |
|
inline |
return a curve by its ID
|
inline |
Owned and deleted by the mesh.
| void belfem::Mesh::distribute_edge_directions | ( | ) |
Collective and asymmetric: every rank must enter; rank 0 distributes the per-owner edge signs, every other rank receives.
|
inline |
|
inline |
Owned and deleted by the mesh.
|
inline |
|
inline |
tells if Nedelec edges exist on this mesh
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
A flat list of the elements of all blocks.
The blocks own and delete the elements; this container does not.
| void belfem::Mesh::expand_hanging_basis_sources | ( | ) |
| Mesh * belfem::Mesh::extract_thin_shell_mesh | ( | ) |
Returns a newly allocated mesh the caller owns and deletes.
|
inline |
|
inline |
Owned and deleted by the mesh.
|
inline |
|
inline |
tells if Nedelec faces exist on this mesh
|
inline |
|
inline |
|
inline |
A flat list of the facets of all sidesets.
The sidesets own and delete the facets; this container does not.
|
inline |
|
inline |
get field by label
|
inline |
| void belfem::Mesh::finalize | ( | ) |
finalizes all aspects of the mesh; edges and faces are finalized too when connectivities are computed
| void belfem::Mesh::finalize_edges | ( | ) |
| void belfem::Mesh::finalize_edges | ( | Cell< mesh::Element * > & | aElements | ) |
| void belfem::Mesh::finalize_faces | ( | ) |
| void belfem::Mesh::flag_curved_elements | ( | ) |
flags elements that are curved
| void belfem::Mesh::force_checksum | ( | const std::size_t | aChecksum | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns views of entities the mesh owns through the containers below.
These lists delete nothing.
|
inline |
|
inline |
|
inline |
|
inline |
| void belfem::Mesh::load_fields | ( | hid_t | aFile | ) |
| void belfem::Mesh::load_globals | ( | hid_t | aFile | ) |
|
inline |
return the ID of the proc that owns this mesh
| id_t belfem::Mesh::max_block_and_sideset_id | ( | ) |
| id_t belfem::Mesh::max_element_id | ( | ) |
| id_t belfem::Mesh::max_element_id | ( | ) | const |
|
inline |
return the max interpolation order on the mesh
| id_t belfem::Mesh::max_node_id | ( | ) |
| id_t belfem::Mesh::max_node_id | ( | ) | const |
| size_t belfem::Mesh::memory | ( | ) | const |
Compute the total memory used by the mesh in bytes.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The nodes.
This group of accessors returns entities the mesh owns and deletes. Elements and facets are the exception: their block or sideset owns them. Callers never delete them.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void belfem::Mesh::partition | ( | const uint & | aNumberOfPartitions, |
| const bool | aSetProcOwners = true, | ||
| const bool | aForceContinuousPartitions = true, | ||
| const bool | aResetVertexContainers = true ) |
Only the master rank partitions the mesh and sets the element and node ownerships.
Every other rank does nothing. This function is not collective.
| void belfem::Mesh::partition | ( | const uint & | aNumberOfPartitions, |
| const Vector< id_t > & | aSelectedBlocks, | ||
| const bool | aSetProcOwners = true, | ||
| const bool | aForceContinuousPartitions = false, | ||
| const bool | aResetVertexContainers = true ) |
partition the mesh and set element and node ownerships, but also pass selected blocks
| void belfem::Mesh::partition | ( | const uint & | aNumberOfPartitions, |
| const Vector< id_t > & | aSelectedBlocks, | ||
| const Vector< id_t > & | aSelectedSideSets, | ||
| const bool | aSetProcOwners = true, | ||
| const bool | aForceContinuousPartitions = false, | ||
| const bool | aResetVertexContainers = true ) |
partition the mesh and set element and node ownerships, but also pass selected blocks
|
inline |
|
inline |
| void belfem::Mesh::populate_element_neighbors | ( | ) |
|
inline |
| void belfem::Mesh::reset_edges | ( | ) |
| void belfem::Mesh::reset_faces | ( | ) |
|
inline |
| void belfem::Mesh::save | ( | const string & | aFilePath | ) |
Master rank only, a no-op elsewhere; the mesh must be finalized.
| void belfem::Mesh::save_faces | ( | const string & | aPath | ) |
| void belfem::Mesh::save_fields | ( | hid_t | aFile | ) |
| void belfem::Mesh::save_globals | ( | hid_t | aFile | ) |
| void belfem::Mesh::scale_mesh | ( | const real | aFactor | ) |
Multiplies the node and control-point coordinates by aFactor, e.g.
to convert from mm to m; a 2D mesh's stored third coordinate is reset to zero. BELFEM assumes SI units downstream.
| void belfem::Mesh::set_abstract_nodes | ( | Cell< mesh::Node * > & | aNodes | ) |
Adopts the nodes.
Those not already on the mesh are pushed into the owned node container and given indices. Every node field is resized. The mesh deletes them. Asserted to run only while the abstract-node list is empty.
|
inline |
| void belfem::Mesh::set_config_tag | ( | const uint64_t | aTag, |
| const string & | aText ) |
|
inline |
|
inline |
called by kernel
|
inline |
|
inline |
|
inline |
to be called by partitioner
|
inline |
The mesh takes ownership and deletes aPeriodicity.
|
inline |
set the index of the time step
| void belfem::Mesh::set_vertex_owners | ( | ) |
|
inline |
|
inline |
|
inline |
The mesh owns the sidesets; a sideset owns and deletes its facets.
|
inline |
|
inline |
|
inline |
Owned and deleted by the mesh.
|
inline |
Writable reference to the current time [s].
This is the value written to the output files.
|
inline |
|
inline |
The current timestep index.
| void belfem::Mesh::unfinalize | ( | ) |
unfinalizes all aspects of mesh but edges
| void belfem::Mesh::unflag_all_control_points | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_edges | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_elements | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_faces | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_facets | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_nodes | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_all_vertices | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::unflag_everything | ( | const uint | aFlagIndex = 0 | ) |
| void belfem::Mesh::update_block_map | ( | ) |
| void belfem::Mesh::update_control_point_indices | ( | ) |
| void belfem::Mesh::update_edge_indices | ( | ) |
| void belfem::Mesh::update_element_indices | ( | ) |
| void belfem::Mesh::update_element_map | ( | ) |
| void belfem::Mesh::update_face_indices | ( | ) |
| void belfem::Mesh::update_facet_indices | ( | ) |
| void belfem::Mesh::update_facet_nodes | ( | ) |
| void belfem::Mesh::update_node_indices | ( | ) |
| void belfem::Mesh::update_ownerships | ( | ) |
| void belfem::Mesh::update_sideset_map | ( | ) |
| void belfem::Mesh::update_vertex_indices | ( | ) |
|
inline |
|
inline |
Owned and deleted by the mesh.
|
protected |
|
protected |
Non-owning views onto nodes that mNodes owns and ~Mesh deletes. The abstract nodes of a cut are adopted into mNodes by the cut processor ( CutProcessor::collect_duplicates ) before the cut factory fills this list; set_abstract_nodes() is an alternate adopter that nothing in the tree calls.
|
protected |
|
protected |
|
protected |
the line elements of a 3D Gmsh mesh, owned and deleted by the mesh; empty in 2D, where the facets own them
|
protected |
|
protected |
|
protected |
|
protected |
fingerprint of the SETTINGS this mesh was enriched with ( cuts, thin shell layers, coating walls ). Opaque here on purpose: the mesh only carries it into and out of its file, the meaning belongs to whoever built the mesh. Zero means "not set", which is what every mesh that was never enriched from an input deck reports
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
flag telling if mesh is finalized (master only)
|
protected |
flag telling if this is a mesh on the kernel
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |