MeshLink
Computational geometry access
MeshModel Class Reference

3D (volume) mesh topology More...

#include <MeshModel.h>

Inheritance diagram for MeshModel:

Public Member Functions

 MeshModel (std::string &ref, MLINT mid, MLINT aref, MLINT gref, std::string &name)
 Construct with reference to Model entity in mesh data. More...
 
bool addPoint (MLINT i1, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, bool mapID)
 Add a MeshPoint to the MeshModel using index. More...
 
bool addPoint (std::string &ref, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, bool mapID)
 Add a MeshPoint to the MeshModel using reference. More...
 
MeshPointfindLowestTopoPointByInd (MLINT i1) const
 Find a point at the lowest topology level of the associativity data. More...
 
MeshPointfindHighestTopoPointByInd (MLINT i1) const
 Find a point at the highest topology level of the associativity data. More...
 
MeshPointfindPointByInd (MLINT i1) const
 Find a point in the MeshModel associativity data. More...
 
void deletePointByInd (MLINT i1)
 Delete an MeshPoint from the MeshModel by point index. More...
 
void deletePointByRef (const std::string &ref)
 Delete an MeshPoint from the MeshModel by application-defined reference. More...
 
void deletePointByRef (MLINT iref)
 Delete an MeshPoint from the MeshModel by application-defined integer reference. More...
 
MeshPointgetMeshPointByName (const std::string &name) const
 Return a MeshPoint witht the given name. More...
 
MeshPointgetMeshPointByID (MLINT id) const
 Return a MeshPoint witht the given ID. More...
 
MeshPointgetMeshPointByRef (const std::string &ref) const
 Return a MeshPoint witht the given reference. More...
 
StringArray getMeshPointRefs () const
 Return an array of all MeshPoint references in this model. More...
 
bool addEdge (MLINT i1, MLINT i2, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, bool mapID)
 Add a MeshEdge to the MeshModel using indices. More...
 
bool addEdge (std::string &ref, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, bool mapID)
 Add a MeshEdge to the MeshModel using reference. More...
 
void addEdgePoint (MLINT i1, MLINT mid, MLINT aref, MLINT gref, ParamVertex *pv1)
 Add a edge-point to the MeshModel. More...
 
void addFaceEdgePoint (MLINT i1, MLINT mid, MLINT aref, MLINT gref, ParamVertex *pv1)
 Add a face-edge-point to the MeshModel. More...
 
MeshPointfindEdgePointByInd (MLINT i1) const
 Find an edge-point in the MeshString associativity data. More...
 
MeshPointfindFaceEdgePointByInd (MLINT i1) const
 Find a face-edge-point in the MeshSheet associativity data. More...
 
void addFaceEdge (MLINT i1, MLINT i2, MLINT mid, MLINT aref, MLINT gref, ParamVertex *pv1, ParamVertex *pv2)
 Add a face-edge to the MeshModel. More...
 
MeshEdgegetMeshEdgeByName (const std::string &name) const
 Find a MeshEdge by name. More...
 
MeshEdgegetMeshEdgeByRef (const std::string &ref) const
 Find a MeshEdge by reference. More...
 
MeshEdgefindLowestTopoEdgeByInds (MLINT i1, MLINT i2) const
 Find an edge at the lowest topology level of the associativity data. More...
 
MeshEdgefindEdgeByInds (MLINT i1, MLINT i2) const
 Find an edge in the MeshString associativity data. More...
 
MeshEdgefindFaceEdgeByInds (MLINT i1, MLINT i2) const
 Find an edge in the MeshSheet associativity data. More...
 
void deleteEdgeByInds (MLINT i1, MLINT i2)
 Delete an MeshEdge from the MeshModel by point indices. More...
 
void deleteEdgeByRef (const std::string &ref)
 Delete an MeshEdge from the MeshModel by application-defined reference. More...
 
void deleteEdgeByRef (MLINT iref)
 Delete an MeshEdge from the MeshModel by application-defined integer reference. More...
 
bool addFace (MLINT i1, MLINT i2, MLINT i3, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, bool mapID)
 Add a triangular MeshFace to the MeshModel using indices. More...
 
bool addFace (std::string &ref, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, bool mapID)
 Add a triangular MeshFace to the MeshModel using reference. More...
 
bool addFace (MLINT i1, MLINT i2, MLINT i3, MLINT i4, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, ParamVertex *pv4, bool mapID)
 Add a quadrilateral MeshFace to the MeshModel using indices. More...
 
bool addFace (std::string &ref, MLINT mid, MLINT aref, MLINT gref, std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, ParamVertex *pv4, bool mapID)
 Add a quadrilateral MeshFace to the MeshModel using reference. More...
 
