Classes | Namespaces | Typedefs | Functions | Variables

apfMesh.h File Reference

The APF Mesh interface. More...

Go to the source code of this file.


struct  apf::Up
 statically sized container for upward adjacency queries. More...
struct  apf::Copy
 a reference to an object representing the same entity More...
class  apf::Mesh
 Interface to a mesh part. More...
class  apf::Migration
 Migration plan object: local elements to destinations. More...
struct  apf::Sharing
 abstract description of entity copy sharing More...


namespace  apf

All APF symbols are contained in this namespace.


typedef NumberingOf< int > apf::Numbering
 Numbering is meant to be a 32-bit local numbering.
typedef NumberingOf< long > apf::GlobalNumbering
 Global numberings use 64-bit integers.
typedef std::map< int,
MeshEntity * > 
 Remote copy container.
typedef std::set< int > apf::Parts
 Set of unique part ids.
typedef DynamicArray
< MeshEntity * > 
 Set of adjacent mesh entities.
typedef MeshEntity * apf::Downward [12]
 a static array type downward adjacency queries.
typedef Copy apf::Match
 matches are just a special case of copies
typedef DynamicArray< Copy > apf::CopyArray
 a set of copies, possibly multiple copies per part
typedef CopyArray apf::Matches
 a set of matched copies


void apf::verify (Mesh *m)
 run consistency checks on an apf::Mesh structure
int apf::getDimension (Mesh *m, MeshEntity *e)
 get the dimension of a mesh entity
void apf::unite (Parts &into, Parts const &from)
 unite two sets of unique part ids
void apf::removeTagFromDimension (Mesh *m, MeshTag *tag, int d)
 removes a tag from all entities of dimension (d)
MeshEntity * apf::findUpward (Mesh *m, int type, MeshEntity **down)
 find an entity from one-level downward adjacencies
MeshEntity * apf::findElement (Mesh *m, int type, MeshEntity **verts)
 finds an entity from a set of vertices
MeshEntity * apf::getEdgeVertOppositeVert (Mesh *m, MeshEntity *edge, MeshEntity *v)
 get the other vertex of an edge
void apf::getBridgeAdjacent (Mesh *m, MeshEntity *origin, int bridgeDimension, int targetDimension, Adjacent &result)
 get 2nd-order adjacent entities
int apf::countEntitiesOfType (Mesh *m, int type)
 count all on-part entities of one topological type
bool apf::isSimplex (int type)
 return true if the topological type is a simplex
Vector3 apf::getLinearCentroid (Mesh *m, MeshEntity *e)
 get the average of the entity's vertex coordinates
Sharing * apf::getSharing (Mesh *m)
 create a default sharing object for this mesh
void apf::getPeers (Mesh *m, int d, Parts &peers)
 scan the part for [vtx|edge|face]-adjacent part ids
int apf::findIn (MeshEntity **a, int n, MeshEntity *e)
 find pointer (e) in array (a) of length (n)
void apf::findTriDown (Mesh *m, MeshEntity **verts, MeshEntity **down)
 given the vertices of a triangle, find its edges
void apf::changeMeshShape (Mesh *m, FieldShape *newShape, bool project=true)
 deprecated wrapper for apf::Mesh::changeShape
void apf::unfreezeFields (Mesh *m)
 unfreeze all associated fields
int apf::countEntitiesOn (Mesh *m, ModelEntity *me, int dim)
 count the number of mesh entities classified on a model entity
int apf::countOwned (Mesh *m, int dim)
 count the number of owned entities of dimension (dim)
void apf::printStats (Mesh *m)
 print global mesh entity counts per dimension
void apf::warnAboutEmptyParts (Mesh *m)
 print to stderr the number of empty parts, if any
Copy apf::getOtherCopy (Mesh *m, MeshEntity *s)
 given a mesh face, return its remote copy
int apf::getFirstType (Mesh *m, int dim)
 get the type of the first entity in this dimension
void apf::getAlignment (Mesh *m, MeshEntity *elem, MeshEntity *boundary, int &which, bool &flip, int &rotate)
 boundary entity alignment to an element


int const apf::tri_edge_verts [3][2]
 map from triangle edge order to triangle vertex order
int const apf::quad_edge_verts [4][2]
 map from quad edge order to quad vertex order
int const apf::tet_edge_verts [6][2]
 map from tet edge order to tet vertex order
int const apf::prism_edge_verts [9][2]
 map from prism edge order to prism vertex order
int const apf::pyramid_edge_verts [8][2]
 map from pyramid edge order to pyramid vertex order
int const apf::tet_tri_verts [4][3]
 map from tet triangle order to tet vertex order
int const apf::hex_quad_verts [6][4]
 map from hex quad order to hex vertex order
int const apf::prism_tri_verts [2][3]
 map from prism triangle order to prism vertex order
int const apf::prism_quad_verts [3][4]
 map from prism quad order to prism vertex order
int const apf::pyramid_tri_verts [4][3]
 map from pyramid triangle order to pyramid vertex order

Detailed Description

The APF Mesh interface.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines