lasso
|
#include <FBGeomAssocPairSide.hpp>
Public Member Functions | |
FBGeomAssocPairSide (iRel_Instance relation, iBase_Instance instance, int id) | |
virtual | ~FBGeomAssocPairSide () |
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 |
FBiGeom_Instance | instance_ |
int | id |
iBase_TagHandle | relation_tag |
iBase_TagHandle | gid_tag |
Definition at line 7 of file FBGeomAssocPairSide.hpp.
FBGeomAssocPairSide::FBGeomAssocPairSide | ( | iRel_Instance | relation, |
iBase_Instance | instance, | ||
int | id | ||
) |
Definition at line 25 of file FBGeomAssocPairSide.cpp.
: relation(relation), instance_(reinterpret_cast<FBiGeom_Instance>(instance)), id(id) { int result; create_relation_side(); FBiGeom_getTagHandle(instance_, GLOBAL_ID_TAG_NAME, &gid_tag, &result, strlen(GLOBAL_ID_TAG_NAME)); if (result == iBase_TAG_NOT_FOUND) { FBiGeom_createTag(instance_, GLOBAL_ID_TAG_NAME, 1, iBase_INTEGER, &gid_tag, &result, strlen(GLOBAL_ID_TAG_NAME)); } }
FBGeomAssocPairSide::~FBGeomAssocPairSide | ( | ) | [virtual] |
Definition at line 43 of file FBGeomAssocPairSide.cpp.
{ destroy_relation_side(); }
int FBGeomAssocPairSide::create_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 58 of file FBGeomAssocPairSide.cpp.
{ int result; std::stringstream ss; ss << RELATION_TAG_NAME << id; std::string rel_tag_name(ss.str()); FBiGeom_getTagHandle(instance_, rel_tag_name.c_str(), &relation_tag, &result, rel_tag_name.size()); if (result == iBase_TAG_NOT_FOUND) { FBiGeom_createTag(instance_, rel_tag_name.c_str(), 1, iBase_ENTITY_HANDLE, &relation_tag, &result, rel_tag_name.size()); } PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::destroy_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 76 of file FBGeomAssocPairSide.cpp.
{ if (relation_tag) { int result; FBiGeom_destroyTag(instance_, relation_tag, true, &result); relation_tag = NULL; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_all_entities | ( | int | dimension, |
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 89 of file FBGeomAssocPairSide.cpp.
{ int this_type = (dimension == -1 ? iBase_ALL_TYPES : dimension); int result; FBiGeom_getEntities(instance_, 0, this_type, entities, entities_alloc, entities_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_all_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 103 of file FBGeomAssocPairSide.cpp.
{ int result; FBiGeom_getEntSets(instance_, 0, 0, sets, sets_alloc, sets_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_dims | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 277 of file FBGeomAssocPairSide.cpp.
{ RETURNR(iBase_FAILURE); }
int FBGeomAssocPairSide::get_dims | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 283 of file FBGeomAssocPairSide.cpp.
{ RETURNR(iBase_FAILURE); }
int FBGeomAssocPairSide::get_entities | ( | int | dimension, |
iBase_EntitySetHandle | set_handle, | ||
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 113 of file FBGeomAssocPairSide.cpp.
{ int this_type = (dimension == -1 ? iBase_ALL_TYPES : dimension); int result; FBiGeom_getEntities(instance_, set_handle, this_type, entities, entities_alloc, entities_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::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 128 of file FBGeomAssocPairSide.cpp.
{ int result; FBiGeom_getArrType(instance_, entities, entities_size, ent_types, ent_types_alloc, ent_types_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_gids | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 245 of file FBGeomAssocPairSide.cpp.
{ int values_alloc = num_entities * sizeof(int); int values_size; int result; FBiGeom_getArrData(instance_, entities, num_entities, gid_tag, reinterpret_cast<void**>(&values), &values_alloc, &values_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_gids | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 259 of file FBGeomAssocPairSide.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++) { FBiGeom_getEntSetData(instance_, sets[i], gid_tag, reinterpret_cast<void**>(&data), &values_alloc, &values_size, &result); data += values_size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_iterator | ( | iBase_EntitySetHandle | set, |
iBase_EntityIterator * | iter | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 237 of file FBGeomAssocPairSide.cpp.
int FBGeomAssocPairSide::get_related_ents | ( | iBase_EntityHandle ** | entities, |
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 142 of file FBGeomAssocPairSide.cpp.
{ RETURNR(iBase_FAILURE); }
int FBGeomAssocPairSide::get_related_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 149 of file FBGeomAssocPairSide.cpp.
{ RETURNR(iBase_FAILURE); }
int FBGeomAssocPairSide::get_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 155 of file FBGeomAssocPairSide.cpp.
{ int values_alloc = num_entities * sizeof(iBase_EntityHandle); int values_size; int result; FBiGeom_getArrData(instance_, entities, num_entities, relation_tag, &values, &values_alloc, &values_size, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::get_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 168 of file FBGeomAssocPairSide.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++) { FBiGeom_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 FBGeomAssocPairSide::instance | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 48 of file FBGeomAssocPairSide.cpp.
{ return instance_; }
int FBGeomAssocPairSide::rmv_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 214 of file FBGeomAssocPairSide.cpp.
{ int result; FBiGeom_rmvArrTag(instance_, entities, num_entities, relation_tag, &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::rmv_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 224 of file FBGeomAssocPairSide.cpp.
{ int result; for (int i = 0; i < num_sets; i++) { FBiGeom_rmvEntSetTag(instance_, sets[i], relation_tag, &result); PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::set_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 186 of file FBGeomAssocPairSide.cpp.
{ int result; FBiGeom_setArrData(instance_, entities, num_entities, relation_tag, static_cast<const char*>(values), num_entities*sizeof(iBase_EntityHandle), &result); PROCESS_ERROR; RETURNR(iBase_SUCCESS); }
int FBGeomAssocPairSide::set_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 198 of file FBGeomAssocPairSide.cpp.
{ const char *data = static_cast<const char*>(values); int size = sizeof(iBase_EntityHandle); int result; for (int i = 0; i < num_sets; i++) { FBiGeom_setEntSetData(instance_, sets[i], relation_tag, data, size, &result); data += size; PROCESS_ERROR; } RETURNR(iBase_SUCCESS); }
iRel_IfaceType FBGeomAssocPairSide::type | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 53 of file FBGeomAssocPairSide.cpp.
{ return iRel_FBIGEOM_IFACE; }
iBase_TagHandle FBGeomAssocPairSide::gid_tag [private] |
Definition at line 67 of file FBGeomAssocPairSide.hpp.
int FBGeomAssocPairSide::id [private] |
Definition at line 64 of file FBGeomAssocPairSide.hpp.
FBiGeom_Instance FBGeomAssocPairSide::instance_ [private] |
Definition at line 63 of file FBGeomAssocPairSide.hpp.
iRel_Instance FBGeomAssocPairSide::relation [private] |
Definition at line 62 of file FBGeomAssocPairSide.hpp.
iBase_TagHandle FBGeomAssocPairSide::relation_tag [private] |
Definition at line 66 of file FBGeomAssocPairSide.hpp.