MeshFacefindFaceByInds (MLINT i1, MLINT i2, MLINT i3, MLINT i4=MESH_TOPO_INDEX_UNUSED)
 Find a (triangular or quadrilateral) face in the MeshSheet associativity data. More...
 
void deleteFaceByInds (MLINT i1, MLINT i2, MLINT i3, MLINT i4=MESH_TOPO_INDEX_UNUSED)
 Delete an MeshFace from the MeshModel using indices. More...
 
void deleteFaceByRef (const std::string &ref)
 Delete an MeshFace from the MeshModel using reference. More...
 
void deleteFaceByRef (MLINT iref)
 Delete an MeshFace from the MeshModel using reference. More...
 
MeshFacegetMeshFaceByName (const std::string &name) const
 Find a MeshFace in the MeshModel using name. More...
 
MeshFacegetMeshFaceByRef (const std::string &ref) const
 Find a MeshFace in the MeshModel using reference. More...
 
MLINT getNumEdges () const
 Return the number of edges in the MeshModel. More...
 
MLINT getNumFaces () const
 Return the number of faces in the MeshModel. More...
 
bool addMeshString (MeshString *meshString, bool mapID=false)
 Add a MeshString to the MeshModel. More...
 
MeshStringgetMeshStringByID (MLINT id) const
 Find a MeshString by ID. More...
 
MeshStringgetMeshStringByName (const std::string &name) const
 Find a MeshString by name. More...
 
MeshStringgetMeshStringByRef (const std::string &ref) const
 Find a MeshString by reference. More...
 
bool addMeshSheet (MeshSheet *meshSheet, bool mapID=false)
 Add a MeshSheet to the MeshModel. More...
 
MeshSheetgetMeshSheetByID (MLINT id) const
 Find a MeshSheet by ID. More...
 
MeshSheetgetMeshSheetByName (const std::string &name) const
 Find a MeshSheet by name. More...
 
MeshSheetgetMeshSheetByRef (const std::string &ref) const
 Find a MeshSheet by reference. More...
 
void getMeshEdges (std::vector< const MeshEdge * > &edges) const
 Return list of MeshEdge in the MeshModel. More...
 
void getMeshFaces (std::vector< const MeshFace * > &faces) const
 Return list of all MeshFace in the MeshModel. More...
 
void getMeshStrings (std::vector< MeshString * > &strings) const
 Return list of MeshString in the MeshModel. More...
 
size_t getMeshStringCount () const
 Return count of MeshString in the MeshModel. More...
 
void getMeshSheets (std::vector< MeshSheet * > &sheets) const
 Return list of all MeshSheet in the MeshModel. More...
 
size_t getMeshSheetCount () const
 Return count of MeshSheets in the MeshModel. More...
 
 ~MeshModel ()
 Destructor. More...
 
virtual const std::string & getBaseName () const
 Return the unique base name for this model. More...
 
virtual MLUINTgetNameCounter ()
 Return the current value of the unique base name counter. More...
 
- Public Member Functions inherited from MeshTopo
 MeshTopo (MLINT mid, MLINT aref, MLINT gref, const std::string &name)
 Construct without application-defined reference. More...
 
 MeshTopo (const std::string &ref, MLINT mid, MLINT aref, MLINT gref, const std::string &name)
 Construct with application-defined reference to entity in mesh data. More...
 
virtual MLINT getID () const
 Return the ID of this MeshTopo. More...
 
virtual MLINT getGref () const
 Return the GID of GeometryGroup associated with this MeshTopo. More...
 
virtual MLINT getAref () const
 Return the AttID of MeshLinkAttribute associated with this MeshTopo. More...
 
virtual void getName (const char **name) const
 Return the name of this MeshTopo. More...
 
virtual const std::string & getName () const
 Return the name of this MeshTopo. More...
 
virtual const std::string & getRef () const
 Return the application-defined mesh data reference of this MeshTopo. More...
 
virtual void addParamVertex (ParamVertex *pv, bool mapID)
 Add a ParamVertex. More...
 
virtual ParamVertexgetParamVertByVref (const std::string &vref) const
 Find a ParamVertex by vertex reference. More...
 
virtual ParamVertexgetParamVertByID (MLINT id) const
 Find a ParamVertex by ID. More...
 
virtual MLINT getNumParamVerts () const
 Return the number of ParamVertex objects for this MeshTopo. More...
 
void getParamVerts (std::vector< const ParamVertex * > &pv) const
 Return vector of ParamVertex objects for this MeshTopo. More...
 
