cgma
iGeom.h File Reference
#include "iGeom_protos.h"
#include "CGMIGeomConfigure.h"

Go to the source code of this file.

Classes

struct  iBase_Error

Defines

#define IBASE_VERSION_MAJOR   1
 Compile time version number digits.
#define IBASE_VERSION_MINOR   4
#define IBASE_VERSION_PATCH   1
#define IBASE_VERSION_GE(Maj, Min, Pat)
 Version Comparison.
#define IBASE_VERSION_STRING___(I, X, Y, Z)   #I "_Version_" #X "." #Y "." #Z
 Compose compile-time string represention of the version number.
#define IBASE_VERSION_STRING__(I, X, Y, Z)   IBASE_VERSION_STRING___(I,X,Y,Z)
#define IBASE_VERSION_STRING_(I)   IBASE_VERSION_STRING__(I,IBASE_VERSION_MAJOR,IBASE_VERSION_MINOR,IBASE_VERSION_PATCH)
#define IBASE_VERSION_STRING   IBASE_VERSION_STRING_(iBase)
#define IBASE_VERSION_TAG__(I, X, Y, Z)   I##_Version_##X##_##Y##_##Z
 Compose compile-time symbol name derived from the version number.
#define IBASE_VERSION_TAG_(I, X, Y, Z)   IBASE_VERSION_TAG__(I,X,Y,Z)
#define IBASE_VERSION_TAG(I)   IBASE_VERSION_TAG_(I,IBASE_VERSION_MAJOR,IBASE_VERSION_MINOR,IBASE_VERSION_PATCH)
#define ITAPS_VERSION_MAJOR   IBASE_VERSION_MAJOR
 ITAPS-wide (across all ITAPS APIs) version handling.
#define ITAPS_VERSION_MINOR   IBASE_VERSION_MINOR
#define ITAPS_VERSION_PATCH   IBASE_VERSION_PATCH
#define ITAPS_VERSION_GE(Maj, Min, Pat)   IBASE_VERSION_GE(Maj,Min,Pat)
#define ITAPS_VERSION_STRING_(I)   IBASE_VERSION_STRING_(I)
#define ITAPS_VERSION_STRING   ITAPS_VERSION_STRING_(ITAPS)
#define ITAPS_VERSION_TAG_(I)   IBASE_VERSION_TAG(I)
#define ITAPS_VERSION_TAG   ITAPS_VERSION_TAG_(I)
#define IBASE_MINENUM(enumName)   enumName ## _MIN
#define IBASE_MAXENUM(enumName)   enumName ## _MAX
#define IBASE_NUMENUM(enumName)   ((int)IBASE_MAXENUM(enumName) - (int)IBASE_MINENUM(enumName) + 1)
#define IBASE_INCENUM(enumName, I)   (I = (enum enumName)((int)I+1))

Typedefs

typedef void * iBase_Instance
typedef struct
iBase_EntityHandle_Private * 
iBase_EntityHandle
typedef struct
iBase_EntitySetHandle_Private * 
iBase_EntitySetHandle
typedef struct
iBase_TagHandle_Private * 
iBase_TagHandle
typedef struct
iBase_EntityIterator_Private * 
iBase_EntityIterator
typedef struct
iBase_EntityArrIterator_Private * 
iBase_EntityArrIterator

Enumerations

