MeshKit  1.0
iMesh Class Reference

C++ interface to ITAPS iMesh interface. More...

#include <iMesh.hpp>

List of all members.

Classes

class  EntArrIter
 Class for iterating over iMesh entity arrays. More...
class  EntIter
 Class for iterating over iMesh entities. More...

Public Types

typedef iMesh_EntityTopology EntityTopology
typedef iBase_AdjacencyCost AdjacencyCost
typedef AdjacencyCost(* AdjTableType )[4]

Public Member Functions

iRel::IfaceType iface_type () const
 iMesh (const char *options=0)
 iMesh (iMesh_Instance imesh)
 ~iMesh ()
Error load (EntitySetHandle set, const char *file_name, const char *options=0)
Error save (EntitySetHandle set, const char *file_name, const char *options=0)
int getGeometricDimension () const
Error setGeometricDimension (int dim)
StorageOrder getDfltStorage () const
const AdjTableType getAdjTable ()
Error getNumOfType (EntitySetHandle set, EntityType type, int &count_out) const
Error getNumOfTopo (EntitySetHandle set, EntityTopology topo, int &count_out) const
bool optimize ()
Error getEntities (EntitySetHandle set, EntityType type, EntityTopology topo, std::vector< EntityHandle > &entities_out) const
Error getVtxCoord (EntityHandle vertex, double &x, double &y, double &z) const
Error setVtxCoord (EntityHandle vertex, double x, double y, double z)
Error getVtxArrCoords (const EntityHandle *vertex_handles, int vertex_handles_size, StorageOrder storage_order, double *coords_out) const
Error setVtxArrCoords (const EntityHandle *vertex_handles, int vertex_handles_size, StorageOrder storage_order, const double *new_coords)
Error createVtx (double x, double y, double z, EntityHandle &vertex_out)
Error createVtxArr (int num_verts, StorageOrder storage_order, const double *new_coords, EntityHandle *new_vertex_handles_out)
Error createEnt (EntityTopology topology, const EntityHandle *lower_order_entity_handles, int lower_order_entity_handles_size, EntityHandle &new_entity_handle_out)
Error createEntArr (EntityTopology new_entity_topology, const EntityHandle *lower_order_entity_handles, int lower_order_entity_handles_size, EntityHandle *new_entity_handles_out)
Error deleteEnt (EntityHandle handle)
Error deleteEntArr (const EntityHandle *entity_handles, int num_handles)
Error getAdjEntities (EntitySetHandle set, EntityType type_requestor, EntityTopology topo_requestor, EntityType type_requested, std::vector< EntityHandle > &adj_entity_handles, std::vector< int > &offset) const
Error initEntIter (EntitySetHandle set, EntityType requested_type, EntityTopology requested_topo, int resilient, EntIter &iter)
Error initEntArrIter (EntitySetHandle set, EntityType requested_type, EntityTopology requested_topo, int requested_array_size, int resilient, EntArrIter &iter)
Error getEntTopo (EntityHandle handle, EntityTopology &topo_out) const
Error getEntArrTopo (const EntityHandle *entity_handles, int entity_handles_Size, EntityTopology *topos_out) const
Error getEntType (EntityHandle handle, EntityType &type_out) const
Error getEntArrType (const EntityHandle *entity_handles, int entity_handles_Size, EntityType *types_out) const
Error getEntAdj (EntityHandle handle, EntityType type_requested, std::vector< EntityHandle > &adj_entities_out) const
Error getEntArrAdj (const EntityHandle *entity_handles, int entity_handles_size, EntityType type_requested, std::vector< EntityHandle > &adjacent_entity_handles_out, int *offsets_out) const
Error getEnt2ndAdj (EntityHandle handle, EntityType bridge_entity_type, EntityType type_requested, std::vector< EntityHandle > adj_entities_out) const
Error getEntArr2ndAdj (const EntityHandle *entity_handles, int entity_handles_size, EntityType order_key, EntityType type_requested, std::vector< EntityHandle > &adjacent_entity_handles_out, int *offsets_out) const
Error getAdjEntIndices (EntitySetHandle set, EntityType requestor_type, EntityTopology requestor_topo, EntityType type_requested, std::vector< EntityHandle > &entity_handles_out, std::vector< EntityHandle > &adj_entity_handles_out, std::vector< int > &adj_entity_indices_out, std::vector< int > &offsets_out) const

Static Public Attributes

static const moab::EntityType mb_topology_table [iMesh_ALL_TOPOLOGIES+1]

Private Member Functions

void cacheAdjTable ()
 iMesh (const iMesh &)
void operator= (const iMesh &)

Private Attributes

bool iMeshInstanceOwner
AdjacencyCost adjTable [4][4]
Error adjTableErr

Detailed Description

