MeshLink
Computational geometry access
|
2D (surface) mesh topology More...
#include <MeshSheet.h>
Public Member Functions | |
MeshSheet (MLINT mid, MLINT aref, MLINT gref, const std::string &name) | |
Constructor with no application-defined reference data. More... | |
MeshSheet (const std::string &ref, MLINT mid, MLINT aref, MLINT gref, const std::string &name) | |
Constructor with application-defined reference data. More... | |
virtual bool | addFace (MLINT i1, MLINT i2, MLINT i3, MLINT mid, MLINT aref, MLINT gref, const std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, bool mapID) |
Add a triangular MeshFace to the MeshSheet using indices. More... | |
virtual MeshFace * | findFaceByInds (MLINT i1, MLINT i2, MLINT i3, MLINT i4=MESH_TOPO_INDEX_UNUSED) const |
Find a MeshFace in the MeshSheet associativity data. More... | |
virtual void | deleteFaceByInds (MLINT i1, MLINT i2, MLINT i3, MLINT i4=MESH_TOPO_INDEX_UNUSED) |
Delete a MeshFace from the MeshSheet associativity data. More... | |
virtual bool | addFace (const std::string &ref, MLINT mid, MLINT aref, MLINT gref, const std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, bool mapID) |
Add a triangular MeshFace to the MeshSheet using reference. More... | |
virtual bool | addFace (MLINT i1, MLINT i2, MLINT i3, MLINT i4, MLINT mid, MLINT aref, MLINT gref, const std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, ParamVertex *pv4, bool mapID) |
Add a quadrilateral MeshFace to the MeshSheet using indices. More... | |
virtual bool | addFace (const std::string &ref, MLINT mid, MLINT aref, MLINT gref, const std::string &name, ParamVertex *pv1, ParamVertex *pv2, ParamVertex *pv3, ParamVertex *pv4, bool mapID) |
Add a quadrilateral MeshFace to the MeshSheet using reference. More... | |
virtual MeshFace * | getMeshFaceByName (const std::string &name) const |
Find a MeshFace by name. More... | |
virtual MeshFace * | getMeshFaceByRef (const std::string &ref) const |
Find a MeshFace by reference. More... | |
virtual void | addFaceEdge (MLINT i1, MLINT i2, MLINT mid, MLINT aref, MLINT gref, ParamVertex *pv1=NULL, ParamVertex *pv2=NULL) |
Add a face-edge to the MeshSheet. More... | |
virtual MeshEdge * | findFaceEdgeByInds (MLINT i1, MLINT i2) const |
Find a face-edge in the associativity data. More... | |
virtual void | deleteFaceEdgeByInds (MLINT i1, MLINT i2) |
Delete a face-edge from the associativity data. More... | |
virtual MLINT | getNumFaceEdges () const |
Return the number of face-edges in the MeshSheet. More... | |
virtual MLINT | getNumFaces () const |
Return the number of MeshFaces in the MeshSheet. More... | |
virtual void | getFaceEdges (std::vector< const MeshEdge * > &faceEdges) const |
Return array of face-edges in the MeshSheet. More... | |
virtual void | getMeshFaces (std::vector< const MeshFace * > &faces) const |
Return array of MeshFaces in the MeshSheet. More... | |
MeshSheet () | |
Default constructor. More... | |
~MeshSheet () | |
Destructor. More... | |
virtual const std::string & | getBaseName () const |
Return the base name used for generating unique names for sheets. More... | |
virtual MLUINT & | getNameCounter () |
Return the current value used for generating unique names for sheets. 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 ParamVertex * | getParamVertByVref (const std::string &vref) const |
Find a ParamVertex by vertex reference. More... | |
virtual ParamVertex * | getParamVertByID (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 ParamVertVrefMap & | getParamVertVrefMap () 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< MLINT > | getAttributeIDs (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 Attributes | |
std::map< pwiFnvHash::FNVHash, MeshPoint * > | pointMap_ |
Map point hash values to points. More... | |
MeshPointNameMap | meshPointNameMap_ |
Map point names to points. More... | |
MeshTopoIDToNameMap | meshPointIDToNameMap_ |
Map point IDs to point names. More... | |
std::map< pwiFnvHash::FNVHash, MeshEdge * > | faceEdgeMap_ |
Map face edge indices hash to edge. More... | |
std::map< pwiFnvHash::FNVHash, MeshFace * > | faceMap_ |
Map face indices hash to face. More... | |
MeshFaceNameMap | meshFaceNameMap_ |
Map face names to face. More... | |
MeshTopoIDToNameMap | meshFaceIDToNameMap_ |
Map face IDs to face names. More... | |
MeshTopoRefToNameMap | meshFaceRefToNameMap_ |
Map application-defined face reference string to face name. More... | |
MLUINT | faceEdgeCounter_ |
Serial counter as faceEdges are added to the sheet (zero-based) More... | |
MLUINT | faceCounter_ |
Serial counter as faces are added to the sheet (zero-based) More... | |
Static Private Attributes | |
static MLUINT | nameCounter_ |
The unique name counter for sheets. More... | |
Friends | |
class | MeshAssociativity |
class | MeshModel |
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... | |
2D (surface) mesh topology
Provides access to MeshLink schema MeshSheet data
Definition at line 35 of file MeshSheet.h.
Constructor with no application-defined reference data.
mid | unique ID of the mesh sheet |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh sheet |
MeshSheet::MeshSheet | ( | const std::string & | ref, |
MLINT | mid, | ||
MLINT | aref, | ||
MLINT | gref, | ||
const std::string & | name | ||
) |
Constructor with application-defined reference data.
ref | application-defined reference data for the mesh sheet |
mid | unique ID of the mesh sheet |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh sheet |
MeshSheet::MeshSheet | ( | ) |
Default constructor.
MeshSheet::~MeshSheet | ( | ) |
Destructor.
|
virtual |
Add a triangular MeshFace to the MeshSheet using indices.
i1,i2,i3 | the point indices of the triangular face |
mid | unique ID of the mesh entity |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh entity |
pv1,pv2,pv3 | (optional) the ParamVertex objects associated with the points |
mapID | whether to map the unique ID to the entity name |
|
virtual |
Add a triangular MeshFace to the MeshSheet using reference.
ref | the application-defined reference data for the face |
mid | unique ID of the mesh entity |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh entity |
pv1,pv2,pv3 | (optional) the ParamVertex objects associated with the points |
mapID | whether to map the unique ID to the entity name |
|
virtual |
Add a quadrilateral MeshFace to the MeshSheet using indices.
i1,i2,i3,i4 | the point indices of the face |
mid | unique ID of the mesh entity |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh entity |
pv1,pv2,pv3,pv4 | (optional) the ParamVertex objects associated with the face points |
mapID | whether to map the unique ID to the entity name |
|
virtual |
Add a quadrilateral MeshFace to the MeshSheet using reference.
ref | the application-defined reference data for the face |
mid | unique ID of the mesh entity |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
name | the name of the mesh entity |
pv1,pv2,pv3,pv4 | (optional) the ParamVertex objects associated with the face points |
mapID | whether to map the unique ID to the entity name |
|
virtual |
Add a face-edge to the MeshSheet.
Face-edges are a MeshEdge using the MeshFace's associativity data. This is useful when performing MeshEdge operations with MeshFace constraints.
i1,i2 | the point indices for the face-edge |
mid | unique ID of the mesh entity |
aref | the attribute reference ID (AttID) (optional) |
gref | the geometry reference ID |
pv1,pv2 | (optional) the ParamVertex objects associated with the points |
Delete a face-edge from the associativity data.
i1,i2 | the indices of the points in the face-edge to delete |
Find a face-edge in the associativity data.
i1,i2 | the indices of the points in the desired face-edge |
|
virtual |
Return the base name used for generating unique names for sheets.
Reimplemented from MeshTopo.
|
virtual |
Return array of face-edges in the MeshSheet.
Face-edges are returned in creation order.
|
virtual |
Find a MeshFace by name.
name | the name of the desired face |
|
virtual |
Find a MeshFace by reference.
ref | the application-defined reference string of the desired face |
|
virtual |
Return array of MeshFaces in the MeshSheet.
Faces are returned in creation order.
|
virtual |
Return the current value used for generating unique names for sheets.
Reimplemented from MeshTopo.
|
virtual |
Return the number of face-edges in the MeshSheet.
|
virtual |
Return the number of MeshFaces in the MeshSheet.
|
friend |
Definition at line 37 of file MeshSheet.h.
|
friend |
Definition at line 38 of file MeshSheet.h.
|
private |
Serial counter as faces are added to the sheet (zero-based)
Definition at line 244 of file MeshSheet.h.
|
private |
Serial counter as faceEdges are added to the sheet (zero-based)
Definition at line 241 of file MeshSheet.h.
|
private |
Map face edge indices hash to edge.
Definition at line 226 of file MeshSheet.h.
|
private |
Map face indices hash to face.
Definition at line 229 of file MeshSheet.h.
|
private |
Map face IDs to face names.
Definition at line 235 of file MeshSheet.h.
|
private |
Map face names to face.
Definition at line 232 of file MeshSheet.h.
|
private |
Map application-defined face reference string to face name.
Definition at line 238 of file MeshSheet.h.
|
private |
Map point IDs to point names.
Definition at line 223 of file MeshSheet.h.
|
private |
Map point names to points.
Definition at line 221 of file MeshSheet.h.
|
staticprivate |
The unique name counter for sheets.
Definition at line 216 of file MeshSheet.h.
|
private |
Map point hash values to points.
Definition at line 219 of file MeshSheet.h.