virtual const ParamVertVrefMapgetParamVertVrefMap () const
 Return the map of application-defined reference string to ParamVertex objects for this MeshTopo. More...
 
virtual void setID (MLINT id)
 Set the ID of this MeshTopo. More...
 
virtual void setGref (MLINT gref)
 Set the GeometryGroup GID referenced by this MeshTopo. More...
 
virtual void setAref (MLINT aref)
 Set the MeshLinkAttribute AttID referenced by this MeshTopo. More...
 
virtual void setRef (const char *ref)
 Set the reference of this MeshTopo. More...
 
void setName (const std::string &name)
 Set the name of this MeshTopo. More...
 
void setName (const char *name)
 Set the name of this MeshTopo. More...
 
bool hasID () const
 Whether the MeshTopo has an ID defined. More...
 
bool hasGref () const
 Whether the MeshTopo has a GeometryGroup GID reference defined. More...
 
bool hasAref () const
 Whether the MeshTopo has a MeshLinkAttribute AttID reference defined. More...
 
std::vector< MLINTgetAttributeIDs (const MeshAssociativity &meshAssoc) const
 Return list of MeshLinkAttribute AttIDs referenced by the MeshTopo. More...
 
std::string getNextName ()
 Generate and return a unique name for the entity. More...
 
void setOrderCounter (MLUINT counter)
 Set order counter (in parent topo) More...
 
MLUINT getOrderCounter () const
 Returns order counter (in parent topo) More...
 
 MeshTopo ()
 Default constructor. More...
 
 ~MeshTopo ()
 Destructor. More...
 

Private Member Functions

 MeshModel ()
 Hidden default constructor. More...
 

Private Attributes

std::map< pwiFnvHash::FNVHash, MeshPoint * > pointMap_
 Map point index hash to MeshPoint. More...
 
MeshPointNameMap meshPointNameMap_
 Map MeshPoint name to unique ID. More...
 
MeshTopoIDToNameMap meshPointIDToNameMap_
 Map MeshPoint unique ID to name. More...
 
MeshTopoRefToNameMap meshPointRefToNameMap_
 Map MeshPoint application-defined reference string to name. More...
 
std::map< pwiFnvHash::FNVHash, MeshEdge * > edgeMap_
 Map edge indices hash to edge. More...
 
MeshEdgeNameMap meshEdgeNameMap_
 Map MeshEdge name to unique ID. More...
 
MeshTopoIDToNameMap meshEdgeIDToNameMap_
 Map MeshEdge name to unique ID. More...
 
MeshTopoRefToNameMap meshEdgeRefToNameMap_
 Map MeshEdge application-defined reference string to name. More...
 
std::map< pwiFnvHash::FNVHash, MeshPoint * > edgePointMap_
 Map edge-point index hash to MeshPoint. More...
 
std::map< pwiFnvHash::FNVHash, MeshPoint * > faceEdgePointMap_
 Map face-edge-point index hash to MeshPoint. More...
 
std::map< pwiFnvHash::FNVHash, MeshEdge * > faceEdgeMap_
 Map face-edge index hash to MeshEdge. More...
 
std::map< pwiFnvHash::FNVHash, MeshFace * > faceMap_
 Map face index hash to MeshFace. More...
 
MeshFaceNameMap meshFaceNameMap_
 Map MeshFace name to unique ID. More...
 
MeshTopoIDToNameMap meshFaceIDToNameMap_
 Map MeshFace unique ID to name. More...
 
MeshTopoRefToNameMap meshFaceRefToNameMap_
 Map MeshFace application-defined reference string to name. More...
 
MeshStringNameMap meshStringNameMap_
 Map MeshString name to unique ID. More...
 
MeshTopoIDToNameMap meshStringIDToNameMap_
 Map MeshString unique ID to name. More...
 
MeshTopoRefToNameMap meshStringRefToNameMap_
 Map MeshString application-defined reference string to name. More...
 
MeshSheetNameMap meshSheetNameMap_
 Map MeshSheet name to unique ID. More...
 
MeshTopoIDToNameMap meshSheetIDToNameMap_
 Map MeshSheet unique ID to name. More...
 
MeshTopoRefToNameMap meshSheetRefToNameMap_
 Map MeshSheet application-defined reference string to name. More...
 

Static Private Attributes

static MLUINT nameCounter_
 unique name counter, global for all MeshTopo object names More...
 

Friends

class MeshAssociativity
 

Additional Inherited Members

- Static Public Member Functions inherited from MeshTopo
static bool OrderCompare (const MeshTopo *topo1, const MeshTopo *topo2)
 