C++ interface to ITAPS iMesh interface.

This class is a simple wrapper for the ITAPS iGeom interface. The primary benefit to using this class instead of iMesh directly is that lists of handles are passed as std::vectors instead of pointers to handle arrays. This file includes both declaration and definition of all iGeom class functions, i.e. all functions are inlined. The class can be constructed and destructed in the standard C++ way; the implementation of those functions call into the standard iMesh C functions newMesh and dtor.

For complete documentation of these functions, see http://www.itaps.org/software/iMesh_html/index.html.

Examples:
example_copymesh.cpp, and example_extrudemesh.cpp.

Definition at line 31 of file iMesh.hpp.


Member Typedef Documentation

typedef iBase_AdjacencyCost AdjacencyCost

Definition at line 42 of file iMesh.hpp.

typedef AdjacencyCost(* AdjTableType)[4]

Definition at line 63 of file iMesh.hpp.

typedef iMesh_EntityTopology EntityTopology

Definition at line 41 of file iMesh.hpp.


Constructor & Destructor Documentation

iMesh ( const char *  options = 0) [inline, explicit]

Definition at line 239 of file iMesh.hpp.

iMesh ( iMesh_Instance  imesh) [inline]

Definition at line 254 of file iMesh.hpp.

~iMesh ( ) [inline]

Definition at line 261 of file iMesh.hpp.

iMesh ( const iMesh ) [inline, private]

Definition at line 212 of file iMesh.hpp.


Member Function Documentation

void cacheAdjTable ( ) [inline, private]

Definition at line 217 of file iMesh.hpp.

iMesh::Error createEnt ( EntityTopology  topology,
const EntityHandle *  lower_order_entity_handles,
int  lower_order_entity_handles_size,
EntityHandle &  new_entity_handle_out 
) [inline]
Examples:
example_extrudemesh.cpp.

Definition at line 448 of file iMesh.hpp.

iMesh::Error createEntArr ( EntityTopology  new_entity_topology,
const EntityHandle *  lower_order_entity_handles,
int  lower_order_entity_handles_size,
EntityHandle *  new_entity_handles_out 
) [inline]

Definition at line 462 of file iMesh.hpp.

iMesh::Error createVtx ( double  x,
double  y,
double  z,
EntityHandle &  vertex_out 
) [inline]

Definition at line 426 of file iMesh.hpp.

iMesh::Error createVtxArr ( int  num_verts,
StorageOrder  storage_order,
const double *  new_coords,
EntityHandle *  new_vertex_handles_out 
) [inline]
Examples:
example_extrudemesh.cpp.

Definition at line 435 of file iMesh.hpp.

iMesh::Error deleteEnt ( EntityHandle  handle) [inline]

Definition at line 494 of file iMesh.hpp.

iMesh::Error deleteEntArr ( const EntityHandle *  entity_handles,
int  num_handles 
) [inline]

Definition at line 502 of file iMesh.hpp.

iMesh::Error getAdjEntIndices ( EntitySetHandle  set,
EntityType  requestor_type,
EntityTopology  requestor_topo,
EntityType  type_requested,
std::vector< EntityHandle > &  entity_handles_out,
std::vector< EntityHandle > &  adj_entity_handles_out,
std::vector< int > &  adj_entity_indices_out,
std::vector< int > &  offsets_out 
) const [inline]

Definition at line 807 of file iMesh.hpp.

iMesh::Error getAdjEntities ( EntitySetHandle  set,
EntityType  type_requestor,
EntityTopology  topo_requestor,
EntityType  type_requested,
std::vector< EntityHandle > &  adj_entity_handles,
std::vector< int > &  offset 
) const [inline]

Definition at line 510 of file iMesh.hpp.

const iMesh::AdjTableType getAdjTable ( ) [inline]

Definition at line 317 of file iMesh.hpp.

iMesh::StorageOrder getDfltStorage ( ) const [inline]

Definition at line 309 of file iMesh.hpp.

iMesh::Error getEnt2ndAdj ( EntityHandle  handle,
EntityType  bridge_entity_type,
EntityType  type_requested,
std::vector< EntityHandle >  adj_entities_out 
) const [inline]

Definition at line 743 of file iMesh.hpp.

iMesh::Error getEntAdj ( EntityHandle  handle,
EntityType  type_requested,
std::vector< EntityHandle > &  adj_entities_out 
) const [inline]

Definition at line 681 of file iMesh.hpp.

iMesh::Error getEntArr2ndAdj ( const EntityHandle *  entity_handles,
int  entity_handles_size,
EntityType  order_key,
EntityType  type_requested,
std::vector< EntityHandle > &  adjacent_entity_handles_out,
int *  offsets_out 
) const [inline]

Definition at line 770 of file iMesh.hpp.

