|
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.