ITAPS iMesh.h File Reference

#include "iBase.h"
#include "iMesh_protos.h"

Typedefs

typedef void * iMesh_Instance
 Type used to store iMesh interface handle.

typedef void * iMesh_EntityIterator
 Type used to store an iterator returned by iMesh.

typedef void * iMesh_EntityArrIterator
 Type used to store an array iterator returned by iMesh.


Enumerations

enum  iMesh_EntityTopology {
  iMesh_POINT = 0, iMesh_LINE_SEGMENT, iMesh_POLYGON, iMesh_TRIANGLE,
  iMesh_QUADRILATERAL, iMesh_POLYHEDRON, iMesh_TETRAHEDRON, iMesh_HEXAHEDRON,
  iMesh_PRISM, iMesh_PYRAMID, iMesh_SEPTAHEDRON, iMesh_ALL_TOPOLOGIES
}
 Enumerator specifying entity topology. More...


Functions

void iMesh_getErrorType (iMesh_Instance instance, int *error_type, int *err)
 Get the error type returned from the last iMesh function.

void iMesh_getDescription (iMesh_Instance instance, char *descr, int *err, int descr_len)
 Get a description of the error returned from the last iMesh function.

void iMesh_newMesh (const char *options, iMesh_Instance *instance, int *err, int options_len)
 Construct a new iMesh instance.

void iMesh_dtor (iMesh_Instance instance, int *err)
 Destroy an iMesh instance.

void iMesh_load (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const char *name, const char *options, int *err, int name_len, int options_len)
 Load a mesh from a file.

void iMesh_save (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const char *name, const char *options, int *err, const int name_len, int options_len)
 Save a mesh to a file.

void iMesh_getRootSet (iMesh_Instance instance, iBase_EntitySetHandle *root_set, int *err)
 Get handle of the root set for this instance.

void iMesh_getGeometricDimension (iMesh_Instance instance, int *geom_dim, int *err)
 Get the geometric dimension of mesh represented in this instance.

void iMesh_getDfltStorage (iMesh_Instance instance, int *order, int *err)
 Get the default storage order used by this implementation.

void iMesh_getAdjTable (iMesh_Instance instance, int **adjacency_table, int *adjacency_table_allocated, int *adjacency_table_size, int *err)
 Get the adjacency table for this implementation.

void iMesh_getNumOfType (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int entity_type, int *num_type, int *err)
 Get the number of entities with the specified type in the instance or set.

void iMesh_getNumOfTopo (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int entity_topology, int *num_topo, int *err)
 Get the number of entities with the specified topology in the instance or set.

void iMesh_areEHValid (iMesh_Instance instance, int doReset, int *areHandlesInvariant, int *err)
 Return whether entity handles have changed since last reset or since instance construction.

void iMesh_getAllVtxCoords (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, double **coordinates, int *coordinates_allocated, int *coordinates_size, int **in_entity_set, int *in_entity_set_allocated, int *in_entity_set_size, int *storage_order, int *err)
 Return coordinates of all vertices defined in this instance or set.

void iMesh_getVtxCoordIndex (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int requested_entity_type, const int requested_entity_topology, const int entity_adjacency_type, int **offset, int *offset_allocated, int *offset_size, int **index, int *index_allocated, int *index_size, int **entity_topologies, int *entity_topologies_allocated, int *entity_topologies_size, int *err)
 Get adjacent entities as connectivity lists.

void iMesh_getEntities (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int entity_type, const int entity_topology, iBase_EntityHandle **entity_handles, int *entity_handles_allocated, int *entity_handles_size, int *err)
 Get entities of specific type and/or topology in set or instance.

void iMesh_getVtxArrCoords (iMesh_Instance instance, const iBase_EntityHandle *vertex_handles, const int vertex_handles_size, int *storage_order, double **coords, int *coords_allocated, int *coords_size, int *err)
 Get coordinates of specified vertices.

void iMesh_getAdjEntities (iMesh_Instance instance, const iBase_EntityHandle entity_set_handle, const int entity_type_requestor, const int entity_topology_requestor, const int entity_type_requested, iBase_EntityHandle **adj_entity_handles, int *adj_entity_handles_allocated, int *adj_entity_handles_size, int **offset, int *offset_allocated, int *offset_size, int **in_entity_set, int *in_entity_set_allocated, int *in_entity_set_size, int *err)
 Get entities adjacent to those of requested type/topology in set or instance.

void iMesh_initEntArrIter (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int requested_entity_type, const int requested_entity_topology, const int requested_array_size, iMesh_EntityArrIterator *entArr_iterator, int *err)
 Initialize an array iterator over specified entity type, topology, and size.

void iMesh_getNextEntArrIter (iMesh_Instance instance, iMesh_EntityArrIterator entArr_iterator, iBase_EntityHandle **entity_handles, int *entity_handles_allocated, int *entity_handles_size, int *has_data, int *err)
 Get entities contained in array iterator and increment iterator.

void iMesh_resetEntArrIter (iMesh_Instance instance, iMesh_EntityArrIterator entArr_iterator, int *err)
 Reset the array iterator.

void iMesh_endEntArrIter (iMesh_Instance instance, iMesh_EntityArrIterator entArr_iterator, int *err)
 Destroy the specified array iterator.

void iMesh_getEntArrTopo (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, int **topology, int *topology_allocated, int *topology_size, int *err)
 Get the entity topology for the specified entities.

void iMesh_getEntArrType (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, int **type, int *type_allocated, int *type_size, int *err)
 Get the entity type for the specified entities.

void iMesh_getEntArrAdj (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const int entity_type_requested, iBase_EntityHandle **adjacentEntityHandles, int *adjacentEntityHandles_allocated, int *adj_entity_handles_size, int **offset, int *offset_allocated, int *offset_size, int *err)
 Get entities of specified type adjacent to entities.

void iMesh_createEntSet (iMesh_Instance instance, const int isList, iBase_EntitySetHandle *entity_set_created, int *err)
 Create an entity set.

void iMesh_destroyEntSet (iMesh_Instance instance, iBase_EntitySetHandle entity_set, int *err)
 Destroy an entity set.

void iMesh_isList (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, int *is_list, int *err)
 Return whether a specified set is ordered or unordered.

void iMesh_getNumEntSets (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int num_hops, int *num_sets, int *err)
 Get the number of entity sets contained in a set or interface.

void iMesh_getEntSets (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int num_hops, iBase_EntitySetHandle **contained_set_handles, int *contained_set_handles_allocated, int *contained_set_handles_size, int *err)
 Get the entity sets contained in a set or interface.

void iMesh_addEntToSet (iMesh_Instance instance, const iBase_EntityHandle entity_handle, iBase_EntitySetHandle *entity_set, int *err)
 Add an entity to a set.

void iMesh_rmvEntFromSet (iMesh_Instance instance, const iBase_EntityHandle entity_handle, iBase_EntitySetHandle *entity_set, int *err)
 Remove an entity from a set.

void iMesh_addEntArrToSet (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, iBase_EntitySetHandle *entity_set, int *err)
 Add an array of entities to a set.

void iMesh_rmvEntArrFromSet (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, iBase_EntitySetHandle *entity_set, int *err)
 Remove an array of entities from a set.

void iMesh_addEntSet (iMesh_Instance instance, const iBase_EntityHandle entity_set_to_add, iBase_EntitySetHandle *entity_set_handle, int *err)
 Add an entity set to a set.

void iMesh_rmvEntSet (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_to_remove, iBase_EntitySetHandle *entity_set_handle, int *err)
 Remove an entity set from a set.

void iMesh_isEntContained (iMesh_Instance instance, const iBase_EntitySetHandle containing_entity_set, const iBase_EntitySetHandle contained_entity, int *is_contained, int *err)
 Return whether an entity is contained in another set.

void iMesh_isEntSetContained (iMesh_Instance instance, const iBase_EntitySetHandle containing_entity_set, const iBase_EntitySetHandle contained_entity_set, int *is_contained, int *err)
 Return whether an entity set is contained in another set.

void iMesh_addPrntChld (iMesh_Instance instance, iBase_EntitySetHandle *parent_entity_set, iBase_EntitySetHandle *child_entity_set, int *err)
 Add parent/child links between two sets.

void iMesh_rmvPrntChld (iMesh_Instance instance, iBase_EntitySetHandle *parent_entity_set, iBase_EntitySetHandle *child_entity_set, int *err)
 Remove parent/child links between two sets.

void iMesh_isChildOf (iMesh_Instance instance, const iBase_EntitySetHandle parent_entity_set, const iBase_EntitySetHandle child_entity_set, int *is_child, int *err)
 Return whether two sets are related by parent/child links.

void iMesh_getNumChld (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, const int num_hops, int *num_child, int *err)
 Get the number of child sets linked from a specified set.

void iMesh_getNumPrnt (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, const int num_hops, int *num_parent, int *err)
 Get the number of parent sets linked from a specified set.

void iMesh_getChldn (iMesh_Instance instance, const iBase_EntitySetHandle from_entity_set, const int num_hops, iBase_EntitySetHandle **entity_set_handles, int *entity_set_handles_allocated, int *entity_set_handles_size, int *err)
 Get the child sets linked from a specified set.

void iMesh_getPrnts (iMesh_Instance instance, const iBase_EntitySetHandle from_entity_set, const int num_hops, iBase_EntitySetHandle **entity_set_handles, int *entity_set_handles_allocated, int *entity_set_handles_size, int *err)
 Get the parent sets linked from a specified set.

void iMesh_setVtxArrCoords (iMesh_Instance instance, iBase_EntityHandle *vertex_handles, const int vertex_handles_size, const int storage_order, const double *new_coords, const int new_coords_size, int *err)
 Set coordinates for an array of vertices.

void iMesh_createVtxArr (iMesh_Instance instance, const int num_verts, const int storage_order, const double *new_coords, const int new_coords_size, iBase_EntityHandle **new_vertex_handles, int *new_vertex_handles_allocated, int *new_vertex_handles_size, int *err)
 Create an array of new vertices at specified coordinates.

void iMesh_createEntArr (iMesh_Instance instance, const int new_entity_topology, const iBase_EntityHandle *lower_order_entity_handles, const int lower_order_entity_handles_size, iBase_EntityHandle **new_entity_handles, int *new_entity_handles_allocated, int *new_entity_handles_size, int **status, int *status_allocated, int *status_size, int *err)
 Create an array of new entities with specified lower-order topology.

void iMesh_deleteEntArr (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, int *err)
 Delete specified entities.

void iMesh_createTag (iMesh_Instance instance, const char *tag_name, const int tag_size, const int tag_type, iBase_TagHandle *tag_handle, int *err, const int tag_name_len)
 Create a tag with specified name, size, and type.

void iMesh_destroyTag (iMesh_Instance instance, iBase_TagHandle tag_handle, const int forced, int *err)
 Destroy a tag.

void iMesh_getTagName (iMesh_Instance instance, const iBase_TagHandle tag_handle, char *name, int *err, int name_len)
 Get the name for a given tag handle.

void iMesh_getTagSizeValues (iMesh_Instance instance, const iBase_TagHandle tag_handle, int *tag_size, int *err)
 Get size of a tag in units of numbers of tag data type.

void iMesh_getTagSizeBytes (iMesh_Instance instance, const iBase_TagHandle tag_handle, int *tag_size, int *err)
 Get size of a tag in units of bytes.

void iMesh_getTagHandle (iMesh_Instance instance, const char *tag_name, iBase_TagHandle *tag_handle, int *err, int tag_name_len)
 Get a the handle of an existing tag with the specified name.

void iMesh_getTagType (iMesh_Instance instance, const iBase_TagHandle tag_handle, int *tag_type, int *err)
 Get the data type of the specified tag handle.

void iMesh_setEntSetData (iMesh_Instance instance, iBase_EntitySetHandle entity_set_handle, const iBase_TagHandle tag_handle, const char *tag_value, const int tag_value_size, int *err)
 Set a tag value of arbitrary type on an entity set.

void iMesh_setEntSetIntData (iMesh_Instance instance, iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, const int tag_value, int *err)
 Set a tag value of integer type on an entity set.

void iMesh_setEntSetDblData (iMesh_Instance instance, iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, const double tag_value, int *err)
 Set a tag value of double type on an entity set.

void iMesh_setEntSetEHData (iMesh_Instance instance, iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, const iBase_EntityHandle tag_value, int *err)
 Set a tag value of entity handle type on an entity set.

void iMesh_getEntSetData (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const iBase_TagHandle tag_handle, char **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get the value of a tag of arbitrary type on an entity set.

void iMesh_getEntSetIntData (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, int *out_data, int *err)
 Get the value of a tag of integer type on an entity set.

void iMesh_getEntSetDblData (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, double *out_data, int *err)
 Get the value of a tag of double type on an entity set.

void iMesh_getEntSetEHData (iMesh_Instance instance, const iBase_EntitySetHandle entity_set, const iBase_TagHandle tag_handle, iBase_EntityHandle *out_data, int *err)
 Get the value of a tag of entity handle type on an entity set.

void iMesh_getAllEntSetTags (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, iBase_TagHandle **tag_handles, int *tag_handles_allocated, int *tag_handles_size, int *err)
 Get all the tags associated with a specified entity set.

void iMesh_rmvEntSetTag (iMesh_Instance instance, iBase_EntitySetHandle entity_set_handle, const iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an entity set.

void iMesh_setVtxCoords (iMesh_Instance instance, iBase_EntityHandle vertex_handle, const double x, const double y, const double z, int *err)
 Set coordinates for a vertex.

void iMesh_createVtx (iMesh_Instance instance, const double x, const double y, const double z, iBase_EntityHandle *new_vertex_handle, int *err)
 Create a new vertex at specified coordinates.

void iMesh_createEnt (iMesh_Instance instance, const int new_entity_topology, const iBase_EntityHandle *lower_order_entity_handles, const int lower_order_entity_handles_size, iBase_EntityHandle *new_entity_handle, int *status, int *err)
 Create a new entity with specified lower-order topology.

void iMesh_deleteEnt (iMesh_Instance instance, iBase_EntityHandle entity_handle, int *err)
 Delete specified entity.

void iMesh_getArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, char **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of arbitrary type for an array of entities.

void iMesh_getIntArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, int **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of integer type for an array of entities.

void iMesh_getDblArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, double **tag_values, int *tag_values_allocated, int *tag_values_size, int *err)
 Get tag values of double type for an array of entities.

void iMesh_getEHArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, iBase_EntityHandle **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get tag values of entity handle type for an array of entities.

void iMesh_setArrData (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const char *tag_values, const int tag_values_size, int *err)
 Set tag values of arbitrary type on an array of entities.

void iMesh_setIntArrData (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const int *tag_values, const int tag_values_size, int *err)
 Set tag values of integer type on an array of entities.

void iMesh_setDblArrData (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const double *tag_values, const int tag_values_size, int *err)
 Set tag values of double type on an array of entities.

void iMesh_setEHArrData (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const iBase_EntityHandle *tag_values, const int tag_values_size, int *err)
 Set tag values of entity handle type on an array of entities.

void iMesh_rmvArrTag (iMesh_Instance instance, iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an array of entities.

void iMesh_getData (iMesh_Instance instance, const iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, char **tag_value, int *tag_value_allocated, int *tag_value_size, int *err)
 Get the value of a tag of arbitrary type on an entity.

void iMesh_getIntData (iMesh_Instance instance, const iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, int *out_data, int *err)
 Get the value of a tag of integer type on an entity.

void iMesh_getDblData (iMesh_Instance instance, const iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, double *out_data, int *err)
 Get the value of a tag of double type on an entity.

void iMesh_getEHData (iMesh_Instance instance, const iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, iBase_EntityHandle *out_data, int *err)
 Get the value of a tag of entity handle type on an entity.

void iMesh_setData (iMesh_Instance instance, iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, const char *tag_value, const int tag_value_size, int *err)
 Set a tag value of arbitrary type on an entity.

void iMesh_setIntData (iMesh_Instance instance, iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, const int tag_value, int *err)
 Set a tag value of integer type on an entity.

void iMesh_setDblData (iMesh_Instance instance, iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, const double tag_value, int *err)
 Set a tag value of double type on an entity.

void iMesh_setEHData (iMesh_Instance instance, iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, const iBase_EntityHandle tag_value, int *err)
 Set a tag value of entity handle type on an entity.

void iMesh_getAllTags (iMesh_Instance instance, const iBase_EntityHandle entity_handle, iBase_TagHandle **tag_handles, int *tag_handles_allocated, int *tag_handles_size, int *err)
 Get all the tags associated with a specified entity handle.

void iMesh_rmvTag (iMesh_Instance instance, iBase_EntityHandle entity_handle, const iBase_TagHandle tag_handle, int *err)
 Remove a tag value from an entity.

void iMesh_initEntIter (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_handle, const int requested_entity_type, const int requested_entity_topology, iMesh_EntityIterator *entity_iterator, int *err)
 Initialize an iterator over specified entity type, topology, and size.

void iMesh_getNextEntIter (iMesh_Instance instance, iMesh_EntityIterator entity_iterator, iBase_EntityHandle *entity_handle, int *has_data, int *err)
 Get entity corresponding to an iterator and increment iterator.

void iMesh_resetEntIter (iMesh_Instance instance, iMesh_EntityIterator entity_iterator, int *err)
 Reset the iterator.

void iMesh_endEntIter (iMesh_Instance instance, iMesh_EntityIterator entity_iterator, int *err)
 Destroy the specified iterator.

void iMesh_getEntTopo (iMesh_Instance instance, const iBase_EntityHandle entity_handle, int *out_topo, int *err)
 Get the entity topology for the specified entity.

void iMesh_getEntType (iMesh_Instance instance, const iBase_EntityHandle entity_handle, int *out_type, int *err)
 Get the entity type for the specified entity.

void iMesh_getVtxCoord (iMesh_Instance instance, const iBase_EntityHandle vertex_handle, double *x, double *y, double *z, int *err)
 Get coordinates of specified vertex.

void iMesh_getEntAdj (iMesh_Instance instance, const iBase_EntityHandle entity_handle, const int entity_type_requested, iBase_EntityHandle **adj_entity_handles, int *adj_entity_handles_allocated, int *adj_entity_handles_size, int *err)
 Get entities of specified type adjacent to an entity.

void iMesh_subtract (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_1, const iBase_EntitySetHandle entity_set_2, iBase_EntitySetHandle *result_entity_set, int *err)
 Subtract contents of one entity set from another.

void iMesh_intersect (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_1, const iBase_EntitySetHandle entity_set_2, iBase_EntitySetHandle *result_entity_set, int *err)
 Intersect contents of one entity set with another.

void iMesh_unite (iMesh_Instance instance, const iBase_EntitySetHandle entity_set_1, const iBase_EntitySetHandle entity_set_2, iBase_EntitySetHandle *result_entity_set, int *err)
 Unite contents of one entity set with another.


Typedef Documentation

typedef void* iMesh_Instance
 

Type used to store iMesh interface handle

typedef void* iMesh_EntityIterator
 

Type used to store an iterator returned by iMesh

typedef void* iMesh_EntityArrIterator
 

Type used to store an array iterator returned by iMesh


Enumeration Type Documentation

enum iMesh_EntityTopology
 

Enumerator specifying entity topology.

Enumeration values:
iMesh_POINT  a general zero-dimensional entity
iMesh_LINE_SEGMENT  a general one-dimensional entity
iMesh_POLYGON  a general two-dimensional element
iMesh_TRIANGLE  a three-sided, two-dimensional element
iMesh_QUADRILATERAL  a four-sided, two-dimensional element
iMesh_POLYHEDRON  a general three-dimensional element
iMesh_TETRAHEDRON  a four-sided, three-dimensional element whose faces are triangles
iMesh_HEXAHEDRON  a six-sided, three-dimensional element whose faces are quadrilaterals
iMesh_PRISM  a five-sided, three-dimensional element which has three quadrilateral faces and two triangular faces
iMesh_PYRAMID  a five-sided, three-dimensional element which has one quadrilateral face and four triangular faces
iMesh_SEPTAHEDRON  a hexahedral entity with one collapsed edge
iMesh_ALL_TOPOLOGIES  allows the user to request information about all the topology types


Function Documentation

void iMesh_getErrorType iMesh_Instance  instance,
int *  error_type,
int *  err
 

Get the error type returned from the last iMesh function. Value returned is a member of the iBase_ErrorType enumeration.

Parameters:
instance iMesh instance handle
*error_type Error type returned from last iMesh function
*err Pointer to error type returned from function

void iMesh_getDescription iMesh_Instance  instance,
char *  descr,
int *  err,
int  descr_len
 

Get a description of the error returned from the last iMesh function

Parameters:
instance iMesh instance handle
descr Pointer to a character string to be filled with a description of the error from the last iMesh function
*err Pointer to error type returned from function
descr_len Length of the character string pointed to by descr

void iMesh_newMesh const char *  options,
iMesh_Instance instance,
int *  err,
int  options_len
 

Construct a new iMesh instance, using implementation-specific options

Parameters:
options Pointer to implementation-specific options string
instance Pointer to iMesh instance handle returned from function
*err Pointer to error type returned from function
options_len Length of the character string pointed to by options

void iMesh_dtor iMesh_Instance  instance,
int *  err
 

Destroy an iMesh instance

Parameters:
instance iMesh instance to be destroyed
*err Pointer to error type returned from function

void iMesh_load iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const char *  name,
const char *  options,
int *  err,
int  name_len,
int  options_len
 

Load a mesh from a file. If entity set is specified, loaded mesh is added to that set; specify zero if that is not desired.

Parameters:
instance iMesh instance handle
entity_set_handle Set to which loaded mesh will be added, zero if not desired
name File name from which mesh is to be loaded
options Pointer to implementation-specific options string
*err Pointer to error type returned from function
name_len Length of the file name character string
options_len Length of the options character string

void iMesh_save iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const char *  name,
const char *  options,
int *  err,
const int  name_len,
int  options_len
 

Save a mesh to a file. If entity set is specified, save only the mesh contained in that set.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being saved
name File name to which mesh is to be saved
options Pointer to implementation-specific options string
*err Pointer to error type returned from function
name_len Length of the file name character string
options_len Length of the options character string

void iMesh_getRootSet iMesh_Instance  instance,
iBase_EntitySetHandle *  root_set,
int *  err
 

Get handle of the root set for this instance. All mesh in this instance can be accessed from this set.

Parameters:
instance iMesh instance handle
root_set Pointer to set handle returned from function
*err Pointer to error type returned from function

void iMesh_getGeometricDimension iMesh_Instance  instance,
int *  geom_dim,
int *  err
 

Get the geometric dimension of mesh represented in this instance

Parameters:
instance iMesh instance handle
geom_dim Pointer to dimension returned from this function
*err Pointer to error type returned from function

void iMesh_getDfltStorage iMesh_Instance  instance,
int *  order,
int *  err
 

Get the default storage order used by this implementation. Value returned is a member of the iBase_StorageOrder enumeration.

Parameters:
instance iMesh instance handle
order Pointer to storage order returned from function
*err Pointer to error type returned from function

void iMesh_getAdjTable iMesh_Instance  instance,
int **  adjacency_table,
int *  adjacency_table_allocated,
int *  adjacency_table_size,
int *  err
 

Get the adjacency table for this implementation. This table is a 4x4 array, with indices 0-based, where A(i,j) (i=row, j=column) represents the relative cost of retrieving adjacencies between entities of dimension i to entities of dimension j

Parameters:
instance iMesh instance handle
*adjacency_table Pointer to array representing adjacency table returned from function
adjacency_table_allocated Pointer to allocated size of adjacency table
adjacency_table_size Pointer to occupied size of adjacency table
*err Pointer to error type returned from function

void iMesh_getNumOfType iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const int  entity_type,
int *  num_type,
int *  err
 

Get the number of entities with the specified type in the instance or set. If entity set handle is zero, return information for instance, otherwise for set. Value of entity type must be from the iBase_EntityType enumeration. If iBase_ALL_TYPES is specified, total number of entities (excluding entity sets) is returned.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being queried
entity_type Type of entity requested
num_type Pointer to number of entities, returned from function
*err Pointer to error type returned from function

void iMesh_getNumOfTopo iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const int  entity_topology,
int *  num_topo,
int *  err
 

Get the number of entities with the specified topology in the instance or set. If entity set handle is zero, return information for instance, otherwise for set. Value of entity topology must be from the iMesh_EntityTopology enumeration. If iMesh_ALL_TOPOLOGIES is specified, total number of entities (excluding entity sets) is returned.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being queried
entity_topology Topology of entity requested
num_topo Pointer to number of entities, returned from function
*err Pointer to error type returned from function

void iMesh_areEHValid iMesh_Instance  instance,
int  doReset,
int *  areHandlesInvariant,
int *  err
 

Return whether entity handles have changed since last reset or since instance construction. If non-zero value is returned, it is not guaranteed that a handle from before the last call to this function represents the same entity as the same handle value does now. If doReset is non-zero, resets the starting point for this function.

Parameters:
instance iMesh instance handle
doReset Perform a reset on the starting point after which handles are invariant.
areHandlesInvariant Pointer to invariant flag returned from function
*err Pointer to error type returned from function

void iMesh_getAllVtxCoords iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
double **  coordinates,
int *  coordinates_allocated,
int *  coordinates_size,
int **  in_entity_set,
int *  in_entity_set_allocated,
int *  in_entity_set_size,
int *  storage_order,
int *  err
 

Return coordinates of all vertices defined in this instance or set. If non-zero set is input, return coordinates for vertices either in the set or contained by entities in the set. If storage order is a value other than iBase_UNDETERMINED, coordinates are returned with that storage order; otherwise storage order is in native order with respect to the implementation. On return, storage order contains order of the returned coordinates.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set for which vertex coordinates are requested
*coordinates Pointer to array holding coordinates
*coordinates_allocated Pointer to allocated size of coordinates array
*coordinates_size Pointer to occupied size of coordinates array
*in_entity_set Pointer to array of flags; if entity set was input, (*in_entity_set)[i]=1 indicates that vertex i was in the entity set, zero otherwise.
*in_entity_set_allocated Pointer to allocated size of in_entity_set array
*in_entity_set_size Pointer to occupied size of in_entity_set array
*storage_order Pointer to storage order requested/returned from function
*err Pointer to error type returned from function

void iMesh_getVtxCoordIndex iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const int  requested_entity_type,
const int  requested_entity_topology,
const int  entity_adjacency_type,
int **  offset,
int *  offset_allocated,
int *  offset_size,
int **  index,
int *  index_allocated,
int *  index_size,
int **  entity_topologies,
int *  entity_topologies_allocated,
int *  entity_topologies_size,
int *  err
 

For a specified set handle, entity type and/or entity topology, return connectivity of adjacent entities of specified dimension. Connectivity is expressed as index into array of vertices returned by getEntities function. offset[i] is the index of the first vertex of the first entity adjacent to entity i in the entity set or the mesh. The topology of entities whose connectivity is returned is given in the entity_topologies array.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being queried
requested_entity_type Type of entity requested
requested_entity_topology Topology of entity requested
entity_adjacency_type Adjacency type
*offset Pointer to array of offsets returned from function
*offset_allocated Pointer to allocated size of offset array
*offset_size Pointer to occupied size of offset array
*index Pointer to array of indices returned from function
*index_allocated Pointer to allocated size of index array
*index_size Pointer to occupied size of index array
*entity_topologies Pointer to array of entity topologies returned from function
*entity_topologies_allocated Pointer to allocated size of entity_topologies array
*entity_topologies_size Pointer to occupied size of entity_topologies array
*err Pointer to error type returned from function

void iMesh_getEntities iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const int  entity_type,
const int  entity_topology,
iBase_EntityHandle **  entity_handles,
int *  entity_handles_allocated,
int *  entity_handles_size,
int *  err
 

Get entities of specific type and/or topology in set or instance. All entities of a given type or topology are requested by specifying iBase_ALL_TOPOLOGIES or iBase_ALL_TYPES, respectively. Specified type or topology must be a value in the iBase_EntityType or iBase_EntityTopology enumeration, respectively.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being queried
entity_type Type of entities being requested
entity_topology Topology of entities being requested
*entity_handles Pointer to array of entity handles returned from function
*entity_handles_allocated Pointer to allocated size of entity_handles array
*entity_handles_size Pointer to occupied size of entity_handles array
*err Pointer to error type returned from function

void iMesh_getVtxArrCoords iMesh_Instance  instance,
const iBase_EntityHandle *  vertex_handles,
const int  vertex_handles_size,
int *  storage_order,
double **  coords,
int *  coords_allocated,
int *  coords_size,
int *  err
 

Get coordinates of specified vertices. If storage order is passed in with a value other than iBase_UNDETERMINED, coordinates are returned in the specified storage order, otherwise storage order is that native to the implementation. Storage order of returned coordinates is also returned.

Parameters:
instance iMesh instance handle
vertex_handles Array of mesh vertex handles whose coordinates are being requested
vertex_handles_size Number of vertices in vertex_handles array
storage_order Pointer to storage order requested/returned from function
*coords Pointer to array of coordinates returned from function
*coords_allocated Pointer to allocated size of coords array
*coords_size Pointer to occupied size of coords array
*err Pointer to error type returned from function

void iMesh_getAdjEntities iMesh_Instance  instance,
const iBase_EntityHandle  entity_set_handle,
const int  entity_type_requestor,
const int  entity_topology_requestor,
const int  entity_type_requested,
iBase_EntityHandle **  adj_entity_handles,
int *  adj_entity_handles_allocated,
int *  adj_entity_handles_size,
int **  offset,
int *  offset_allocated,
int *  offset_size,
int **  in_entity_set,
int *  in_entity_set_allocated,
int *  in_entity_set_size,
int *  err
 

Get entities adjacent to those of requested type/topology in set or instance. If set is specified, also returns whether each adjacent entity is in the set ((*in_entity_set)[i]=1 indicates that adjacent entity (*adj_entity_handles)[i] is in the specified set). If adjacencies for all entities of specified type or topology are desired, specify iMesh_ALL_TOPOLOGIES or iBase_ALL_TYPES, respectively. Types and topologies input to this function must be values in the iBase_EntityType or iBase_EntityTopology enumerations, respectively. offset[i] stores index of first adjacent entity to entity i from mesh or set.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set whose adjacent entities are requested (zero indicates whole mesh)
entity_type_requestor Return entities adjacent to entities of this type
entity_topology_requestor Return entities adjacent to entities of this topology
entity_type_requested Return adjacent entities of this type
*adj_entity_handles Pointer to array of adjacent entity handles returned from function
*adj_entity_handles_allocated Pointer to allocated size of adj_entity_handles array
*adj_entity_handles_size Pointer to occupied size of adj_entity_handles array
*offset Pointer to array of offsets returned from function
*offset_allocated Pointer to allocated size of offset array
*offset_size Pointer to occupied size of offset array
*in_entity_set Pointer to array of in_entity_set returned from function
*in_entity_set_allocated Pointer to allocated size of in_entity_set array
*in_entity_set_size Pointer to occupied size of in_entity_set array
*err Pointer to error type returned from function

void iMesh_initEntArrIter iMesh_Instance  instance,
const iBase_EntitySetHandle  entity_set_handle,
const int  requested_entity_type,
const int  requested_entity_topology,
const int  requested_array_size,
iMesh_EntityArrIterator entArr_iterator,
int *  err
 

Initialize an array iterator over specified entity type, topology, and size, for a specified set or instance. Iterator returned can be used as input to functions returning entities for the iterator. If all entities of a specified type and/or topology are to be iterated, specify iBase_ALL_TYPES or iMesh_ALL_TOPOLOGIES, respectively. Specified type or topology must be a value in the iBase_EntityType or iMesh_EntityTopology enumerations, respectively.

Parameters:
instance iMesh instance handle
entity_set_handle Entity set being iterated
requested_entity_type Type of entity to iterate
requested_entity_topology Topology of entity to iterate
requested_array_size Size of chunks of handles returned for each value of the iterator
entArr_iterator Pointer to iterator returned from function
*err Pointer to error type returned from function

void iMesh_getNextEntArrIter iMesh_Instance  instance,
iMesh_EntityArrIterator  entArr_iterator,
iBase_EntityHandle **  entity_handles,
int *  entity_handles_allocated,
int *  entity_handles_size,
int *  has_data,
int *  err
 

Get the entities contained in an array iterator, and increment the iterator. Also return whether the next value of the iterator has any entities (if non-zero, next iterator value is the end of the iteration).

Parameters:
instance iMesh instance handle
entArr_iterator Iterator being queried
*entity_handles Pointer to array of entity handles contained in current value of iterator
*entity_handles_allocated Pointer to allocated size of entity_handles array
*entity_handles_size Pointer to occupied size of entity_handles array
has_data Pointer to flag; if returned non-zero, next iterator has a non-zero number of entities
*err Pointer to error type returned from function

void iMesh_resetEntArrIter iMesh_Instance  instance,
iMesh_EntityArrIterator  entArr_iterator,
int *  err
 

Reset the array iterator

Parameters:
instance iMesh instance handle
entArr_iterator Iterator to reset
*err Pointer to error type returned from function

void iMesh_endEntArrIter iMesh_Instance  instance,
iMesh_EntityArrIterator  entArr_iterator,
int *  err
 

Destroy the specified array iterator

Parameters:
instance iMesh instance handle
entArr_iterator Iterator which gets destroyed
*err Pointer to error type returned from function

void iMesh_getEntArrTopo iMesh_Instance  instance,
const iBase_EntityHandle *  entity_handles,
const int  entity_handles_size,
int **  topology,
int *  topology_allocated,
int *  topology_size,
int *  err
 

Get the entity topology for the specified entities. Topologies returned are values in the iMesh_EntityTopology enumeration.

Parameters:
instance iMesh instance handle
entity_handles Array of entity handles being queried
entity_handles_size Number of entities in entity_handles array
*topology Pointer to array of entity topologies returned from function
*topology_allocated Pointer to allocated size of topology array
*topology_size Pointer to occupied size of topology array
*err Pointer to error type returned from function

void iMesh_getEntArrType iMesh_Instance  instance,
const iBase_EntityHandle *  entity_handles,
const int  entity_handles_size,
int **  type,
int *  type_allocated,
int *  type_size,
int *  err
 

Get the entity type for the specified entities. Types returned are values in the iBase_EntityType enumeration.

Parameters:
instance iMesh instance handle
entity_handles Array of entity handles being queried
entity_handles_size Number of entities in entity_handles array
*type Pointer to array of types returned from function
*type_allocated Pointer to allocated size of type array
*type_size Pointer to occupied size of type array
*err Pointer to error type returned from function

void iMesh_getEntArrAdj iMesh_Instance  instance,
const iBase_EntityHandle *  entity_handles,
const int  entity_handles_size,
const int  entity_type_requested,
iBase_EntityHandle **  adjacentEntityHandles,
int *  adjacentEntityHandles_allocated,
int *  adj_entity_handles_size,
int **  offset,
int *  offset_allocated,
int *  offset_size,
int *  err
 

Get entities of specified type adjacent to entities. Specified type must be value in the iBase_EntityType enumeration. offset(i) is