iMesh::Error getEntArrAdj ( const EntityHandle *  entity_handles,
int  entity_handles_size,
EntityType  type_requested,
std::vector< EntityHandle > &  adjacent_entity_handles_out,
int *  offsets_out 
) const [inline]

Definition at line 707 of file iMesh.hpp.

iMesh::Error getEntArrTopo ( const EntityHandle *  entity_handles,
int  entity_handles_Size,
EntityTopology topos_out 
) const [inline]

Definition at line 624 of file iMesh.hpp.

iMesh::Error getEntArrType ( const EntityHandle *  entity_handles,
int  entity_handles_Size,
EntityType *  types_out 
) const [inline]

Definition at line 657 of file iMesh.hpp.

iMesh::Error getEntities ( EntitySetHandle  set,
EntityType  type,
EntityTopology  topo,
std::vector< EntityHandle > &  entities_out 
) const [inline]

Definition at line 347 of file iMesh.hpp.

iMesh::Error getEntTopo ( EntityHandle  handle,
EntityTopology topo_out 
) const [inline]

Definition at line 615 of file iMesh.hpp.

iMesh::Error getEntType ( EntityHandle  handle,
EntityType &  type_out 
) const [inline]

Definition at line 648 of file iMesh.hpp.

int getGeometricDimension ( ) const [inline]

Definition at line 292 of file iMesh.hpp.

iMesh::Error getNumOfTopo ( EntitySetHandle  set,
EntityTopology  topo,
int &  count_out 
) const [inline]

Definition at line 331 of file iMesh.hpp.

iMesh::Error getNumOfType ( EntitySetHandle  set,
EntityType  type,
int &  count_out 
) const [inline]

Definition at line 323 of file iMesh.hpp.

iMesh::Error getVtxArrCoords ( const EntityHandle *  vertex_handles,
int  vertex_handles_size,
StorageOrder  storage_order,
double *  coords_out 
) const [inline]

Definition at line 401 of file iMesh.hpp.

iMesh::Error getVtxCoord ( EntityHandle  vertex,
double &  x,
double &  y,
double &  z 
) const [inline]

Definition at line 384 of file iMesh.hpp.

iRel::IfaceType iface_type ( ) const [inline]

Definition at line 33 of file iMesh.hpp.

iMesh::Error initEntArrIter ( EntitySetHandle  set,
EntityType  requested_type,
EntityTopology  requested_topo,
int  requested_array_size,
int  resilient,
iMesh::EntArrIter iter 
) [inline]

Definition at line 542 of file iMesh.hpp.

iMesh::Error initEntIter ( EntitySetHandle  set,
EntityType  requested_type,
EntityTopology  requested_topo,
int  resilient,
iMesh::EntIter iter 
) [inline]

Definition at line 528 of file iMesh.hpp.

iMesh::Error load ( EntitySetHandle  set,
const char *  file_name,
const char *  options = 0 
) [inline]
Examples:
example_fbgeom.cpp.

Definition at line 270 of file iMesh.hpp.

void operator= ( const iMesh ) [inline, private]

Definition at line 213 of file iMesh.hpp.

bool optimize ( ) [inline]

Definition at line 339 of file iMesh.hpp.

iMesh::Error save ( EntitySetHandle  set,
const char *  file_name,
const char *  options = 0 
) [inline]
Examples:
example_parallelmesher.cpp.

Definition at line 281 of file iMesh.hpp.

iMesh::Error setGeometricDimension ( int  dim) [inline]

Definition at line 301 of file iMesh.hpp.

iMesh::Error setVtxArrCoords ( const EntityHandle *  vertex_handles,
int  vertex_handles_size,
StorageOrder  storage_order,
const double *  new_coords 
) [inline]

Definition at line 413 of file iMesh.hpp.

iMesh::Error setVtxCoord ( EntityHandle  vertex,
double  x,
double  y,
double  z 
) [inline]

Definition at line 392 of file iMesh.hpp.


Member Data Documentation

AdjacencyCost adjTable[4][4] [private]

Definition at line 206 of file iMesh.hpp.

Error adjTableErr [private]

Definition at line 207 of file iMesh.hpp.

bool iMeshInstanceOwner [private]

Definition at line 205 of file iMesh.hpp.

const moab::EntityType mb_topology_table [static]
Initial value:
{
    moab::MBVERTEX,
    moab::MBEDGE,
    moab::MBPOLYGON,
    moab::MBTRI,
    moab::MBQUAD,
    moab::MBPOLYHEDRON,
    moab::MBTET,
    moab::MBHEX,
    moab::MBPRISM,
    moab::MBPYRAMID,
    moab::MBMAXTYPE,
    moab::MBMAXTYPE,
}

Definition at line 39 of file iMesh.hpp.


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