Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
#include <GeomAssocPairSide.hpp>
Public Member Functions | |
GeomAssocPairSide (iRel_Instance relation, iBase_Instance instance, int id) | |
virtual | ~GeomAssocPairSide () |
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 |
iGeom_Instance | instance_ |
int | id |
iBase_TagHandle | relation_tag |
iBase_TagHandle | gid_tag |
Definition at line 7 of file GeomAssocPairSide.hpp.
GeomAssocPairSide::GeomAssocPairSide | ( | iRel_Instance | relation, |
iBase_Instance | instance, | ||
int | id | ||
) |
Definition at line 28 of file GeomAssocPairSide.cpp.
References create_relation_side(), gid_tag, GLOBAL_ID_TAG_NAME, iBase_INTEGER, iBase_TAG_NOT_FOUND, and instance_.
: relation( p_relation ), instance_( reinterpret_cast< iGeom_Instance >( p_instance ) ), id( p_id ) { int result; create_relation_side(); iGeom_getTagHandle( instance_, GLOBAL_ID_TAG_NAME, &gid_tag, &result, strlen( GLOBAL_ID_TAG_NAME ) ); if( result == iBase_TAG_NOT_FOUND ) { iGeom_createTag( instance_, GLOBAL_ID_TAG_NAME, 1, iBase_INTEGER, &gid_tag, &result, strlen( GLOBAL_ID_TAG_NAME ) ); } }
GeomAssocPairSide::~GeomAssocPairSide | ( | ) | [virtual] |
Definition at line 43 of file GeomAssocPairSide.cpp.
References destroy_relation_side().
{ destroy_relation_side(); }
int GeomAssocPairSide::create_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 58 of file GeomAssocPairSide.cpp.
References iBase_ENTITY_HANDLE, iBase_SUCCESS, iBase_TAG_NOT_FOUND, id, instance_, PROCESS_ERROR, relation_tag, RELATION_TAG_NAME, and RETURNR.
Referenced by GeomAssocPairSide().
{ int result; std::stringstream ss; ss << RELATION_TAG_NAME << id; std::string rel_tag_name( ss.str() ); iGeom_getTagHandle( instance_, rel_tag_name.c_str(), &relation_tag, &result, rel_tag_name.size() ); if( result == iBase_TAG_NOT_FOUND ) { iGeom_createTag( instance_, rel_tag_name.c_str(), 1, iBase_ENTITY_HANDLE, &relation_tag, &result, rel_tag_name.size() ); } PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::destroy_relation_side | ( | ) | [virtual] |
Implements AssocPairSide.
Definition at line 76 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
Referenced by ~GeomAssocPairSide().
{ if( relation_tag ) { int result; iGeom_destroyTag( instance_, relation_tag, true, &result ); relation_tag = NULL; PROCESS_ERROR; } RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_all_entities | ( | int | dimension, |
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 90 of file GeomAssocPairSide.cpp.
References iBase_ALL_TYPES, iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ int this_type = ( dimension == -1 ? iBase_ALL_TYPES : dimension ); int result; iGeom_getEntities( instance_, 0, this_type, entities, entities_alloc, entities_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_all_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 103 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ int result; iGeom_getEntSets( instance_, 0, 0, sets, sets_alloc, sets_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_dims | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 262 of file GeomAssocPairSide.cpp.
References iBase_FAILURE, and RETURNR.
{ RETURNR( iBase_FAILURE ); }
int GeomAssocPairSide::get_dims | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 267 of file GeomAssocPairSide.cpp.
References iBase_FAILURE, and RETURNR.
{ RETURNR( iBase_FAILURE ); }
int GeomAssocPairSide::get_entities | ( | int | dimension, |
iBase_EntitySetHandle | set_handle, | ||
iBase_EntityHandle ** | entities, | ||
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 112 of file GeomAssocPairSide.cpp.
References iBase_ALL_TYPES, iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ int this_type = ( dimension == -1 ? iBase_ALL_TYPES : dimension ); int result; iGeom_getEntities( instance_, set_handle, this_type, entities, entities_alloc, entities_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::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 126 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ int result; iGeom_getArrType( instance_, entities, entities_size, ent_types, ent_types_alloc, ent_types_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_gids | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 233 of file GeomAssocPairSide.cpp.
References gid_tag, iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ int values_alloc = num_entities * sizeof( int ); int values_size; int result; iGeom_getArrData( instance_, entities, num_entities, gid_tag, reinterpret_cast< void** >( &values ), &values_alloc, &values_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_gids | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
int * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 245 of file GeomAssocPairSide.cpp.
References gid_tag, iBase_SUCCESS, instance_, PROCESS_ERROR, and RETURNR.
{ char* data = reinterpret_cast< char* >( values ); int values_alloc = sizeof( int ); int values_size; int result; for( int i = 0; i < num_sets; i++ ) { iGeom_getEntSetData( instance_, sets[i], gid_tag, reinterpret_cast< void** >( &data ), &values_alloc, &values_size, &result ); data += values_size; PROCESS_ERROR; } RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_iterator | ( | iBase_EntitySetHandle | set, |
iBase_EntityIterator * | iter | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 226 of file GeomAssocPairSide.cpp.
References iBase_ALL_TYPES, iBase_SUCCESS, instance_, and RETURNR.
{ int result; iGeom_initEntIter( instance_, set, iBase_ALL_TYPES, iter, &result ); RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_related_ents | ( | iBase_EntityHandle ** | entities, |
int * | entities_alloc, | ||
int * | entities_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 139 of file GeomAssocPairSide.cpp.
References iBase_FAILURE, and RETURNR.
{ RETURNR( iBase_FAILURE ); }
int GeomAssocPairSide::get_related_sets | ( | iBase_EntitySetHandle ** | sets, |
int * | sets_alloc, | ||
int * | sets_size | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 146 of file GeomAssocPairSide.cpp.
References iBase_FAILURE, and RETURNR.
{ RETURNR( iBase_FAILURE ); }
int GeomAssocPairSide::get_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 151 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
{ int values_alloc = num_entities * sizeof( iBase_EntityHandle ); int values_size; int result; iGeom_getArrData( instance_, entities, num_entities, relation_tag, &values, &values_alloc, &values_size, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::get_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 162 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
{ 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++ ) { iGeom_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 GeomAssocPairSide::instance | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 48 of file GeomAssocPairSide.cpp.
References instance_.
{ return instance_; }
int GeomAssocPairSide::rmv_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 204 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
{ int result; iGeom_rmvArrTag( instance_, entities, num_entities, relation_tag, &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::rmv_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 213 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
{ int result; for( int i = 0; i < num_sets; i++ ) { iGeom_rmvEntSetTag( instance_, sets[i], relation_tag, &result ); PROCESS_ERROR; } RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::set_relation_side | ( | iBase_EntityHandle * | entities, |
int | num_entities, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 179 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, and RETURNR.
{ int result; iGeom_setArrData( instance_, entities, num_entities, relation_tag, static_cast< const char* >( values ), num_entities * sizeof( iBase_EntityHandle ), &result ); PROCESS_ERROR; RETURNR( iBase_SUCCESS ); }
int GeomAssocPairSide::set_relation_side | ( | iBase_EntitySetHandle * | sets, |
int | num_sets, | ||
const void * | values | ||
) | [virtual] |
Implements AssocPairSide.
Definition at line 189 of file GeomAssocPairSide.cpp.
References iBase_SUCCESS, instance_, PROCESS_ERROR, relation_tag, RETURNR, and size.
{ const char* data = static_cast< const char* >( values ); int size = sizeof( iBase_EntityHandle ); int result; for( int i = 0; i < num_sets; i++ ) { iGeom_setEntSetData( instance_, sets[i], relation_tag, data, size, &result ); data += size; PROCESS_ERROR; } RETURNR( iBase_SUCCESS ); }
iRel_IfaceType GeomAssocPairSide::type | ( | ) | const [virtual] |
Implements AssocPairSide.
Definition at line 53 of file GeomAssocPairSide.cpp.
References iRel_IGEOM_IFACE.
{ return iRel_IGEOM_IFACE; }
iBase_TagHandle GeomAssocPairSide::gid_tag [private] |
Definition at line 64 of file GeomAssocPairSide.hpp.
Referenced by GeomAssocPairSide(), and get_gids().
int GeomAssocPairSide::id [private] |
Definition at line 61 of file GeomAssocPairSide.hpp.
Referenced by create_relation_side().
iGeom_Instance GeomAssocPairSide::instance_ [private] |
Definition at line 60 of file GeomAssocPairSide.hpp.
Referenced by create_relation_side(), destroy_relation_side(), GeomAssocPairSide(), get_all_entities(), get_all_sets(), get_entities(), get_ents_dims(), get_gids(), get_iterator(), get_relation_side(), instance(), rmv_relation_side(), and set_relation_side().
iRel_Instance GeomAssocPairSide::relation [private] |
Definition at line 59 of file GeomAssocPairSide.hpp.
Definition at line 63 of file GeomAssocPairSide.hpp.
Referenced by create_relation_side(), destroy_relation_side(), get_relation_side(), rmv_relation_side(), and set_relation_side().