- Protected Attributes inherited from MeshTopo
std::string ref_
 The application-defined reference string. More...
 
MLINT mid_
 The unique entity ID. More...
 
MLINT aref_
 The attribute reference ID (AttID) More...
 
MLINT gref_
 The geometry reference ID. More...
 
std::string name_
 The name of the mesh entity. More...
 
MLUINT orderCounter_
 creation order counter in parent entity More...
 
ParamVertVrefMap paramVertVrefMap_
 ParamVertex objects mapped to this entity by application-defined reference string. More...
 
ParamVertIDToVrefMap paramVertIDToVrefMap_
 ParamVertex objects mapped to this entity by unique entity ID. More...
 

Detailed Description

3D (volume) mesh topology

Provides access to MeshLink schema MeshModel data and is a container for MeshString and MeshSheet objects.

Definition at line 38 of file MeshModel.h.

Constructor & Destructor Documentation

◆ MeshModel() [1/2]

MeshModel::MeshModel ( std::string &  ref,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name 
)

Construct with reference to Model entity in mesh data.

Parameters
refthe application-defined reference string
midthe model ID
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe model name

◆ ~MeshModel()

MeshModel::~MeshModel ( )

Destructor.

◆ MeshModel() [2/2]

MeshModel::MeshModel ( )
inlineprivate

Hidden default constructor.

Definition at line 519 of file MeshModel.h.

Member Function Documentation

◆ addEdge() [1/2]

bool MeshModel::addEdge ( MLINT  i1,
MLINT  i2,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
bool  mapID 
)

Add a MeshEdge to the MeshModel using indices.

MeshEdges belong to MeshStrings, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1,i2point indices defining an edge
midunique ID of edge
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the edge (a unique name will be generated if empty)
pv1the ParamVertex for the starting point, if any
pv2the ParamVertex for the ending point, if any
mapIDwhether to record the mapping of unique ID to name

◆ addEdge() [2/2]

bool MeshModel::addEdge ( std::string &  ref,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
bool  mapID 
)

Add a MeshEdge to the MeshModel using reference.

MeshEdges belong to MeshStrings, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
refthe application-defined reference data for the edge
midunique ID of edge
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the edge (a unique name will be generated if empty)
pv1the ParamVertex for the starting point, if any
pv2the ParamVertex for the ending point, if any
mapIDwhether to record the mapping of unique ID to name

◆ addEdgePoint()

void MeshModel::addEdgePoint ( MLINT  i1,
MLINT  mid,
MLINT  aref,
MLINT  gref,
ParamVertex pv1 
)

Add a edge-point to the MeshModel.

Edge-points are created when a MeshEdge is added to a MeshString. They belong to MeshStrings, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1index of edge point
midunique ID of edge point
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
pv1the ParamVertex for the edge point, if any

◆ addFace() [1/4]

bool MeshModel::addFace ( MLINT  i1,
MLINT  i2,
MLINT  i3,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
ParamVertex pv3,
bool  mapID 
)

Add a triangular MeshFace to the MeshModel using indices.

MeshFaces belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1,i2,i3the point indices of the triangular face to add
midunique ID of face
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the triangular face to add
pv1,pv2,pv3(optional) the ParamVertex objects associated with the face points
mapIDwhether to record the mapping of unique ID to name

◆ addFace() [2/4]

bool MeshModel::addFace ( std::string &  ref,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
ParamVertex pv3,
bool  mapID 
)

Add a triangular MeshFace to the MeshModel using reference.

MeshFaces belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
refthe application-defined reference of the face to add
midunique ID of face
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the triangular face to add
pv1,pv2,pv3(optional) the ParamVertex objects associated with the face points
mapIDwhether to record the mapping of unique ID to name

◆ addFace() [3/4]

bool MeshModel::addFace ( MLINT  i1,
MLINT  i2,
MLINT  i3,
MLINT  i4,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
ParamVertex pv3,
ParamVertex pv4,
bool  mapID 
)

Add a quadrilateral MeshFace to the MeshModel using indices.

MeshFaces belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1,i2,i3,i4the point indices of the quadrilateral face to add
midunique ID of face
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the quadrilateral face to add
pv1,pv2,pv3,pv4(optional) the ParamVertex objects associated with the face points
mapIDwhether to record the mapping of unique ID to name

◆ addFace() [4/4]

bool MeshModel::addFace ( std::string &  ref,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
ParamVertex pv2,
ParamVertex pv3,
ParamVertex pv4,
bool  mapID 
)

Add a quadrilateral MeshFace to the MeshModel using reference.

