lasso
|
#include <MeshAssocPairSide.hpp>
Public Member Functions | |
MeshAssocPairSide (iRel_Instance relation, iBase_Instance instance, int id) | |
virtual | ~MeshAssocPairSide () |
virtual iBase_Instance | instance () const |
virtual iRel_IfaceType | type () const |
virtual int | create_relation_side () |
virtual int | destroy_relation_side () |
virtual int | get_all_entities (int dimension, iBase_EntityHandle **entities, int *entities_alloc, int *entities_size) |
virtual int | get_all_sets (iBase_EntitySetHandle **sets, int *sets_alloc, int *sets_size) |
virtual int | get_entities (int dimension, iBase_EntitySetHandle set_handle, iBase_EntityHandle **entities, int *entities_alloc, int *entities_size) |
virtual int | get_ents_dims (iBase_EntityHandle *entities, int entities_size, int **ent_types, int *ent_types_alloc, int *ent_types_size) |
virtual int | get_related_ents (iBase_EntityHandle **entities, int *entities_alloc, int *entities_size) |
virtual int | get_related_sets (iBase_EntitySetHandle **sets, int *sets_alloc, int *sets_size) |
virtual int | get_relation_side (iBase_EntityHandle *entities, int num_entities, void *values) |
virtual int | get_relation_side (iBase_EntitySetHandle *sets, int num_sets, void *values) |
virtual int | set_relation_side (iBase_EntityHandle *entities, int num_entities, const void *values) |
virtual int | set_relation_side (iBase_EntitySetHandle *sets, int num_sets, const void *values) |
virtual int | rmv_relation_side (iBase_EntityHandle *entities, int num_entities) |
virtual int | rmv_relation_side (iBase_EntitySetHandle *sets, int num_sets) |
virtual int | get_iterator (iBase_EntitySetHandle set, iBase_EntityIterator *iter) |
virtual int | get_gids (iBase_EntityHandle *entities, int num_entities, int *values) |
virtual int | get_gids (iBase_EntitySetHandle *sets, int num_sets, int *values) |
virtual int | get_dims (iBase_EntityHandle *entities, int num_entities, int *values) |
virtual int | get_dims (iBase_EntitySetHandle *sets, int num_sets, int *values) |
Private Attributes | |
iRel_Instance | relation |
iMesh_Instance | instance_ |
int | id |
iBase_TagHandle | relation_tag |
iBase_TagHandle | gid_tag |
iBase_TagHandle | dim_tag |
Definition at line 7 of file MeshAssocPairSide.hpp.
MeshAssocPairSide::MeshAssocPairSide | ( | iRel_Instance | relation, |
iBase_Instance | instance, | ||
int | id | ||
) |
Definition at line 28 of file MeshAssocPairSide.cpp.
: relation(relation), instance_(reinterpret_cast<iMesh_Instance>(instance)), id(id) { int result; create_relation_side(); iMesh_getTagHandle(instance_, GLOBAL_ID_TAG_NAME, &gid_tag, &result, strlen(GLOBAL_ID_TAG_NAME)); if (result == iBase_TAG_NOT_FOUND) { iMesh_createTag(instance_, GLOBAL_ID_TAG_NAME, 1, iBase_INTEGER, &gid_tag, &result, strlen(GLOBAL_ID_TAG_NAME)); } iMesh_getTagHandle(instance_, MESH_DIMENSION_TAG_NAME, &dim_tag, &result, strlen(MESH_DIMENSION_TAG_NAME)); if (result == iBase_TAG_NOT_FOUND) dim_tag = NULL; }
MeshAssocPairSide::~MeshAssocPairSide | ( | ) | [virtual] |
Definition at line 51 of file MeshAssocPairSide.cpp.
{ destroy_relation_side(); }
int MeshAssocPairSide::create_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 66 of file MeshAssocPairSide.cpp.
{ int result; std::stringstream ss; ss << RELATION_TAG_NAME << id; std::string rel_tag_name(ss.str()); iMesh_getTagHandle(instance_, rel_tag_name.c_str(), &relation_tag, &result, rel_tag_name.size()); if (result == iBase_TAG_NOT_FOUND) { iMesh_createTag(instance_, rel_tag_name.c_str(), 1, iBase_ENTITY_HANDLE, &relation_tag, &result, rel_tag_name.size()); } PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::destroy_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 84 of file MeshAssocPairSide.cpp.
{ if (relation_tag) { int result; iMesh_destroyTag(instance_, relation_tag, true, &result); relation_tag = NULL; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_all_entities | ( | int | dimension, |
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 97 of file MeshAssocPairSide.cpp.
{ int this_type = (dimension == -1 ? iBase_ALL_TYPES : dimension); int result; iMesh_getEntities(instance_, 0, this_type, iMesh_ALL_TOPOLOGIES, entities, entities_alloc, entities_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_all_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 111 of file MeshAssocPairSide.cpp.
{ int result; iMesh_getEntSets(instance_, 0, 0, sets, sets_alloc, sets_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_dims | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 293 of file MeshAssocPairSide.cpp.
{ int values_alloc = num_entities * sizeof(int); int values_size; int result; iMesh_getArrData(instance_, entities, num_entities, dim_tag, &values, &values_alloc, &values_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_dims | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 306 of file MeshAssocPairSide.cpp.
{ char *data = reinterpret_cast<char*>(values); int values_alloc = sizeof(int); int values_size; int result; for (int i = 0; i < num_sets; i++) { iMesh_getEntSetData(instance_, sets[i], dim_tag, reinterpret_cast<void**>(&data), &values_alloc, &values_size, &result); data += values_size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_entities | ( | int | dimension, |
iBase_EntitySetHandle | set_handle, | ||
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 121 of file MeshAssocPairSide.cpp.
{ int this_type = (dimension == -1 ? iBase_ALL_TYPES : dimension); int result; iMesh_getEntities(instance_, set_handle, this_type, iMesh_ALL_TOPOLOGIES, entities, entities_alloc, entities_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_ents_dims | ( | iBase_EntityHandle * | entities, |
int | entities_size, | ||
int ** | ent_types, | ||
int * | ent_types_alloc, | ||
int * | ent_types_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 136 of file MeshAssocPairSide.cpp.
{ int result; iMesh_getEntArrType(instance_, entities, entities_size, ent_types, ent_types_alloc, ent_types_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_gids | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 262 of file MeshAssocPairSide.cpp.
{ int values_alloc = num_entities * sizeof(int); int values_size; int result; iMesh_getArrData(instance_, entities, num_entities, gid_tag, &values, &values_alloc, &values_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_gids | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 275 of file MeshAssocPairSide.cpp.
{ char *data = reinterpret_cast<char*>(values); int values_alloc = sizeof(int); int values_size; int result; for (int i = 0; i < num_sets; i++) { iMesh_getEntSetData(instance_, sets[i], gid_tag, reinterpret_cast<void**>(&data), &values_alloc, &values_size, &result); data += values_size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_iterator | ( | iBase_EntitySetHandle | set, |
iBase_EntityIterator * | iter | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 252 of file MeshAssocPairSide.cpp.
int MeshAssocPairSide::get_related_ents | ( | iBase_EntityHandle ** | entities, |
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 150 of file MeshAssocPairSide.cpp.
{ int result; iMesh_getEntsByTagsRec(instance_, 0, iBase_ALL_TYPES, iMesh_ALL_TOPOLOGIES, &relation_tag, NULL, 1, false, entities, entities_alloc, entities_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_related_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 161 of file MeshAssocPairSide.cpp.
{ int result; iMesh_getEntSetsByTagsRec(instance_, 0, &relation_tag, NULL, 1, false, sets, sets_alloc, sets_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 171 of file MeshAssocPairSide.cpp.
{ int values_alloc = num_entities * sizeof(iBase_EntityHandle); int values_size; int result; iMesh_getArrData(instance_, entities, num_entities, relation_tag, &values, &values_alloc, &values_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::get_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 184 of file MeshAssocPairSide.cpp.
{ char *data = static_cast<char*>(values); int values_alloc = sizeof(iBase_EntityHandle); int values_size; int result; for (int i = 0; i < num_sets; i++) { iMesh_getEntSetData(instance_, sets[i], relation_tag, reinterpret_cast<void**>(&data), &values_alloc, &values_size, &result); data += values_size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
iBase_Instance MeshAssocPairSide::instance | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 56 of file MeshAssocPairSide.cpp.
{ return instance_; }
int MeshAssocPairSide::rmv_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 229 of file MeshAssocPairSide.cpp.
{ int result; iMesh_rmvArrTag(instance_, entities, num_entities, relation_tag, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::rmv_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 239 of file MeshAssocPairSide.cpp.
{ int result; for (int i = 0; i < num_sets; i++) { iMesh_rmvEntSetTag(instance_, sets[i], relation_tag, &result); PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::set_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 202 of file MeshAssocPairSide.cpp.
{ int result; iMesh_setArrData(instance_, entities, num_entities, relation_tag, static_cast<const char*>(values), num_entities*sizeof(iBase_EntityHandle), &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int MeshAssocPairSide::set_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 214 of file MeshAssocPairSide.cpp.
{ const char *data = static_cast<const char*>(values); int size = sizeof(iBase_EntityHandle); int result; for (int i = 0; i < num_sets; i++) { iMesh_setEntSetData(instance_, sets[i], relation_tag, data, size, &result); data += size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
iRel_IfaceType MeshAssocPairSide::type | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 61 of file MeshAssocPairSide.cpp.
{ return iRel_IMESH_IFACE; }
iBase_TagHandle MeshAssocPairSide::dim_tag [private] |
Definition at line 68 of file MeshAssocPairSide.hpp.
iBase_TagHandle MeshAssocPairSide::gid_tag [private] |
Definition at line 67 of file MeshAssocPairSide.hpp.
int MeshAssocPairSide::id [private] |
Definition at line 64 of file MeshAssocPairSide.hpp.
iMesh_Instance MeshAssocPairSide::instance_ [private] |
Definition at line 63 of file MeshAssocPairSide.hpp.
iRel_Instance MeshAssocPairSide::relation [private] |
Definition at line 62 of file MeshAssocPairSide.hpp.
iBase_TagHandle MeshAssocPairSide::relation_tag [private] |
Definition at line 66 of file MeshAssocPairSide.hpp.