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
AdjTableType getAdjTable ()
Error setAdjTable (int *adj_table, int table_size)
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 241 of file iMesh.hpp.

iMesh ( iMesh_Instance  imesh) [inline]

Definition at line 256 of file iMesh.hpp.

~iMesh ( ) [inline]

Definition at line 263 of file iMesh.hpp.

iMesh ( const iMesh ) [inline, private]

Definition at line 214 of file iMesh.hpp.


Member Function Documentation

void cacheAdjTable ( ) [inline, private]

Definition at line 219 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 462 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 476 of file iMesh.hpp.

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

Definition at line 440 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 449 of file iMesh.hpp.

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

Definition at line 508 of file iMesh.hpp.

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

Definition at line 516 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 821 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 524 of file iMesh.hpp.

Definition at line 318 of file iMesh.hpp.

iMesh::StorageOrder getDfltStorage ( ) const [inline]

Definition at line 311 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 757 of file iMesh.hpp.

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

Definition at line 695 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 784 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 721 of file iMesh.hpp.

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

Definition at line 638 of file iMesh.hpp.

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

Definition at line 671 of file iMesh.hpp.

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

Definition at line 361 of file iMesh.hpp.

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

Definition at line 629 of file iMesh.hpp.

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

Definition at line 662 of file iMesh.hpp.

int getGeometricDimension ( ) const [inline]

Definition at line 294 of file iMesh.hpp.

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

Definition at line 345 of file iMesh.hpp.

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

Definition at line 337 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 415 of file iMesh.hpp.

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

Definition at line 398 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 556 of file iMesh.hpp.

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

Definition at line 542 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 272 of file iMesh.hpp.

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

Definition at line 215 of file iMesh.hpp.

bool optimize ( ) [inline]

Definition at line 353 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 283 of file iMesh.hpp.

iMesh::Error setAdjTable ( int *  adj_table,
int  table_size 
) [inline]

Definition at line 326 of file iMesh.hpp.

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

Definition at line 303 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 427 of file iMesh.hpp.

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

Definition at line 406 of file iMesh.hpp.


Member Data Documentation

AdjacencyCost adjTable[4][4] [private]

Definition at line 208 of file iMesh.hpp.

Error adjTableErr [private]

Definition at line 209 of file iMesh.hpp.

bool iMeshInstanceOwner [private]

Definition at line 207 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