MeshFaces belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
refthe application-defined reference of the face to add
midunique ID of face
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
namethe name of the quadrilateral face to add
pv1,pv2,pv3,pv4(optional) the ParamVertex objects associated with the face points
mapIDwhether to record the mapping of unique ID to name

◆ addFaceEdge()

void MeshModel::addFaceEdge ( MLINT  i1,
MLINT  i2,
MLINT  mid,
MLINT  aref,
MLINT  gref,
ParamVertex pv1,
ParamVertex pv2 
)

Add a face-edge to the MeshModel.

Face-edges are created when a MeshFace is added to a MeshSheet. They belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1,i2the starting point index of the face-edge
midunique ID of face edge
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
pv1,pv2(optional) the ParamVertex objects associated with the face-edge points

◆ addFaceEdgePoint()

void MeshModel::addFaceEdgePoint ( MLINT  i1,
MLINT  mid,
MLINT  aref,
MLINT  gref,
ParamVertex pv1 
)

Add a face-edge-point to the MeshModel.

Face-edge-points are created when a MeshFace is added to a MeshSheet. They belong to MeshSheets, however, adding them to the model is useful for access patterns when working with a MeshModel.

Parameters
i1index of face edge point
midunique ID of face edge point
arefthe attribute reference ID (AttID)
grefthe geometry reference ID
pv1the ParamVertex for the face edge point, if any

◆ addMeshSheet()

bool MeshModel::addMeshSheet ( MeshSheet meshSheet,
bool  mapID = false 
)

Add a MeshSheet to the MeshModel.

Parameters
meshSheetthe MeshSheet to add
mapIDwhether to map the unique ID of the MeshSheet to its name

◆ addMeshString()

bool MeshModel::addMeshString ( MeshString meshString,
bool  mapID = false 
)

Add a MeshString to the MeshModel.

Parameters
meshStringthe MeshString to add
mapIDwhether to map the ID of the MeshString to its unique name

◆ addPoint() [1/2]

bool MeshModel::addPoint ( MLINT  i1,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
bool  mapID 
)

Add a MeshPoint to the MeshModel using index.

Parameters
i1the uniuque point index
midthe ID of the point
arefthe point attribute reference ID (AttID)
grefthe point geometry reference ID
namethe point name
pv1the ParamVertex parametric location of the point
mapIDindicates whether to map the ID to the point name

◆ addPoint() [2/2]

bool MeshModel::addPoint ( std::string &  ref,
MLINT  mid,
MLINT  aref,
MLINT  gref,
std::string &  name,
ParamVertex pv1,
bool  mapID 
)

Add a MeshPoint to the MeshModel using reference.

Parameters
refthe application-defined reference string
midthe ID of the point
arefthe point attribute reference ID (AttID)
grefthe point geometry reference ID
namethe point name (a unique name will be generated if empty)
pv1the ParamVertex parametric location of the point
mapIDindicates whether to map the ID to the point name

◆ deleteEdgeByInds()

void MeshModel::deleteEdgeByInds ( MLINT  i1,
MLINT  i2 
)

Delete an MeshEdge from the MeshModel by point indices.

Removes MeshEdge and face-edge from the MeshModel. Removes the MeshEdge from the MeshModel only, MeshString and MeshSheet data is unchanged.

Parameters
i1,i2indices of the points defining the edge to delete

◆ deleteEdgeByRef() [1/2]

void MeshModel::deleteEdgeByRef ( const std::string &  ref)

Delete an MeshEdge from the MeshModel by application-defined reference.

Parameters
refapplication-defined reference of the edge to delete
See also
MeshModel.deleteEdgeByInds

◆ deleteEdgeByRef() [2/2]

void MeshModel::deleteEdgeByRef ( MLINT  iref)

Delete an MeshEdge from the MeshModel by application-defined integer reference.

Parameters
irefapplication-defined integer reference of the edge to delete
See also
MeshModel.deleteEdgeByInds

◆ deleteFaceByInds()

void MeshModel::deleteFaceByInds ( MLINT  i1,
MLINT  i2,
MLINT  i3,
MLINT  i4 = MESH_TOPO_INDEX_UNUSED 
)

Delete an MeshFace from the MeshModel using indices.

Removes MeshFace from the MeshModel only. MeshSheet data is unchanged.

Parameters
i1,i2,i3the point indices of the triangular or quadrilateral face to delete
i4(optional) the index of the fourth point of the quadrilateral face to delete

◆ deleteFaceByRef() [1/2]

void MeshModel::deleteFaceByRef ( const std::string &  ref)

Delete an MeshFace from the MeshModel using reference.

Removes MeshFace from the MeshModel only. MeshSheet data is unchanged.

Parameters
refthe application-defined reference of the face to delete

◆ deleteFaceByRef() [2/2]

void MeshModel::deleteFaceByRef ( MLINT  iref)

Delete an MeshFace from the MeshModel using reference.

Removes MeshFace from the MeshModel only. MeshSheet data is unchanged.

Parameters
irefthe application-defined integer reference of the face to delete

◆ deletePointByInd()

void MeshModel::deletePointByInd ( MLINT  i1)

Delete an MeshPoint from the MeshModel by point index.

Removes MeshPoint, edge-point, and face-edge-point from the MeshModel.

Removes the MeshPoint from the MeshModel only, MeshString and MeshSheet data is unchanged.

Parameters
i1the index of the point to delete

◆ deletePointByRef() [1/2]

void MeshModel::deletePointByRef ( const std::string &  ref)

Delete an MeshPoint from the MeshModel by application-defined reference.

Parameters
refthe application-defined reference of the point to delete
See also
MeshModel.deletePointByInd

◆ deletePointByRef() [2/2]

void MeshModel::deletePointByRef ( MLINT  iref)

Delete an MeshPoint from the MeshModel by application-defined integer reference.

Parameters
irefthe application-defined integer reference of the point to delete
See also
MeshModel.deletePointByInd

◆ findEdgeByInds()

MeshEdge* MeshModel::findEdgeByInds ( MLINT  i1,
MLINT  i2 
) const

Find an edge in the MeshString associativity data.

Search is restricted to the MeshString topology level

Parameters
i1,i2the indices of the points defining the desired string edge

◆ findEdgePointByInd()

MeshPoint* MeshModel::findEdgePointByInd ( MLINT  i1) const

Find an edge-point in the MeshString associativity data.

Search is restricted to the MeshString topology level

Parameters
i1the index of the desired edge-point

◆ findFaceByInds()

MeshFace* MeshModel::findFaceByInds ( MLINT  i1,
MLINT  i2,
MLINT  i3,
MLINT  i4 = MESH_TOPO_INDEX_UNUSED 
)

Find a (triangular or quadrilateral) face in the MeshSheet associativity data.

Parameters
i1,i2,i3the point indices of the desired triangular or quadrilateral face
i4(optional) the index of the fourth point of the desired quadrilateral face

◆ findFaceEdgeByInds()

MeshEdge* MeshModel::findFaceEdgeByInds ( MLINT  i1,
MLINT  i2 
) const

Find an edge in the MeshSheet associativity data.

Search is restricted to the MeshSheet topology level

Parameters
i1,i2the indices of the points defining the desired face-edge

◆ findFaceEdgePointByInd()

MeshPoint* MeshModel::findFaceEdgePointByInd ( MLINT  i1) const

Find a face-edge-point in the MeshSheet associativity data.

Search is restricted to the MeshSheet topology level

Parameters
i1the index of the desired face-edge-point

◆ findHighestTopoPointByInd()

MeshPoint* MeshModel::findHighestTopoPointByInd ( MLINT  i1) const

Find a point at the highest topology level of the associativity data.

Searches MeshModel, MeshSheet, MeshString topology levels in that order

Parameters
i1The index of the desired MeshPoint

◆ findLowestTopoEdgeByInds()

MeshEdge* MeshModel::findLowestTopoEdgeByInds ( MLINT  i1,
MLINT  i2 
) const

Find an edge at the lowest topology level of the associativity data.

Searches MeshString and MeshSheet topology levels in that order

Parameters
i1,i2the indices of the points defining the desired string or sheet edge

◆ findLowestTopoPointByInd()

MeshPoint* MeshModel::findLowestTopoPointByInd ( MLINT  i1) const

Find a point at the lowest topology level of the associativity data.

Searches MeshString, MeshSheet, MeshModel topology levels in that order

Parameters
i1the index of the desired MeshPoint

◆ findPointByInd()

MeshPoint* MeshModel::findPointByInd ( MLINT  i1) const

Find a point in the MeshModel associativity data.

Search is restricted to the MeshModel topology level

Parameters
i1The index of the desired MeshPoint

◆ getBaseName()

virtual const std::string& MeshModel::getBaseName ( ) const
virtual

Return the unique base name for this model.

Reimplemented from MeshTopo.

◆ getMeshEdgeByName()

MeshEdge* MeshModel::getMeshEdgeByName ( const std::string &  name) const

Find a MeshEdge by name.

Parameters
namethe name of the desired edge

◆ getMeshEdgeByRef()

MeshEdge* MeshModel::getMeshEdgeByRef ( const std::string &  ref) const

Find a MeshEdge by reference.

Parameters
refthe application-defined reference of the desired edge

◆ getMeshEdges()

void MeshModel::getMeshEdges ( std::vector< const MeshEdge * > &  edges) const

Return list of MeshEdge in the MeshModel.

Return will include all MeshEdge objects from all MeshString objects in this model

◆ getMeshFaceByName()

MeshFace* MeshModel::getMeshFaceByName ( const std::string &  name) const

Find a MeshFace in the MeshModel using name.

Parameters
namethe name of the desired face

◆ getMeshFaceByRef()

MeshFace* MeshModel::getMeshFaceByRef ( const std::string &  ref) const

Find a MeshFace in the MeshModel using reference.

Parameters
refthe application-defined reference string of the desired face

◆ getMeshFaces()

void MeshModel::getMeshFaces ( std::vector< const MeshFace * > &  faces) const

Return list of all MeshFace in the MeshModel.

◆ getMeshPointByID()

MeshPoint* MeshModel::getMeshPointByID ( MLINT  id) const

Return a MeshPoint witht the given ID.

Parameters
idthe unique ID of the desired MeshPoint

◆ getMeshPointByName()

MeshPoint* MeshModel::getMeshPointByName ( const std::string &  name) const

Return a MeshPoint witht the given name.

Parameters
namethe name of the desired MeshPoint

◆ getMeshPointByRef()

MeshPoint* MeshModel::getMeshPointByRef ( const std::string &  ref) const

Return a MeshPoint witht the given reference.

Parameters
refthe application-defined reference string of the desired MeshPoint

◆ getMeshPointRefs()

StringArray MeshModel::getMeshPointRefs ( ) const

Return an array of all MeshPoint references in this model.

◆ getMeshSheetByID()

MeshSheet* MeshModel::getMeshSheetByID ( MLINT  id) const

Find a MeshSheet by ID.

Parameters
idthe unique ID of the desired MeshSheet

◆ getMeshSheetByName()

MeshSheet* MeshModel::getMeshSheetByName ( const std::string &  name) const

Find a MeshSheet by name.

Parameters
namethe unique name of the desired MeshSheet

◆ getMeshSheetByRef()

MeshSheet* MeshModel::getMeshSheetByRef ( const std::string &  ref) const

Find a MeshSheet by reference.

Parameters
refthe application-defined reference string of the desired MeshSheet

◆ getMeshSheetCount()

size_t MeshModel::getMeshSheetCount ( ) const

Return count of MeshSheets in the MeshModel.

◆ getMeshSheets()

void MeshModel::getMeshSheets ( std::vector< MeshSheet * > &  sheets) const

Return list of all MeshSheet in the MeshModel.

◆ getMeshStringByID()

MeshString* MeshModel::getMeshStringByID ( MLINT  id) const

Find a MeshString by ID.

Parameters
idthe ID of the desired MeshString

◆ getMeshStringByName()

MeshString* MeshModel::getMeshStringByName ( const std::string &  name) const

Find a MeshString by name.

Parameters
namethe unique name of the desired MeshString

◆ getMeshStringByRef()

MeshString* MeshModel::getMeshStringByRef ( const std::string &  ref) const

Find a MeshString by reference.

Parameters
refthe application-defined reference of the desired MeshString

◆ getMeshStringCount()

size_t MeshModel::getMeshStringCount ( ) const

Return count of MeshString in the MeshModel.

◆ getMeshStrings()

void MeshModel::getMeshStrings ( std::vector< MeshString * > &  strings) const

Return list of MeshString in the MeshModel.

Return will include all MeshString objects in this model

◆ getNameCounter()

virtual MLUINT& MeshModel::getNameCounter ( )
virtual

Return the current value of the unique base name counter.

Reimplemented from MeshTopo.

◆ getNumEdges()

MLINT MeshModel::getNumEdges ( ) const

Return the number of edges in the MeshModel.

Return will be the count of all MeshEdges from all MeshStrings

◆ getNumFaces()

MLINT MeshModel::getNumFaces ( ) const

Return the number of faces in the MeshModel.

Return will be the count of all MeshFaces from all MeshSheets

Friends And Related Function Documentation

◆ MeshAssociativity

friend class MeshAssociativity
friend

Definition at line 40 of file MeshModel.h.

Member Data Documentation

◆ edgeMap_

std::map<pwiFnvHash::FNVHash, MeshEdge*> MeshModel::edgeMap_
private

Map edge indices hash to edge.

Definition at line 531 of file MeshModel.h.

◆ edgePointMap_

std::map<pwiFnvHash::FNVHash, MeshPoint*> MeshModel::edgePointMap_
private

Map edge-point index hash to MeshPoint.

Definition at line 540 of file MeshModel.h.

◆ faceEdgeMap_

std::map<pwiFnvHash::FNVHash, MeshEdge*> MeshModel::faceEdgeMap_
private

Map face-edge index hash to MeshEdge.

Definition at line 546 of file MeshModel.h.

◆ faceEdgePointMap_

std::map<pwiFnvHash::FNVHash, MeshPoint*> MeshModel::faceEdgePointMap_
private

Map face-edge-point index hash to MeshPoint.

Definition at line 542 of file MeshModel.h.

◆ faceMap_

std::map<pwiFnvHash::FNVHash, MeshFace*> MeshModel::faceMap_
private

Map face index hash to MeshFace.

Definition at line 549 of file MeshModel.h.

◆ meshEdgeIDToNameMap_

MeshTopoIDToNameMap MeshModel::meshEdgeIDToNameMap_
private

Map MeshEdge name to unique ID.

Definition at line 535 of file MeshModel.h.

◆ meshEdgeNameMap_

MeshEdgeNameMap MeshModel::meshEdgeNameMap_
private

Map MeshEdge name to unique ID.

Definition at line 533 of file MeshModel.h.

◆ meshEdgeRefToNameMap_

MeshTopoRefToNameMap MeshModel::meshEdgeRefToNameMap_
private

Map MeshEdge application-defined reference string to name.

Definition at line 537 of file MeshModel.h.

◆ meshFaceIDToNameMap_

MeshTopoIDToNameMap MeshModel::meshFaceIDToNameMap_
private

Map MeshFace unique ID to name.

Definition at line 553 of file MeshModel.h.

◆ meshFaceNameMap_

MeshFaceNameMap MeshModel::meshFaceNameMap_
private

Map MeshFace name to unique ID.

Definition at line 551 of file MeshModel.h.

◆ meshFaceRefToNameMap_

MeshTopoRefToNameMap MeshModel::meshFaceRefToNameMap_
private

Map MeshFace application-defined reference string to name.

Definition at line 555 of file MeshModel.h.

◆ meshPointIDToNameMap_

MeshTopoIDToNameMap MeshModel::meshPointIDToNameMap_
private

Map MeshPoint unique ID to name.

Definition at line 526 of file MeshModel.h.

◆ meshPointNameMap_

MeshPointNameMap MeshModel::meshPointNameMap_
private

Map MeshPoint name to unique ID.

Definition at line 524 of file MeshModel.h.

◆ meshPointRefToNameMap_

MeshTopoRefToNameMap MeshModel::meshPointRefToNameMap_
private

Map MeshPoint application-defined reference string to name.

Definition at line 528 of file MeshModel.h.

◆ meshSheetIDToNameMap_

MeshTopoIDToNameMap MeshModel::meshSheetIDToNameMap_
private

Map MeshSheet unique ID to name.

Definition at line 567 of file MeshModel.h.

◆ meshSheetNameMap_

MeshSheetNameMap MeshModel::meshSheetNameMap_
private

Map MeshSheet name to unique ID.

Definition at line 565 of file MeshModel.h.

◆ meshSheetRefToNameMap_

MeshTopoRefToNameMap MeshModel::meshSheetRefToNameMap_
private

Map MeshSheet application-defined reference string to name.

Definition at line 569 of file MeshModel.h.

◆ meshStringIDToNameMap_

MeshTopoIDToNameMap MeshModel::meshStringIDToNameMap_
private

Map MeshString unique ID to name.

Definition at line 560 of file MeshModel.h.

◆ meshStringNameMap_

MeshStringNameMap MeshModel::meshStringNameMap_
private

Map MeshString name to unique ID.

Definition at line 558 of file MeshModel.h.

◆ meshStringRefToNameMap_

MeshTopoRefToNameMap MeshModel::meshStringRefToNameMap_
private

Map MeshString application-defined reference string to name.

Definition at line 562 of file MeshModel.h.

◆ nameCounter_

MLUINT MeshModel::nameCounter_
staticprivate

unique name counter, global for all MeshTopo object names

Definition at line 516 of file MeshModel.h.

◆ pointMap_

std::map<pwiFnvHash::FNVHash, MeshPoint*> MeshModel::pointMap_
private

Map point index hash to MeshPoint.

Definition at line 519 of file MeshModel.h.


The documentation for this class was generated from the following file: