Public Member Functions

apf::Mesh2 Class Reference

Extended mesh interface for modification. More...

Inheritance diagram for apf::Mesh2:
apf::Mesh

List of all members.

Public Member Functions

virtual void setRemotes (MeshEntity *e, Copies &remotes)=0
 Set the remote copies of an entity.
virtual void addRemote (MeshEntity *e, int p, MeshEntity *r)=0
 Add just one remote copy to an entity.
virtual void addGhost (MeshEntity *e, int p, MeshEntity *r)=0
 Add just one ghost copy to an entity.
virtual void setResidence (MeshEntity *e, Parts &residence)=0
 Set the resident part set of an entity.
virtual void setParam (MeshEntity *e, Vector3 const &p)=0
 Set the geometric parametric coordinates for a vertex.
virtual void increment (MeshIterator *it)=0
 Just increment an iterator.
virtual bool isDone (MeshIterator *it)=0
 Return true iff the iterator points past the end.
virtual MeshEntity * deref (MeshIterator *it)=0
 Just dereference an iterator without incrementing it.
void setPoint (MeshEntity *e, int node, Vector3 const &p)
 Set the spacial coordinates of a mesh node.
virtual void setPoint_ (MeshEntity *e, int node, Vector3 const &p)=0
 Underlying implementation of apf::Mesh2::setPoint.
MeshEntity * createVertex (ModelEntity *c, Vector3 const &point, Vector3 const &param)
 Create a fully-specified vertex.
void requireUnfrozen ()
 require that no fields are stored in arrays
virtual MeshEntity * createVert_ (ModelEntity *c)=0
 Underlying implementation of apf::Mesh2::createVert.
MeshEntity * createVert (ModelEntity *c)
 Just create a vertex.
virtual MeshEntity * createEntity_ (int type, ModelEntity *c, MeshEntity **down)=0
 Underlying implementation of apf::Mesh2::createEntity.
MeshEntity * createEntity (int type, ModelEntity *c, MeshEntity **down)
 Create a non-vertex mesh entity.
virtual void destroy_ (MeshEntity *e)=0
 Underlying implementation of apf::Mesh2::destroy.
void destroy (MeshEntity *e)
 Destroy a mesh entity.
virtual void setModelEntity (MeshEntity *e, ModelEntity *c)=0
 Change the geometric classification of an entity.
virtual void addMatch (MeshEntity *e, int peer, MeshEntity *match)=0
 Add a matched copy to an entity.
virtual void clearMatches (MeshEntity *e)=0
 Remove all matched copies of an entity.
virtual void acceptChanges ()=0
 Implementation-defined synchronization after modification.

Detailed Description

Extended mesh interface for modification.

this interface, which is a superset of apf::Mesh, includes methods for mesh modification. Not all mesh databases support this, which is why the two classes are separated.

In this case, mesh modification means any entity creation, deletion, changing inter-part boundary links (including remote copies, matching, etc), and changing node coordinates.


Member Function Documentation

virtual void apf::Mesh2::acceptChanges (  )  [pure virtual]

Implementation-defined synchronization after modification.

users are encouraged to call this function after finishing mesh modifications so that all structures are properly updated before using the mesh any further.

MeshEntity* apf::Mesh2::createEntity ( int  type,
ModelEntity *  c,
MeshEntity **  down 
) [inline]

Create a non-vertex mesh entity.

to create entities from more than one level down, including intermediate entities, see apf::buildElement

Parameters:
type select from apf::Mesh::Type
c geometric classification, which is very immutable in APF
down array of one-level downward adjacent entities
MeshEntity* apf::Mesh2::createVert ( ModelEntity *  c  )  [inline]

Just create a vertex.

Parameters:
c geometric classification, which is very immutable in APF
MeshEntity* apf::Mesh2::createVertex ( ModelEntity *  c,
Vector3 const &  point,
Vector3 const &  param 
)

Create a fully-specified vertex.

this function sets geometric classification and coordinates all at once. see apf::Mesh2::createVert for a more minimal interface

virtual MeshEntity* apf::Mesh2::deref ( MeshIterator *  it  )  [pure virtual]

Just dereference an iterator without incrementing it.

this is needed by apf::CavityOp, and Simmetrix meshes don't support the separation of dereference and increment

void apf::Mesh2::destroy ( MeshEntity *  e  )  [inline]

Destroy a mesh entity.

this does not destroy any other entities, including downward adjacencies

virtual void apf::Mesh2::setRemotes ( MeshEntity *  e,
Copies remotes 
) [pure virtual]

Set the remote copies of an entity.

this does not affect the residence or ownership, so users are advised to use apf::stitchMesh after calling this function.

virtual void apf::Mesh2::setResidence ( MeshEntity *  e,
Parts residence 
) [pure virtual]

Set the resident part set of an entity.

this is also known as partition model classification


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines