moab
|
The ITAPS Mesh Interface iMesh provides a common interface for accessing mesh and data associated with a mesh. Applications written to use this interface can use a variety of implementations, choosing the one that best meets its needs. They can also use tools written to this interface, for example mesh smoothing, adaptive mesh refinement, and parallel mesh support.
The ITAPS interfaces use a data model composed of four basic data types: /Entity/: basic topological entities in a mesh, e.g. vertices, triangles, hexahedra. /Entity Set/: arbitrary grouping of other entities and sets. Entity sets also support parent/child relations with other sets which are distinct from entities contained in those sets. Parent/child links can be used to embed graph relationships between sets, e.g. to represent topological relationships between the sets. /Interface/: the object with which mesh is associated and on which functions in iMesh are called. /Tag/: application data associated with objects of any of the other data types. Each tag has a designated name, size, and data type.
ITAPS Entity Type, Topology Each entity has a specific Entity Type and Entity Topology. The Entity Type is one of VERTEX, EDGE, FACE, and REGION, and is synonymous with the topological dimension of the entity. The Entity Topology denotes the specific shape, for example TRIANGLE, QUADRILATERAL, TETRAHEDRON, and HEXAHEDRON. Entity Type and Entity Topology exist as enumerated types, Entity Type in the iBase_EntityType enumeration, and Entity Topology in the iMesh_EntityTopology enumeration.
ITAPS Entity-, Array-, and Iterator-Based Access The iMesh interface provides functions for accessing entities individually, as arrays of entities, or using iterators. These access methods have different memory versus execution time tradeoffs, depending on the implementation.