moab
|
Functions | |
void | iMesh_getArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, void *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) |
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) |
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) |
void | iMesh_getESHArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, iBase_EntitySetHandle **tag_value, int *tag_value_allocated, int *tag_value_size, int *err) |
Get tag values of entity set handle type for an array of. | |
void | iMesh_setArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const void *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, const 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) |
void | iMesh_setDblArrData (iMesh_Instance instance, const 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) |
void | iMesh_setEHArrData (iMesh_Instance instance, const 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) |
void | iMesh_setESHArrData (iMesh_Instance instance, const iBase_EntityHandle *entity_handles, const int entity_handles_size, const iBase_TagHandle tag_handle, const iBase_EntitySetHandle *tag_values, const int tag_values_size, int *err) |
Set tag values of entity set handle type on an array of. |
void iMesh_getArrData | ( | iMesh_Instance | instance, |
const iBase_EntityHandle * | entity_handles, | ||
const int | entity_handles_size, | ||
const iBase_TagHandle | tag_handle, | ||
void * | tag_values, | ||
int * | tag_values_allocated, | ||
int * | tag_values_size, | ||
int * | err | ||
) |
Get tag values of arbitrary type for an array of entities.
Get tag values of arbitrary type for an array of entities. Tag data is returned as void*. tag_values_size specifies the size of the memory pointed to by tag_values in terms of bytes. Applications may use this function to get data of any type, not just iBase_BYTES. However, because this function supports data of arbitrary type, in all cases the size specified by tag_values_size always in terms of bytes.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in,out] | tag_values | Pointer to tag data array being returned. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) Array pointer, allocated and occupied sizes argument trio) |
[in,out] | tag_values_allocated | Pointer to allocated size of tag data array |
[out] | tag_values_size | Pointer to occupied size in bytes of tag data |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 1893 of file iMesh_MOAB.cpp.
{ if (0 == entity_handles_size) RETURN(iBase_SUCCESS); CHKNONEMPTY(); const EntityHandle *ents = reinterpret_cast<const EntityHandle *>(entity_handles); Tag tag = TAG_HANDLE(tag_handle); int tag_size; ErrorCode result = MOABI->tag_get_bytes(tag, tag_size); if (MB_SUCCESS != result) { int nerr=-1; char tagn[64], msg[256]; iMesh_getTagName(instance, tag_handle, tagn, &nerr, sizeof(tagn)); snprintf(msg, sizeof(msg), "iMesh_getArrData: couldn't get size for tag \"%s\"", nerr==0?tagn:"unknown"); ERROR(result, msg); } ALLOC_CHECK_TAG_ARRAY(tag_values, tag_size * entity_handles_size); result = MOABI->tag_get_data(tag, ents, entity_handles_size, *static_cast<void**>(tag_values)); if (MB_SUCCESS != result) { std::string message("iMesh_getArrData: "); if (MB_TAG_NOT_FOUND == result) message += "tag not found"; else message += "failed"; std::string name; if (MB_SUCCESS == MOABI->tag_get_name( tag, name )) { message += "for tag \""; message += name; message += "\"."; } ERROR(result, message.c_str()); } KEEP_ARRAY(tag_values); RETURN(iBase_SUCCESS); }
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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in,out] | tag_values | Pointer to tag data array being returned. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) Array pointer, allocated and occupied sizes argument trio) |
[in,out] | tag_values_allocated | Pointer to allocated size of tag data array |
[out] | tag_values_size | Pointer to occupied size of tag data array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 1963 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_DOUBLE); *tag_values_allocated *= sizeof(double); if (tag_values_size != tag_values_allocated) *tag_values_size *= sizeof(double); iMesh_getArrData(instance, entity_handles, entity_handles_size, tag_handle, tag_values, tag_values_allocated, tag_values_size, err); *tag_values_allocated /= sizeof(double); if (tag_values_size != tag_values_allocated) *tag_values_size /= sizeof(double); }
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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in,out] | tag_value | Pointer to tag data array being returned. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) Array pointer, allocated and occupied sizes argument trio) |
[in,out] | tag_value_allocated | Pointer to allocated size of tag data array |
[out] | tag_value_size | Pointer to occupied size of tag data array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 1982 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_ENTITY_HANDLE); *tag_value_allocated *= sizeof(iBase_EntityHandle); if (tag_value_size != tag_value_allocated) *tag_value_size *= sizeof(iBase_EntityHandle); iMesh_getArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<void**>(tag_value), tag_value_allocated, tag_value_size, err); *tag_value_allocated /= sizeof(iBase_EntityHandle); if (tag_value_size != tag_value_allocated) *tag_value_size /= sizeof(iBase_EntityHandle); }
void iMesh_getESHArrData | ( | iMesh_Instance | instance, |
const iBase_EntityHandle * | entity_handles, | ||
const int | entity_handles_size, | ||
const iBase_TagHandle | tag_handle, | ||
iBase_EntitySetHandle ** | tag_value, | ||
int * | tag_value_allocated, | ||
int * | tag_value_size, | ||
int * | err | ||
) |
Get tag values of entity set handle type for an array of.
entities Get tag values of entity set handle type for an array of entities.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in,out] | tag_value | Pointer to tag data array being returned. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) Array pointer, allocated and occupied sizes argument trio) |
[in,out] | tag_value_allocated | Pointer to allocated size of tag data array |
[out] | tag_value_size | Pointer to occupied size of tag data array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2002 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_ENTITY_SET_HANDLE); *tag_value_allocated *= sizeof(iBase_EntityHandle); if (tag_value_size != tag_value_allocated) *tag_value_size *= sizeof(iBase_EntityHandle); iMesh_getArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<void**>(tag_value), tag_value_allocated, tag_value_size, err); *tag_value_allocated /= sizeof(iBase_EntityHandle); if (tag_value_size != tag_value_allocated) *tag_value_size /= sizeof(iBase_EntityHandle); }
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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in,out] | tag_values | Pointer to tag data array being returned. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) Array pointer, allocated and occupied sizes argument trio) |
[in,out] | tag_values_allocated | Pointer to allocated size of tag data array |
[out] | tag_values_size | Pointer to occupied size of tag data array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 1943 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_INTEGER); *tag_values_allocated *= sizeof(int); if (tag_values_size != tag_values_allocated) *tag_values_size *= sizeof(int); iMesh_getArrData(instance, entity_handles, entity_handles_size, tag_handle, tag_values, tag_values_allocated, tag_values_size, err); *tag_values_allocated /= sizeof(int); if (tag_values_size != tag_values_allocated) *tag_values_size /= sizeof(int); }
void iMesh_setArrData | ( | iMesh_Instance | instance, |
const iBase_EntityHandle * | entity_handles, | ||
const int | entity_handles_size, | ||
const iBase_TagHandle | tag_handle, | ||
const void * | tag_values, | ||
const int | tag_values_size, | ||
int * | err | ||
) |
Set tag values of arbitrary type on an array of entities.
Set tag values of arbitrary type on an array of entities. Tag data is passed as void*. tag_values_size specifies the size of the memory pointed to by tag_values in terms of bytes. Applications may use this function to set data of any type, not just iBase_BYTES. However, because this function supports data of arbitrary type, in all cases the size specified by tag_values_size is always in terms of bytes.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in] | tag_values | Pointer to tag data being set on entity. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) |
[in] | tag_values_size | Size in bytes of tag data |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2022 of file iMesh_MOAB.cpp.
{ if (0 == entity_handles_size) RETURN(iBase_SUCCESS); CHKNONEMPTY(); int tag_size; iMesh_getTagSizeBytes(instance, tag_handle, &tag_size, err); // Check err manually and just return if not iBase_SUCCESS to not step on // the error set in iMesh_getTagSizeBytes(). if (iBase_SUCCESS != *err) return; if (tag_values_size != (tag_size * entity_handles_size)) { ERROR(iBase_BAD_ARRAY_SIZE, "iMesh_setArrData: bad tag_values_size passed."); } ErrorCode result = MOABI->tag_set_data(TAG_HANDLE(tag_handle), CONST_HANDLE_ARRAY_PTR(entity_handles), entity_handles_size, tag_values); CHKERR(result, "iMesh_setArrData didn't succeed."); RETURN(iBase_SUCCESS); }
void iMesh_setDblArrData | ( | iMesh_Instance | instance, |
const 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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in] | tag_values | Pointer to tag data being set on entities. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) |
[in] | tag_values_size | Size in total number of doubles of tag data |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2066 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_DOUBLE); iMesh_setArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<const char*>(tag_values), sizeof(double)*tag_values_size, err); }
void iMesh_setEHArrData | ( | iMesh_Instance | instance, |
const 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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in] | tag_values | Pointer to tag data being set on entities. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) |
[in] | tag_values_size | Size in total number of entity handles of tag |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2080 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_ENTITY_HANDLE); iMesh_setArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<const char*>(tag_values), sizeof(iBase_EntityHandle)*tag_values_size, err); }
void iMesh_setESHArrData | ( | iMesh_Instance | instance, |
const iBase_EntityHandle * | entity_handles, | ||
const int | entity_handles_size, | ||
const iBase_TagHandle | tag_handle, | ||
const iBase_EntitySetHandle * | tag_values, | ||
const int | tag_values_size, | ||
int * | err | ||
) |
Set tag values of entity set handle type on an array of.
entities Set tag values of entity set handle type on an array of entities.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in] | tag_values | Pointer to tag data being set on entities. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) |
[in] | tag_values_size | Size in total number of entity handles of tag |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2094 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_ENTITY_SET_HANDLE); iMesh_setArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<const char*>(tag_values), sizeof(iBase_EntityHandle)*tag_values_size, err); }
void iMesh_setIntArrData | ( | iMesh_Instance | instance, |
const 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.
[in] | instance | iMesh instance handle |
[in] | entity_handles | Entity array on which tag is being set |
[in] | entity_handles_size | Number of entities in array |
[in] | tag_handle | Tag being set on an entity |
[in] | tag_values | Pointer to tag data being set on entities. Note that the implicit INTERLEAVED storage order rule applies (see iBase_StorageOrder) |
[in] | tag_values_size | Size in total number of integers of tag data |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 2052 of file iMesh_MOAB.cpp.
{ CHKTAGTYPE(tag_handle, iBase_INTEGER); iMesh_setArrData(instance, entity_handles, entity_handles_size, tag_handle, reinterpret_cast<const char*>(tag_values), sizeof(int)*tag_values_size, err); }