MOAB: Mesh Oriented datABase
(version 5.4.1)
|
MsqVertex is the Mesquite object that stores information about the vertices in the mesh. More...
#include <MsqVertex.hpp>
Public Types | |
enum | FlagMaskID { MSQ_HARD_FIXED = 1 << 0, MSQ_DEPENDENT = 1 << 1, MSQ_CULLED = 1 << 2, MSQ_PATCH_FIXED = 1 << 3, MSQ_MARK = 1 << 4, MSQ_FIXED = ( MSQ_HARD_FIXED | MSQ_CULLED | MSQ_PATCH_FIXED ) } |
typedef unsigned char | FlagMask |
Public Member Functions | |
MsqVertex (double p_x, double p_y, double p_z) | |
Construct vertex using three doubles. | |
MsqVertex (const Vector3D &vec) | |
Construct vertex using Vector3D. | |
MsqVertex () | |
Construct default vertex with coordinates (0.0,0.0,0.0) | |
MsqVertex (const MsqVertex &rhs) | |
Construct default vertex with coordinates (0.0,0.0,0.0) | |
MsqVertex & | operator= (const Vector3D &rhs) |
Initializes with coordinates. Sets tag data/pointer to 0. | |
bool | is_free_vertex () const |
Returns true if vertex is ``free''. | |
void | set_soft_fixed_flag () |
void | remove_soft_fixed_flag () |
void | set_hard_fixed_flag () |
void | set_vertex_flag (FlagMaskID flag) |
void | remove_vertex_flag (FlagMaskID flag) |
bool | is_flag_set (FlagMaskID flag) const |
FlagMask | get_flags () const |
FlagMask & | flags () |
void | set_flags (FlagMask p_flags) |
Private Attributes | |
FlagMask | vertexBitFlags |
MsqVertex is the Mesquite object that stores information about the vertices in the mesh.
This class has no virtual destructor for performance reasons. !!! Make sure NOT to delete a MsqVertex object from a pointer to Vector3D !!!
Definition at line 51 of file MsqVertex.hpp.
typedef unsigned char MBMesquite::MsqVertex::FlagMask |
Definition at line 75 of file MsqVertex.hpp.
Those are the available flags... currently only return is_free. Developers: The values used in that enum are used by a bitset, so they have to be 2-based (2,4,8,16,32, ...)
Definition at line 82 of file MsqVertex.hpp.
{ MSQ_HARD_FIXED = 1 << 0, //!< vertex is always fixed. This can only be set on and never off. MSQ_DEPENDENT = 1 << 1, //!< higher-order node w/ position determined by mapping function MSQ_CULLED = 1 << 2, //!< vertex is fixed. This flag can be set on and off. MSQ_PATCH_FIXED = 1 << 3, //!< vertex is fixed only because it is on patch boundary (not by app request) MSQ_MARK = 1 << 4, //!< arbitrary mark for use by code - clear before using MSQ_FIXED = ( MSQ_HARD_FIXED | MSQ_CULLED | MSQ_PATCH_FIXED ) };
MBMesquite::MsqVertex::MsqVertex | ( | double | p_x, |
double | p_y, | ||
double | p_z | ||
) | [inline] |
Construct vertex using three doubles.
Definition at line 55 of file MsqVertex.hpp.
: Vector3D( p_x, p_y, p_z ), vertexBitFlags( 0 ) {}
MBMesquite::MsqVertex::MsqVertex | ( | const Vector3D & | vec | ) | [inline] |
Construct vertex using Vector3D.
Definition at line 58 of file MsqVertex.hpp.
: Vector3D( vec ), vertexBitFlags( 0 ) {}
MBMesquite::MsqVertex::MsqVertex | ( | ) | [inline] |
Construct default vertex with coordinates (0.0,0.0,0.0)
Definition at line 61 of file MsqVertex.hpp.
: Vector3D( 0, 0, 0 ), vertexBitFlags( 0 ) {}
MBMesquite::MsqVertex::MsqVertex | ( | const MsqVertex & | rhs | ) | [inline] |
Construct default vertex with coordinates (0.0,0.0,0.0)
Definition at line 64 of file MsqVertex.hpp.
: Vector3D( rhs ), vertexBitFlags( rhs.vertexBitFlags ) {}
FlagMask& MBMesquite::MsqVertex::flags | ( | ) | [inline] |
Definition at line 132 of file MsqVertex.hpp.
Referenced by MBMesquite::PatchData::update_slave_node_coordinates().
{ return vertexBitFlags; }
FlagMask MBMesquite::MsqVertex::get_flags | ( | ) | const [inline] |
Definition at line 127 of file MsqVertex.hpp.
Referenced by MBMesquite::VertexQM::get_vertex_evaluations(), and MBMesquite::MeshWriter::write_vtk().
{ return vertexBitFlags; }
bool MBMesquite::MsqVertex::is_flag_set | ( | FlagMaskID | flag | ) | const [inline] |
Definition at line 122 of file MsqVertex.hpp.
Referenced by PatchDataTest::check_higher_order_vertices_slaved(), MBMesquite::EdgeQM::get_edge_evaluations(), MBMesquite::MsqFreeVertexIndexIterator::next(), MsqVertexTest::test_flags(), PatchDataTest::test_quad8_patch(), and MBMesquite::PatchData::update_slave_node_coordinates().
{ return ( vertexBitFlags & flag ) != 0; }
bool MBMesquite::MsqVertex::is_free_vertex | ( | ) | const [inline] |
Returns true if vertex is ``free''.
Definition at line 92 of file MsqVertex.hpp.
Referenced by MBMesquite::TerminationCriterion::cull_vertices_global(), UnOptimizer::optimize_vertex_positions(), PatchDataTest::test_patch_contents(), and MBMesquite::MeshWriter::write_vtk().
{ return ( vertexBitFlags & ( MSQ_HARD_FIXED | MSQ_PATCH_FIXED ) ) == 0; }
Initializes with coordinates. Sets tag data/pointer to 0.
Reimplemented from MBMesquite::Vector3D.
Definition at line 67 of file MsqVertex.hpp.
References MBMesquite::Vector3D::operator=().
{ Vector3D::operator=( rhs ); return *this; }
void MBMesquite::MsqVertex::remove_soft_fixed_flag | ( | ) | [inline] |
Definition at line 102 of file MsqVertex.hpp.
{ vertexBitFlags &= ( ~MSQ_CULLED ); }
void MBMesquite::MsqVertex::remove_vertex_flag | ( | FlagMaskID | flag | ) | [inline] |
Definition at line 117 of file MsqVertex.hpp.
{ vertexBitFlags &= ( ~flag ); }
void MBMesquite::MsqVertex::set_flags | ( | FlagMask | p_flags | ) | [inline] |
Definition at line 137 of file MsqVertex.hpp.
Referenced by MBMesquite::TerminationCriterion::cull_vertices_global().
{ vertexBitFlags = p_flags; }
void MBMesquite::MsqVertex::set_hard_fixed_flag | ( | ) | [inline] |
Definition at line 107 of file MsqVertex.hpp.
Referenced by MsqVertexTest::test_flags().
{ vertexBitFlags |= MSQ_HARD_FIXED; }
void MBMesquite::MsqVertex::set_soft_fixed_flag | ( | ) | [inline] |
Definition at line 97 of file MsqVertex.hpp.
{ vertexBitFlags |= MSQ_CULLED; }
void MBMesquite::MsqVertex::set_vertex_flag | ( | FlagMaskID | flag | ) | [inline] |
Definition at line 112 of file MsqVertex.hpp.
{ vertexBitFlags |= flag; }
Definition at line 143 of file MsqVertex.hpp.