|
void | init (FieldShape *s) |
| initialize the base class structures. More...
|
|
virtual | ~Mesh () |
| destroy the base class structures. More...
|
|
virtual int | getDimension ()=0 |
| returns the element dimension of this mesh
|
|
virtual std::size_t | count (int dimension)=0 |
| returns the number of entities in this dimension
|
|
virtual MeshIterator * | begin (int dimension)=0 |
| begins iteration over elements of one dimension
|
|
virtual MeshEntity * | iterate (MeshIterator *it)=0 |
| iterate over mesh entities More...
|
|
virtual void | end (MeshIterator *it)=0 |
| destroy an iterator. More...
|
|
virtual bool | isShared (MeshEntity *e)=0 |
| Returns true if the entity is shared in parallel.
|
|
virtual bool | isOwned (MeshEntity *e)=0 |
| Returns true if the entity is shared in parallel and this is the dominant copy, or the entity is not shared.
|
|
virtual int | getOwner (MeshEntity *e)=0 |
| Returns the owning part number of this entity.
|
|
virtual void | getAdjacent (MeshEntity *e, int dimension, Adjacent &adjacent)=0 |
| Returns the set of entities of one dimension adjacent to a given entity. More...
|
|
virtual int | getDownward (MeshEntity *e, int dimension, MeshEntity **adjacent)=0 |
| Returns an ordered set of downward adjacent entities. More...
|
|
virtual int | countUpward (MeshEntity *e)=0 |
| Return the number of one-level upward adjacent entities.
|
|
virtual MeshEntity * | getUpward (MeshEntity *e, int i)=0 |
| Get the i'th one-level upward adjacent entity.
|
|
virtual void | getUp (MeshEntity *e, Up &up)=0 |
| Get the unordered set of one-level upward entities.
|
|
virtual bool | hasUp (MeshEntity *e)=0 |
| Return true iff the entity has upward adjacencies.
|
|
void | getPoint (MeshEntity *e, int node, Vector3 &point) |
| Returns the coordinates of a node on a mesh entity. More...
|
|
virtual void | getPoint_ (MeshEntity *e, int node, Vector3 &point)=0 |
| Implementation-defined code for apf::Mesh::getPoint.
|
|
virtual void | getParam (MeshEntity *e, Vector3 &p)=0 |
| Get the geometric parametric coordinates of a vertex.
|
|
virtual Type | getType (MeshEntity *e)=0 |
| Get the topological type of a mesh entity. More...
|
|
virtual void | getRemotes (MeshEntity *e, Copies &remotes)=0 |
| Get the remote copies of an entity.
|
|
virtual void | getResidence (MeshEntity *e, Parts &residence)=0 |
| Get the resident parts of an entity. More...
|
|
virtual MeshTag * | createDoubleTag (const char *name, int size)=0 |
| Creates a double array tag over the mesh given a name and size.
|
|
virtual MeshTag * | createIntTag (const char *name, int size)=0 |
| Creates an int array tag over the mesh given a name and size.
|
|
virtual MeshTag * | createLongTag (const char *name, int size)=0 |
| Creates a long array tag over the mesh given a name and size.
|
|
virtual MeshTag * | findTag (const char *name)=0 |
| Finds a tag by name, returns 0 if it doesn't exist.
|
|
virtual void | destroyTag (MeshTag *tag)=0 |
| Removes a mesh tag. This does not detach data from entities.
|
|
virtual void | getTags (DynamicArray< MeshTag * > &tags)=0 |
| Get all the tags on a mesh part. More...
|
|
virtual void | getDoubleTag (MeshEntity *e, MeshTag *tag, double *data)=0 |
| get double array tag data More...
|
|
virtual void | setDoubleTag (MeshEntity *e, MeshTag *tag, double const *data)=0 |
| set double array tag data More...
|
|
virtual void | getIntTag (MeshEntity *e, MeshTag *tag, int *data)=0 |
| get int array tag data More...
|
|
virtual void | setIntTag (MeshEntity *e, MeshTag *tag, int const *data)=0 |
| set int array tag data More...
|
|
virtual void | getLongTag (MeshEntity *e, MeshTag *tag, long *data)=0 |
| get long array tag data More...
|
|
virtual void | setLongTag (MeshEntity *e, MeshTag *tag, long const *data)=0 |
| set long array tag data More...
|
|
virtual void | removeTag (MeshEntity *e, MeshTag *tag)=0 |
| detach tag data from an entity. More...
|
|
virtual bool | hasTag (MeshEntity *e, MeshTag *tag)=0 |
| Returns true if there is data for this tag attached.
|
|
virtual void | renameTag (MeshTag *tag, const char *newName)=0 |
| renames a tag
|
|
virtual unsigned | getTagChecksum (MeshTag *tag, int type)=0 |
| returns the checksum of a tag for the specificed topological type
|
|
virtual int | getTagType (MeshTag *t)=0 |
| get the data type of a tag More...
|
|
virtual int | getTagSize (MeshTag *t)=0 |
| return the array size of a tag
|
|
virtual const char * | getTagName (MeshTag *t)=0 |
| return the name of a tag More...
|
|
virtual ModelEntity * | toModel (MeshEntity *e)=0 |
| get geometric classification
|
|
virtual gmi_model * | getModel ()=0 |
| get a GMI interface to the geometric model
|
|
virtual void | setModel (gmi_model *newModel)=0 |
| set the geometric model
|
|
int | getModelType (ModelEntity *e) |
| return the model entity dimension
|
|
int | getModelTag (ModelEntity *e) |
| get the dimension-unique model entity identifier
|
|
ModelEntity * | findModelEntity (int type, int tag) |
| get the model entity by dimension and identifier
|
|
bool | canSnap () |
| return true if the geometric model supports snapping
|
|
bool | canGetClosestPoint () |
| return true if the geometric model supports get closest point
|
|
bool | canGetModelNormal () |
| return true if the geometric model supports normal computation
|
|
void | snapToModel (ModelEntity *m, Vector3 const &p, Vector3 &x) |
| evaluate parametric coordinate (p) as a spatial point (x)
|
|
void | getParamOn (ModelEntity *g, MeshEntity *e, Vector3 &p) |
| reparameterize mesh vertex (e) onto model entity (g)
|
|
bool | getPeriodicRange (ModelEntity *g, int axis, double range[2]) |
| get the periodic properties of a model entity More...
|
|
void | getClosestPoint (ModelEntity *g, Vector3 const &from, Vector3 &to, Vector3 &p) |
| get closest point on geometry
|
|
void | getNormal (ModelEntity *g, Vector3 const &p, Vector3 &n) |
| get normal vector at a point
|
|
void | getFirstDerivative (ModelEntity *g, Vector3 const &p, Vector3 &t0, Vector3 &t1) |
| get first derivative at a point
|
|
bool | isParamPointInsideModel (ModelEntity *g, Vector3 const ¶m, Vector3 &x) |
| checks if parametric point is inside the model, and updates puts the location in x
|
|
bool | isInClosureOf (ModelEntity *g, ModelEntity *target) |
| checks if g is in the closure of the target
|
|
void | boundingBox (ModelEntity *g, Vector3 &bmin, Vector3 &bmax) |
| get the bounding box of the model entity g
|
|
bool | isOnModel (ModelEntity *g, Vector3 p, double scale) |
| checks if p is on model g
|
|
FieldShape * | getShape () const |
| get the distribution of the mesh's coordinate field
|
|
Field * | getCoordinateField () |
| get the mesh's coordinate field
|
|
void | setCoordinateField (Field *field) |
| Set the mesh's coordinate field - Be very careful using this.
|
|
void | changeShape (FieldShape *newShape, bool project=true) |
| make a new coordinate field. More...
|
|
virtual void | migrate (Migration *plan)=0 |
| Migrate elements. More...
|
|
virtual int | getId ()=0 |
| Get the part ID.
|
|
virtual void | writeNative (const char *fileName)=0 |
| write the underlying mesh into a set of files
|
|
virtual void | destroyNative ()=0 |
| actually destroy the underlying mesh data structure
|
|
virtual void | verify ()=0 |
| run a set of consistency checks on the underlying data structure
|
|
virtual bool | hasMatching ()=0 |
| return true if the mesh has matched entities
|
|
virtual void | getMatches (MeshEntity *e, Matches &m)=0 |
| get the periodic copies of an entity
|
|
virtual void | getDgCopies (MeshEntity *e, DgCopies &dgCopies, ModelEntity *me=0)=0 |
| get the DG copies of an entity on optional model entity filter
|
|
virtual double | getElementBytes (int) |
| estimate mesh entity memory usage. More...
|
|
void | addField (Field *f) |
| associate a field with this mesh More...
|
|
void | removeField (Field *f) |
| disassociate a field from this mesh More...
|
|
Field * | findField (const char *name) |
| lookup a field by its unique name
|
|
int | countFields () |
| get the number of associated fields
|
|
Field * | getField (int i) |
| get the i'th associated field
|
|
void | addNumbering (Numbering *f) |
| associate a numbering with this mesh More...
|
|
void | removeNumbering (Numbering *f) |
| disassociate a numbering from this mesh More...
|
|
Numbering * | findNumbering (const char *name) |
| lookup a numbering by its unique name
|
|
int | countNumberings () |
| get the number of associated numberings
|
|
Numbering * | getNumbering (int i) |
| get the i'th associated numbering
|
|
GlobalNumbering * | findGlobalNumbering (const char *name) |
| lookup a numbering by its unique name
|
|
Interface to a mesh part.
This base class is the interface for almost all mesh operations in APF. Code that interacts with a mesh should do so through an apf::Mesh interface object. Mesh databases should derive an interface object and implement all pure virtual functions to be usable from APF.
Definition at line 103 of file apfMesh.h.