enum  iBase_EntityType {
  iBase_EntityType_MIN = 0, iBase_VERTEX = iBase_EntityType_MIN, iBase_EDGE, iBase_FACE,
  iBase_REGION, iBase_ALL_TYPES, iBase_EntityType_MAX = iBase_ALL_TYPES
}
enum  iBase_AdjacencyCost {
  iBase_AdjacencyCost_MIN = 0, iBase_UNAVAILABLE = iBase_AdjacencyCost_MIN, iBase_ALL_ORDER_1, iBase_ALL_ORDER_LOGN,
  iBase_ALL_ORDER_N, iBase_SOME_ORDER_1, iBase_SOME_ORDER_LOGN, iBase_SOME_ORDER_N,
  iBase_AVAILABLE, iBase_AdjacencyCost_MAX = iBase_AVAILABLE
}
enum  iBase_CreationStatus {
  iBase_CreationStatus_MIN = 0, iBase_NEW = iBase_CreationStatus_MIN, iBase_ALREADY_EXISTED, iBase_CREATED_DUPLICATE,
  iBase_CREATION_FAILED, iBase_CreationStatus_MAX = iBase_CREATION_FAILED
}
enum  iBase_ErrorType {
  iBase_ErrorType_MIN = 0, iBase_SUCCESS = iBase_ErrorType_MIN, iBase_MESH_ALREADY_LOADED, iBase_FILE_NOT_FOUND,
  iBase_FILE_WRITE_ERROR, iBase_NIL_ARRAY, iBase_BAD_ARRAY_SIZE, iBase_BAD_ARRAY_DIMENSION,
  iBase_INVALID_ENTITY_HANDLE, iBase_INVALID_ENTITY_COUNT, iBase_INVALID_ENTITY_TYPE, iBase_INVALID_ENTITY_TOPOLOGY,
  iBase_BAD_TYPE_AND_TOPO, iBase_ENTITY_CREATION_ERROR, iBase_INVALID_TAG_HANDLE, iBase_TAG_NOT_FOUND,
  iBase_TAG_ALREADY_EXISTS, iBase_TAG_IN_USE, iBase_INVALID_ENTITYSET_HANDLE, iBase_INVALID_ITERATOR_HANDLE,
  iBase_INVALID_ARGUMENT, iBase_MEMORY_ALLOCATION_FAILED, iBase_NOT_SUPPORTED, iBase_FAILURE,
  iBase_ErrorType_MAX = iBase_FAILURE
}
enum  iBase_StorageOrder { iBase_StorageOrder_MIN = 0, iBase_BLOCKED = iBase_StorageOrder_MIN, iBase_INTERLEAVED, iBase_StorageOrder_MAX = iBase_INTERLEAVED }
enum  iBase_TagValueType {
  iBase_TagValueType_MIN = 0, iBase_BYTES = iBase_TagValueType_MIN, iBase_INTEGER, iBase_DOUBLE,
  iBase_ENTITY_HANDLE, iBase_ENTITY_SET_HANDLE, iBase_TagValueType_MAX = iBase_ENTITY_SET_HANDLE
}

Define Documentation

#define IBASE_VERSION_MINOR   4

Definition at line 20 of file iGeom.h.

#define IBASE_VERSION_PATCH   1

Definition at line 21 of file iGeom.h.

Definition at line 42 of file iGeom.h.

#define IBASE_VERSION_STRING__ (   I,
  X,
  Y,
  Z 
)    IBASE_VERSION_STRING___(I,X,Y,Z)

Definition at line 40 of file iGeom.h.

#define IBASE_VERSION_TAG_ (   I,
  X,
  Y,
  Z 
)    IBASE_VERSION_TAG__(I,X,Y,Z)

Definition at line 49 of file iGeom.h.

#define ITAPS_VERSION_GE (   Maj,
  Min,
  Pat 
)    IBASE_VERSION_GE(Maj,Min,Pat)

Definition at line 59 of file iGeom.h.

Definition at line 57 of file iGeom.h.

Definition at line 58 of file iGeom.h.

Definition at line 61 of file iGeom.h.

#define ITAPS_VERSION_STRING_ (   I)    IBASE_VERSION_STRING_(I)

Definition at line 60 of file iGeom.h.

Definition at line 63 of file iGeom.h.

#define ITAPS_VERSION_TAG_ (   I)    IBASE_VERSION_TAG(I)

Definition at line 62 of file iGeom.h.


Typedef Documentation

typedef struct iBase_EntityArrIterator_Private* iBase_EntityArrIterator

Definition at line 103 of file iGeom.h.

typedef struct iBase_EntityHandle_Private* iBase_EntityHandle

Definition at line 99 of file iGeom.h.

typedef struct iBase_EntityIterator_Private* iBase_EntityIterator

Definition at line 102 of file iGeom.h.

typedef struct iBase_EntitySetHandle_Private* iBase_EntitySetHandle

Definition at line 100 of file iGeom.h.

typedef void* iBase_Instance

Definition at line 98 of file iGeom.h.

typedef struct iBase_TagHandle_Private* iBase_TagHandle

Definition at line 101 of file iGeom.h.


Enumeration Type Documentation

Enumerator:
iBase_AdjacencyCost_MIN 

facilitates iteration over all values

iBase_UNAVAILABLE 

Adjacency information not supported

iBase_ALL_ORDER_1 

No more than local mesh traversal required (i!=j)

iBase_ALL_ORDER_LOGN 

Global tree search (i!=j)

iBase_ALL_ORDER_N 

Global exhaustive search (i!=j)

iBase_SOME_ORDER_1 

Only some adjacency info, local (i!=j)

iBase_SOME_ORDER_LOGN 

Only some adjacency info, tree (i!=j)

iBase_SOME_ORDER_N 

Only some adjacency info, exhaustive (i!=j)

iBase_AVAILABLE 

ALL (intermediate) entities available. (i==j)

iBase_AdjacencyCost_MAX 

facilitates iteration over all values

Definition at line 128 of file iGeom.h.

Enumerator:
iBase_CreationStatus_MIN 

facilitates iteration over all values

iBase_NEW 

The entity was newly created

iBase_ALREADY_EXISTED 

The entity already existed and the handle for that already existing handle was returned

iBase_CREATED_DUPLICATE 

The entity already existed but a new, duplicate entity was nevertheless created

iBase_CREATION_FAILED 

Creation of the entity did not succeed

iBase_CreationStatus_MAX 

facilitates iteration over all values

Definition at line 151 of file iGeom.h.

Enumerator:
iBase_EntityType_MIN 

facilitates iteration over all values

iBase_VERTEX 

A topological dimension 0 entity

iBase_EDGE 

A topological dimension 1 entity

iBase_FACE 

A topological dimension 2 entity

iBase_REGION 

A topological dimension 3 entity

iBase_ALL_TYPES 

used only in queires to request information about all types

iBase_EntityType_MAX 

facilitates iteration over all values

Definition at line 111 of file iGeom.h.

Enumerator:
iBase_ErrorType_MIN 

facilitates iteration over all values

iBase_SUCCESS 
iBase_MESH_ALREADY_LOADED 
iBase_FILE_NOT_FOUND 
iBase_FILE_WRITE_ERROR 
iBase_NIL_ARRAY 
iBase_BAD_ARRAY_SIZE 
iBase_BAD_ARRAY_DIMENSION 
iBase_INVALID_ENTITY_HANDLE 
iBase_INVALID_ENTITY_COUNT 
iBase_INVALID_ENTITY_TYPE 
iBase_INVALID_ENTITY_TOPOLOGY 
iBase_BAD_TYPE_AND_TOPO 
iBase_ENTITY_CREATION_ERROR 
iBase_INVALID_TAG_HANDLE 
iBase_TAG_NOT_FOUND 
iBase_TAG_ALREADY_EXISTS 
iBase_TAG_IN_USE 
iBase_INVALID_ENTITYSET_HANDLE 
iBase_INVALID_ITERATOR_HANDLE 
iBase_INVALID_ARGUMENT 
iBase_MEMORY_ALLOCATION_FAILED 
iBase_NOT_SUPPORTED 
iBase_FAILURE 
iBase_ErrorType_MAX 

facilitates iteration over all values

Definition at line 168 of file iGeom.h.

Many of the functions in iMesh can return arrays of tuples; that is, arrays of multi-valued type. For example, the function iMesh_getVtxArrCoords, returns an array of xyz coordinate 3-tuples (or, perhaps for geometrically 2D meshes, xy 2-tuples). In these situations, there are multiple ways the data can be organized in memory. For example, it could be stored xyz,xyz,xyz or xxx...,yyy...,zzz.... These two different storage orders are referred to as INTERLEAVED and BLOCKED, respectively. For some functions in iMesh, the storage order is explicitly specified as an argument to the function. For other functions, the storage order is not explicitly specified. And, in these cases, it shall always be implicitly assumed to be INTERLEAVED. This fact will be mentioned in the documentation for each specific function where it applies. For example, in case of iMesh_getEntArrAdj, the returned array of adjacent entities is multi-valued in that it stores for each entity queried, all its adjacent entities. Such an array will be stored INTERLEAVED with all adjacent entities for the first entity in the query followed by all adjacent entities for the second entity in the query and so forth.

Enumerator:
iBase_StorageOrder_MIN 

facilitates iteration over all values

iBase_BLOCKED 

xxx...yyy...zzz...

iBase_INTERLEAVED 

xyzxyzxyz...

iBase_StorageOrder_MAX 

facilitates iteration over all values

Definition at line 218 of file iGeom.h.

Enumerator:
iBase_TagValueType_MIN 

facilitates iteration over all values

iBase_BYTES 

An opaque sequence of bytes, size always measured in bytes

iBase_INTEGER 

A value of type int

iBase_DOUBLE 

A value of type double

iBase_ENTITY_HANDLE 

A value of type iBase_EntityHandle

iBase_ENTITY_SET_HANDLE 

A value of type iBase_EntitySetHandle

iBase_TagValueType_MAX 

facilitates iteration over all values

Definition at line 229 of file iGeom.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines