Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
Go to the source code of this file.
Defines | |
#define | IREL_VERSION_MAJOR 1 |
Compile time version number digits. | |
#define | IREL_VERSION_MINOR 1 |
#define | IREL_VERSION_PATCH 0 |
#define | IREL_MAJOR_VERSION IREL_VERSION_MAJOR |
Maintain backward compatibility with old version symbol names. | |
#define | IREL_MINOR_VERSION IREL_VERSION_MINOR |
#define | IREL_PATCH_VERSION IREL_VERSION_PATCH |
#define | IREL_VERSION_GE(Maj, Min, Pat) ITAPS_VERSION_GE( Maj, Min, Pat ) |
Version Comparison. | |
#define | IREL_VERSION_STRING ITAPS_VERSION_STRING_( iRel ) |
Compose string represention of the iRel version number. | |
#define | IREL_VERSION_TAG ITAPS_VERSION_TAG_( iRel ) |
Compose a symbol name derived from the current iRel version number. | |
#define | IREL_CREATE_NAME__(A, B, C) A##_##B##_##C |
Define iRel_create symbol such that it depends on version number. | |
#define | IREL_CREATE_NAME_(A, B, C) IREL_CREATE_NAME__( A, B, C ) |
#define | IREL_CREATE_NAME(A) IREL_CREATE_NAME_( A, IREL_VERSION_MAJOR, IREL_VERSION_MINOR ) |
Typedefs | |
typedef void * | iRel_Instance |
typedef struct iRel_PairHandle_Private * | iRel_PairHandle |
Enumerations | |
enum | iRel_IfaceType { iRel_IfaceType_MIN = 0, iRel_IGEOM_IFACE = iRel_IfaceType_MIN, iRel_IMESH_IFACE, iRel_IFIELD_IFACE, iRel_IREL_IFACE, iRel_FBIGEOM_IFACE, iRel_IfaceType_MAX = iRel_FBIGEOM_IFACE } |
enum | iRel_RelationType { iRel_RelationType_MIN = 0, iRel_ENTITY = iRel_RelationType_MIN, iRel_SET, iRel_BOTH, iRel_RelationType_MAX = iRel_BOTH } |
enum | iRel_RelationStatus { iRel_RelationStatus_MIN = 0, iRel_ACTIVE = iRel_RelationType_MIN, iRel_INACTIVE, iRel_NOTEXIST, iRel_RelationStatus_MAX = iRel_NOTEXIST } |
Functions | |
void | iRel_getErrorType (iRel_Instance instance, int *error_type) |
Get the error type returned from the last iRel function. | |
void | iRel_getDescription (iRel_Instance instance, char *descr, int descr_len) |
Get a description of the error returned from the last iRel function. | |
void | iRel_create (const char *options, iRel_Instance *instance, int *err, const int options_len) |
Create a new iRel instance. | |
void | iRel_destroy (iRel_Instance instance, int *err) |
Destroy the interface object. | |
void | iRel_createPair (iRel_Instance instance, iBase_Instance iface1, const int ent_or_set1, const int iface_type1, const int irel_status1, iBase_Instance iface2, const int ent_or_set2, const int iface_type2, const int irel_status2, iRel_PairHandle *pair, int *err) |
Create a relation pair between two interfaces. | |
void | iRel_getPairInfo (iRel_Instance instance, iRel_PairHandle pair, iBase_Instance *iface1, int *ent_or_set1, int *iface_type1, int *irel_status1, iBase_Instance *iface2, int *ent_or_set2, int *iface_type2, int *irel_status2, int *err) |
Get information for this relation handle. | |
void | iRel_changePairType (iRel_Instance instance, iRel_PairHandle pair, int ent_or_set1, int ent_or_set2, int *err) |
Change the relation type. | |
void | iRel_changePairStatus (iRel_Instance instance, iRel_PairHandle pair, int irel_status1, int irel_status2, int *err) |
Change the relation status. | |
void | iRel_destroyPair (iRel_Instance instance, iRel_PairHandle pair, int *err) |
Destroy a relation pair. | |
void | iRel_findPairs (iRel_Instance instance, iBase_Instance iface, iRel_PairHandle **pairs, int *pairs_allocated, int *pairs_size, int *err) |
Get relations containing specified interface. | |
void | iRel_setEntEntRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent1, iBase_EntityHandle ent2, int *err) |
Set a relation between two entities. | |
void | iRel_setEntSetRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent1, iBase_EntitySetHandle entset2, int *err) |
Set a relation between an entity and an entity set. | |
void | iRel_setSetEntRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle entset1, iBase_EntityHandle ent2, int *err) |
Set a relation between an entity set an an entity. | |
void | iRel_setSetSetRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle entset1, iBase_EntitySetHandle entset2, int *err) |
Set a relation between two entity sets. | |
void | iRel_setEntArrEntArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int num_ent1, iBase_EntityHandle *ent_array_2, int num_ent2, int *err) |
Set relations between arrays of entities pairwise, ent_array_1[i]<->ent_array_2[i]. | |
void | iRel_setSetArrEntArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entset_array_1, int num_set1, iBase_EntityHandle *ent_array_2, int num_ent2, int *err) |
Set relations between arrays of entity sets and entities. | |
void | iRel_setEntArrSetArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int num_ent1, iBase_EntitySetHandle *entset_array_2, int num_set2, int *err) |
Set relations between arrays of entities and entity sets. | |
void | iRel_setSetArrSetArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entset_array_1, int num_set1, iBase_EntitySetHandle *entset_array_2, int num_set2, int *err) |
Set relations between arrays of entity sets pairwise, ent_array_1[i]<->ent_array_2[i]. | |
void | iRel_getEntEntRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent1, int switch_order, iBase_EntityHandle *ent2, int *err) |
Get entity related to specified entity and relation handle. | |
void | iRel_getEntSetRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent1, int switch_order, iBase_EntitySetHandle *entset2, int *err) |
Get entity set related to specified entity and relation handle. | |
void | iRel_getSetEntRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle entset1, int switch_order, iBase_EntityHandle *ent2, int *err) |
Get entity related to specified entity set and relation handle. | |
void | iRel_getSetSetRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle entset1, int switch_order, iBase_EntitySetHandle *entset2, int *err) |
Get entity set related to specified entity set and relation handle. | |
void | iRel_getEntSetIterRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent1, int switch_order, iBase_EntityIterator *entIter, int *err) |
Get entity iterator related to specified entity set and relation handle. | |
void | iRel_getEntArrEntArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int ent_array_1_size, int switch_order, iBase_EntityHandle **ent_array_2, int *ent_array_2_allocated, int *ent_array_2_size, int *err) |
Get entities related to those in specified array and relation, pairwise. | |
void | iRel_getEntArrSetArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int ent_array_1_size, int switch_order, iBase_EntitySetHandle **entset_array_2, int *entset_array_2_allocated, int *entset_array_2_size, int *err) |
Get entity sets related to entities in specified array and relation, pairwise. | |
void | iRel_getSetArrEntArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entset_array_1, int entset_array_1_size, int switch_order, iBase_EntityHandle **ent_array_2, int *ent_array_2_allocated, int *ent_array_2_size, int *err) |
Get entities related to entity sets in specified array and relation, pairwise. | |
void | iRel_getSetArrSetArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entset_array_1, int entset_array_1_size, int switch_order, iBase_EntitySetHandle **entset_array_2, int *entset_array_2_allocated, int *entset_array_2_size, int *err) |
Get entity sets related to entity sets in specified array and relation, pairwise. | |
void | iRel_getEntArrSetIterArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int ent_array_1_size, int switch_order, iBase_EntityIterator **entiter, int *entiter_allocated, int *entiter_size, int *err) |
Get entity iterators related to entity sets in specified array and relation. | |
void | iRel_rmvEntRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle ent, int switch_order, int *err) |
Remove a relation from an entity. | |
void | iRel_rmvSetRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle set, int switch_order, int *err) |
Remove a relation from an entity set. | |
void | iRel_rmvEntArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *ent_array_1, int num_ent1, int switch_order, int *err) |
Remove a relation from an array of entities. | |
void | iRel_rmvSetArrRelation (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entset_array_1, int num_entset1, int switch_order, int *err) |
Remove a relation from an array of entity sets. | |
void | iRel_inferAllRelations (iRel_Instance instance, iRel_PairHandle pair, int *err) |
Infer relations between entities in specified pair of interfaces. | |
void | iRel_inferAllRelationsAndType (iRel_Instance instance, iRel_PairHandle *pair, int *err) |
Infer relations and relation type between entities in specified pair of interfaces. | |
void | iRel_inferEntRelations (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle entity, int iface_no, int *err) |
Infer relations corresponding to specified entity and relation pair. | |
void | iRel_inferSetRelations (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle entity_set, int iface_no, int *err) |
Brief unavailable. | |
void | iRel_inferEntArrRelations (iRel_Instance instance, iRel_PairHandle pair, iBase_EntityHandle *entities, int entities_size, int iface_no, int *err) |
Infer relations corresponding to specified entities and relation pair. | |
void | iRel_inferSetArrRelations (iRel_Instance instance, iRel_PairHandle pair, iBase_EntitySetHandle *entity_sets, int entities_size, int iface_no, int *err) |
Brief unavailable. |
#define IREL_CREATE_NAME | ( | A | ) | IREL_CREATE_NAME_( A, IREL_VERSION_MAJOR, IREL_VERSION_MINOR ) |
#define IREL_CREATE_NAME_ | ( | A, | |
B, | |||
C | |||
) | IREL_CREATE_NAME__( A, B, C ) |
#define IREL_CREATE_NAME__ | ( | A, | |
B, | |||
C | |||
) | A##_##B##_##C |
#define IREL_MAJOR_VERSION IREL_VERSION_MAJOR |
#define IREL_MINOR_VERSION IREL_VERSION_MINOR |
#define IREL_PATCH_VERSION IREL_VERSION_PATCH |
#define IREL_VERSION_GE | ( | Maj, | |
Min, | |||
Pat | |||
) | ITAPS_VERSION_GE( Maj, Min, Pat ) |
#define IREL_VERSION_MAJOR 1 |
Compile time version number digits.
VersionNumbers iRel maintains a major, minor and patch digit in its version number. Technically speaking, there is not much practical value in patch digit for an interface specification. A patch release is typically only used for bug fix releases. Although it is rare, sometimes a bug fix necessitates an API change. So, we define a patch digit for iRel.
#define IREL_VERSION_MINOR 1 |
#define IREL_VERSION_PATCH 0 |
#define IREL_VERSION_STRING ITAPS_VERSION_STRING_( iRel ) |
#define IREL_VERSION_TAG ITAPS_VERSION_TAG_( iRel ) |
typedef void* iRel_Instance |
typedef struct iRel_PairHandle_Private* iRel_PairHandle |
enum iRel_IfaceType |
Definition at line 141 of file iRel.h.
{ iRel_IfaceType_MIN = 0, /**< facilitates iteration over all values */ iRel_IGEOM_IFACE = iRel_IfaceType_MIN, /**< description unavailable */ iRel_IMESH_IFACE, /**< description unavailable */ iRel_IFIELD_IFACE, /**< description unavailable */ iRel_IREL_IFACE, /**< description unavailable */ iRel_FBIGEOM_IFACE, /**< description unavailable */ iRel_IfaceType_MAX = iRel_FBIGEOM_IFACE /**< facilitates iteration over all values */ };
enum iRel_RelationStatus |
Definition at line 208 of file iRel.h.
{ iRel_RelationStatus_MIN = 0, /**< facilitates iteration over all values */ iRel_ACTIVE = iRel_RelationType_MIN, /**< the relation on this side is active and up to date */ iRel_INACTIVE, /**< the relation on this side is inactive, and may be out of date */ iRel_NOTEXIST, /**< the relation on this side is not stored */ iRel_RelationStatus_MAX = iRel_NOTEXIST /**< facilitates iteration over all values */ };
enum iRel_RelationType |
Definition at line 173 of file iRel.h.
{ iRel_RelationType_MIN = 0, /**< facilitates iteration over all values */ iRel_ENTITY = iRel_RelationType_MIN, /**< description unavailable */ iRel_SET, /**< description unavailable */ iRel_BOTH, /**< description unavailable */ iRel_RelationType_MAX = iRel_BOTH /**< facilitates iteration over all values */ };
void iRel_changePairStatus | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
int | irel_status1, | ||
int | irel_status2, | ||
int * | err | ||
) |
Change the relation status.
Change the status of one or both sides of a relation. It is an error to change the status of both sides to iRel_NOTEXIST. If a side is changed to iRel_NOTEXIST, it will no longer be changeable back to iRel_ACTIVE or iRel_INACTIVE. Changing a side from iRel_INACTIVE to iRel_ACTIVE implies a traversal of all related entities on the other side, to recover the relations on the side being changed. Changing both sides from iRel_ACTIVE to something else is an error, since in that case neither will be able to be updated to iRel_ACTIVE.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being changed |
[in] | irel_status1 | The new status of side 1 of this relation pair |
[in] | irel_status2 | The new status of side 2 of this relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 122 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); CHK_ERROR( ASSOCPAIRI->change_status( 0, static_cast< iRel_RelationStatus >( irel_status1 ) ) );CHK_ERROR( ASSOCPAIRI->change_status( 1, static_cast< iRel_RelationStatus >( irel_status2 ) ) ); }
void iRel_changePairType | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
int | ent_or_set1, | ||
int | ent_or_set2, | ||
int * | err | ||
) |
Change the relation type.
Change the type of one or both sides of a relation. Only changes that result in no lost information are allowed, e.g. changing a type from SET to BOTH or vice versa.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being changed |
[in] | ent_or_set1 | The new type of side 1 of this relation pair |
[in] | ent_or_set2 | The new type of side 2 of this relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 115 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); CHK_ERROR( ASSOCPAIRI->change_type( 0, static_cast< iRel_RelationType >( ent_or_set1 ) ) );CHK_ERROR( ASSOCPAIRI->change_type( 1, static_cast< iRel_RelationType >( ent_or_set2 ) ) ); }
void iRel_create | ( | const char * | options, |
iRel_Instance * | instance, | ||
int * | err, | ||
const int | options_len | ||
) |
Create a new iRel instance.
Create a new iRel instance. Currently no options are implemented.
options | const Options for the implementation | |
[in] | instance | iRel instance handle |
[out] | err | Returned Error status (see iBase_ErrorType) |
[in] | options_len | Length of options string |
Definition at line 49 of file iRel_Lasso.cpp.
References iBase_NOT_SUPPORTED, and iBase_SUCCESS.
{ if( 0 != options_len ) { *instance = NULL; *err = iBase_NOT_SUPPORTED; } *instance = new Lasso(); *err = iBase_SUCCESS; }
void iRel_createPair | ( | iRel_Instance | instance, |
iBase_Instance | iface1, | ||
const int | ent_or_set1, | ||
const int | iface_type1, | ||
const int | irel_status1, | ||
iBase_Instance | iface2, | ||
const int | ent_or_set2, | ||
const int | iface_type2, | ||
const int | irel_status2, | ||
iRel_PairHandle * | pair, | ||
int * | err | ||
) |
Create a relation pair between two interfaces.
Creates a relation pair between two interfaces, passing back a handle to the pair. It is an error to create a relation pair having both sides iRel_NOTEXIST. If a relation pair has a side with status iRel_NOTEXIST, the relation for that side is never stored, and the status cannot change over the life of the relation pair.
[in] | instance | iRel instance handle |
[in] | iface1 | 1st interface object in the relation pair |
[in] | ent_or_set1 | This relation relates entities, sets, or both from 1st interface object |
[in] | iface_type1 | Type of 1st interface |
[in] | irel_status1 | The status of 1st side |
[in] | iface2 | 2nd interface object in the relation pair |
[in] | ent_or_set2 | This relation relates entities, sets, or both from 2nd interface object |
[in] | iface_type2 | Type of 2nd interface |
[in] | irel_status2 | The status of 2nd side |
[out] | pair | Pointer to relation pair handle, returned from function |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 67 of file iRel_Lasso.cpp.
References iBase_SUCCESS, LASSOI, and RETURN.
{ AssocPair* assoc_pair = new AssocPair( instance, iface1, static_cast< iRel_RelationType >( ent_or_set1 ), static_cast< iRel_IfaceType >( iface_type1 ), static_cast< iRel_RelationStatus >( irel_status1 ), iface2, static_cast< iRel_RelationType >( ent_or_set2 ), static_cast< iRel_IfaceType >( iface_type2 ), static_cast< iRel_RelationStatus >( irel_status2 ) ); LASSOI->insert_pair( assoc_pair ); *pair = reinterpret_cast< iRel_PairHandle >( assoc_pair ); RETURN( iBase_SUCCESS ); }
void iRel_destroy | ( | iRel_Instance | instance, |
int * | err | ||
) |
Destroy the interface object.
Calls destructor on interface object
[in] | instance | iRel instance handle |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 61 of file iRel_Lasso.cpp.
References iBase_SUCCESS, and LASSOI.
{ delete LASSOI; *err = iBase_SUCCESS; }
void iRel_destroyPair | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
int * | err | ||
) |
Destroy a relation pair.
Destroy the relation pair corresponding to the handle input
[in] | instance | iRel instance handle |
[in] | pair | Handle of relation pair to destroy |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 129 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, CHK_PAIR, and LASSOI.
{ CHK_PAIR(); CHK_ERROR( LASSOI->erase_pair( ASSOCPAIRI ) ); }
void iRel_findPairs | ( | iRel_Instance | instance, |
iBase_Instance | iface, | ||
iRel_PairHandle ** | pairs, | ||
int * | pairs_allocated, | ||
int * | pairs_size, | ||
int * | err | ||
) |
Get relations containing specified interface.
Get relations containing the specified interface
[in] | instance | iRel instance handle |
[in] | iface | Specified interface |
[in,out] | pairs | Pointer to array holding returned relation pairs containing specified interface |
[in,out] | pairs_allocated | Pointer to allocated size of relation pairs list |
[out] | pairs_size | Pointer to occupied size of relation pairs list |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 136 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY_NOFAIL, iBase_SUCCESS, LASSOI, and RETURN.
{ std::vector< AssocPair* > tmp_pairs; LASSOI->find_pairs( iface, tmp_pairs ); ALLOC_CHECK_ARRAY_NOFAIL( pairs, tmp_pairs.size() ); for( size_t i = 0; i < tmp_pairs.size(); ++i ) { ( *pairs )[i] = reinterpret_cast< iRel_PairHandle >( tmp_pairs[i] ); } RETURN( iBase_SUCCESS ); }
void iRel_getDescription | ( | iRel_Instance | instance, |
char * | descr, | ||
int | descr_len | ||
) |
Get a description of the error returned from the last iRel function.
Get a description of the error returned from the last iRel function
[in] | instance | iRel instance handle |
[in,out] | descr | Pointer to a character string to be filled with a description of the error from the last iRel function |
[in] | descr_len | Length of the character string pointed to by descr |
Definition at line 35 of file iRel_Lasso.cpp.
References LASSOI.
void iRel_getEntArrEntArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | ent_array_1_size, | ||
int | switch_order, | ||
iBase_EntityHandle ** | ent_array_2, | ||
int * | ent_array_2_allocated, | ||
int * | ent_array_2_size, | ||
int * | err | ||
) |
Get entities related to those in specified array and relation, pairwise.
Get entities related to those in specified array and relation, pairwise. Returns sets or entities, depending on relation type and entities in ent_array_1. It is an error to get a relation for a side with status iRel_NOTEXIST.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | Array of entities whose relations are being queried |
[in] | ent_array_1_size | Number of entities in ent_array_1 |
[in] | switch_order | Entities in ent_array_1 are related with 1st (=0) or 2nd (=1) interface of this relation pair |
[in,out] | ent_array_2 | Pointer to array of entity handles returned from function |
[in,out] | ent_array_2_allocated | Pointer to allocated size of ent_array_2 |
[out] | ent_array_2_size | Pointer to occupied size of ent_array_2 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 371 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY, ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iBase_SUCCESS, KEEP_ARRAY, and RETURN.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 ); ALLOC_CHECK_ARRAY( ent_array_2, ent_array_1_size );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, ent_array_1, ent_array_1_size, *ent_array_2 ) ); KEEP_ARRAY( ent_array_2 ); RETURN( iBase_SUCCESS ); }
void iRel_getEntArrSetArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | ent_array_1_size, | ||
int | switch_order, | ||
iBase_EntitySetHandle ** | entset_array_2, | ||
int * | entset_array_2_allocated, | ||
int * | entset_array_2_size, | ||
int * | err | ||
) |
Get entity sets related to entities in specified array and relation, pairwise.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | Array of entities whose relations are being queried |
[in] | ent_array_1_size | Number of entities in ent_array_1 |
[in] | switch_order | Entities in ent_array_1 are related with 1st (=0) or 2nd (=1) interface of this relation pair |
[in,out] | entset_array_2 | Pointer to array of entity set handles returned from function |
[in,out] | entset_array_2_allocated | Pointer to allocated size of entset_array_2 |
[out] | entset_array_2_size | Pointer to occupied size of entset_array_2 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 390 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY, ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iBase_SUCCESS, KEEP_ARRAY, and RETURN.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 ); ALLOC_CHECK_ARRAY( set_array_2, ent_array_1_size );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, ent_array_1, ent_array_1_size, *set_array_2 ) ); KEEP_ARRAY( set_array_2 ); RETURN( iBase_SUCCESS ); }
void iRel_getEntArrSetIterArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | ent_array_1_size, | ||
int | switch_order, | ||
iBase_EntityIterator ** | entiter, | ||
int * | entiter_allocated, | ||
int * | entiter_size, | ||
int * | err | ||
) |
Get entity iterators related to entity sets in specified array and relation.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | Array of entities whose relations are being queried |
[in] | ent_array_1_size | Number of entities in ent_array_1 |
[in] | switch_order | Entities in ent_array_1 are related with 1st (=0) or 2nd (=1) interface of this relation pair |
[in,out] | entiter | Pointer to array of entity iterator handles returned from function |
[in,out] | entiter_allocated | Pointer to allocated size of entiter |
[out] | entiter_size | Pointer to occupied size of entiter |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 447 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY, ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iBase_SUCCESS, KEEP_ARRAY, and RETURN.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 ); ; ALLOC_CHECK_ARRAY( entiter, ent_array_1_size );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, ent_array_1, ent_array_1_size, *entiter ) ); KEEP_ARRAY( entiter ); RETURN( iBase_SUCCESS ); }
void iRel_getEntEntRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent1, | ||
int | switch_order, | ||
iBase_EntityHandle * | ent2, | ||
int * | err | ||
) |
Get entity related to specified entity and relation handle.
Get entity related to specified entity and relation handle. Also returns whether the related entity is an entity or a set. It is an error to get a relation for a side with status iRel_NOTEXIST.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent1 | 1st entity of relation being queried |
[in] | switch_order | 1st entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | ent2 | Pointer to entity related to ent1 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 311 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, &ent1, 1, ent2 ) ); }
void iRel_getEntSetIterRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent1, | ||
int | switch_order, | ||
iBase_EntityIterator * | entIter, | ||
int * | err | ||
) |
Get entity iterator related to specified entity set and relation handle.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent1 | ent1 1st entity set of relation being queried |
[in] | switch_order | 1st entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | entIter | Returned entity iterator |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 359 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, &ent1, 1, entset2 ) ); }
void iRel_getEntSetRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent1, | ||
int | switch_order, | ||
iBase_EntitySetHandle * | entset2, | ||
int * | err | ||
) |
Get entity set related to specified entity and relation handle.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent1 | entity of relation being queried |
[in] | switch_order | 1st entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | entset2 | Pointer to entity set related to ent1 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 323 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, &ent1, 1, set2 ) ); }
void iRel_getErrorType | ( | iRel_Instance | instance, |
int * | error_type | ||
) |
Get the error type returned from the last iRel function.
Get the error type returned from the last iRel function. Value returned is a member of the iBase_ErrorType enumeration.
[in] | instance | iRel instance handle |
[out] | error_type | Error type returned from last iRel function |
Definition at line 27 of file iRel_Lasso.cpp.
References iBase_FAILURE, and LASSOI.
{ if( instance == NULL ) *error_type = iBase_FAILURE; else *error_type = LASSOI->lastErrorType; }
void iRel_getPairInfo | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_Instance * | iface1, | ||
int * | ent_or_set1, | ||
int * | iface_type1, | ||
int * | irel_status1, | ||
iBase_Instance * | iface2, | ||
int * | ent_or_set2, | ||
int * | iface_type2, | ||
int * | irel_status2, | ||
int * | err | ||
) |
Get information for this relation handle.
Get information about the interfaces and relation type for this relation. Relation type for each side is passed back as integers, but values will be from RelationType enumeration.
[in] | instance | iRel instance handle |
[in] | pair | handle of relation pair being queried |
[out] | iface1 | Side 1 instance for this relation |
[out] | ent_or_set1 | relation type for side 1 of this relation |
[out] | iface_type1 | Interface type for side 1 of this relation |
[out] | irel_status1 | The status of the first side of this relation |
[out] | iface2 | Side 2 instance for this relation |
[out] | ent_or_set2 | Relation type for side 2 of this relation |
[out] | iface_type2 | Interface type for side 2 of this relation |
[out] | irel_status2 | Status of the 2nd side of this relation |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 89 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_PAIR, iBase_SUCCESS, and RETURN.
{ CHK_PAIR(); *iface1 = ASSOCPAIRI->iface_instance( 0 ); *ent_or_set1 = ASSOCPAIRI->relation_type( 0 ); *iface_type1 = ASSOCPAIRI->iface_type( 0 ); *irel_status1 = ASSOCPAIRI->relation_status( 0 ); *iface2 = ASSOCPAIRI->iface_instance( 1 ); *iface_type2 = ASSOCPAIRI->iface_type( 1 ); *ent_or_set2 = ASSOCPAIRI->relation_type( 1 ); *irel_status2 = ASSOCPAIRI->relation_status( 1 ); RETURN( iBase_SUCCESS ); }
void iRel_getSetArrEntArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entset_array_1, | ||
int | entset_array_1_size, | ||
int | switch_order, | ||
iBase_EntityHandle ** | ent_array_2, | ||
int * | ent_array_2_allocated, | ||
int * | ent_array_2_size, | ||
int * | err | ||
) |
Get entities related to entity sets in specified array and relation, pairwise.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset_array_1 | Array of entity sets whose relations are being queried |
[in] | entset_array_1_size | Number of entity sets in entset_array_1 |
[in] | switch_order | Entities in ent_array_1 are related with 1st (=0) or 2nd (=1) interface of this relation pair |
[in,out] | ent_array_2 | Pointer to array of entity handles returned from function |
[in,out] | ent_array_2_allocated | Pointer to allocated size of ent_array_2 |
[out] | ent_array_2_size | Pointer to occupied size of ent_array_2 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 409 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY, ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iBase_SUCCESS, KEEP_ARRAY, and RETURN.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 ); ALLOC_CHECK_ARRAY( ent_array_2, set_array_1_size );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, set_array_1, set_array_1_size, *ent_array_2 ) ); KEEP_ARRAY( ent_array_2 ); RETURN( iBase_SUCCESS ); }
void iRel_getSetArrSetArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entset_array_1, | ||
int | entset_array_1_size, | ||
int | switch_order, | ||
iBase_EntitySetHandle ** | entset_array_2, | ||
int * | entset_array_2_allocated, | ||
int * | entset_array_2_size, | ||
int * | err | ||
) |
Get entity sets related to entity sets in specified array and relation, pairwise.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset_array_1 | Array of entity sets whose relations are being queried |
[in] | entset_array_1_size | Number of entity sets in entset_array_1 |
[in] | switch_order | Entities in ent_array_1 are related with 1st (=0) or 2nd (=1) interface of this relation pair |
[in,out] | entset_array_2 | Pointer to array of entity handles returned from function |
[in,out] | entset_array_2_allocated | Pointer to allocated size of entset_array_2 |
[out] | entset_array_2_size | Pointer to occupied size of entset_array_2 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 428 of file iRel_Lasso.cpp.
References ALLOC_CHECK_ARRAY, ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iBase_SUCCESS, KEEP_ARRAY, and RETURN.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 ); ALLOC_CHECK_ARRAY( set_array_2, set_array_1_size );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, set_array_1, set_array_1_size, *set_array_2 ) ); KEEP_ARRAY( set_array_2 ); RETURN( iBase_SUCCESS ); }
void iRel_getSetEntRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | entset1, | ||
int | switch_order, | ||
iBase_EntityHandle * | ent2, | ||
int * | err | ||
) |
Get entity related to specified entity set and relation handle.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset1 | entity set of relation being queried |
[in] | switch_order | 1st entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | ent2 | Pointer to entity related to entset1 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 335 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, &set1, 1, ent2 ) ); }
void iRel_getSetSetRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | entset1, | ||
int | switch_order, | ||
iBase_EntitySetHandle * | entset2, | ||
int * | err | ||
) |
Get entity set related to specified entity set and relation handle.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset1 | 1st entity set of relation being queried |
[in] | switch_order | 1st entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | entset2 | Pointer to entity set related to entset1 |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 347 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->get_relation( iface_no, &set1, 1, set2 ) ); }
void iRel_inferAllRelations | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
int * | err | ||
) |
Infer relations between entities in specified pair of interfaces.
Infer relations between entities in specified pair of interfaces. The criteria used to infer these relations depends on the interfaces in the pair, the iRel implementation, and the source of the data in those interfaces.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 660 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, CHK_PAIR, iRel_ENTITY, and iRel_inferArrArrRelations().
{ CHK_PAIR(); // get all entities in those interfaces int result; iBase_EntityHandle* ents1 = NULL; int ents1_alloc = 0, ents1_size; if( ASSOCPAIRI->relation_type( 0 ) != iRel_ENTITY ) result = ASSOCPAIRI->get_all_sets( 0, (iBase_EntitySetHandle**)&ents1, &ents1_alloc, &ents1_size ); else result = ASSOCPAIRI->get_all_entities( 0, -1, &ents1, &ents1_alloc, &ents1_size );CHK_ERROR( result ); iBase_EntityHandle* ents2 = NULL; int ents2_alloc = 0, ents2_size; if( ASSOCPAIRI->relation_type( 1 ) != iRel_ENTITY ) result = ASSOCPAIRI->get_all_sets( 1, (iBase_EntitySetHandle**)&ents2, &ents2_alloc, &ents2_size ); else result = ASSOCPAIRI->get_all_entities( 1, -1, &ents2, &ents2_alloc, &ents2_size );CHK_ERROR( result ); iRel_inferArrArrRelations( instance, pair, ents1, ents1_size, ASSOCPAIRI->relation_type( 0 ), ents2, ents2_size, ASSOCPAIRI->relation_type( 1 ), &result ); free( ents1 ); free( ents2 );CHK_ERROR( result ); }
void iRel_inferAllRelationsAndType | ( | iRel_Instance | instance, |
iRel_PairHandle * | pair, | ||
int * | err | ||
) |
Infer relations and relation type between entities in specified pair of interfaces.
Infer relations between entities in specified pair of interfaces, and the relation type used by this iRel implementation. The criteria used to infer these relations depends on the interfaces in the pair, the iRel implementation, and the source of the data in those interfaces.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle created by implementation |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 688 of file iRel_Lasso.cpp.
References ERROR, and iBase_NOT_SUPPORTED.
{ ERROR( iBase_NOT_SUPPORTED, "Not currently supported." ); }
void iRel_inferEntArrRelations | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | entities, | ||
int | entities_size, | ||
int | iface_no, | ||
int * | err | ||
) |
Infer relations corresponding to specified entities and relation pair.
Infer relations corresponding to specified entities and relation pair. The criteria used to infer these relations depends on the interfaces in the pair, the iRel implementation, and the source of the data in those interfaces.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entities | Array of entities whose relation are being inferred |
[in] | entities_size | Number of entities in array |
[in] | iface_no | Entities correspond to 1st (=0) or 2nd (=1) interface in relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 759 of file iRel_Lasso.cpp.
References iRel_inferArrRelations().
{ iRel_inferArrRelations( instance, pair, entities, entities_size, false, iface_no, err ); }
void iRel_inferEntRelations | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | entity, | ||
int | iface_no, | ||
int * | err | ||
) |
Infer relations corresponding to specified entity and relation pair.
Infer relations corresponding to specified entity and relation pair. The criteria used to infer these relations depends on the interfaces in the pair, the iRel implementation, and the source of the data in those interfaces.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entity | Entity whose relations are being inferred |
[in] | iface_no | Entity corresponds to 1st (=0) or 2nd (=1) interface in relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 693 of file iRel_Lasso.cpp.
References iRel_inferEntArrRelations.
{ iRel_inferEntArrRelations( instance, pair, &entity, 1, iface_no, err ); }
void iRel_inferSetArrRelations | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entity_sets, | ||
int | entities_size, | ||
int | iface_no, | ||
int * | err | ||
) |
Brief unavailable.
Description unavailable
[in] | instance | iRel instance handle |
[in] | pair | description unknown |
[in] | entity_sets | description unknown |
[in] | entities_size | description unknown |
[in] | iface_no | description unknown |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 769 of file iRel_Lasso.cpp.
References iRel_inferArrRelations().
{ iRel_inferArrRelations( instance, pair, (iBase_EntityHandle*)entities, entities_size, true, iface_no, err ); }
void iRel_inferSetRelations | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | entity_set, | ||
int | iface_no, | ||
int * | err | ||
) |
Brief unavailable.
Description unavailable
[in] | instance | iRel instance handle |
[in] | pair | description unknown |
[in] | entity_set | description unknown |
[in] | iface_no | description unknown |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 702 of file iRel_Lasso.cpp.
References iRel_inferSetArrRelations.
{ iRel_inferSetArrRelations( instance, pair, &entity, 1, iface_no, err ); }
void iRel_rmvEntArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | num_ent1, | ||
int | switch_order, | ||
int * | err | ||
) |
Remove a relation from an array of entities.
Remove a relation from an array of entities
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | Array of entities of relation being removed |
[in] | num_ent1 | Number of entities in array |
[in] | switch_order | entities are related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 489 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->rmv_relation( iface_no, ent_array, num_ent ) ); }
void iRel_rmvEntRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent, | ||
int | switch_order, | ||
int * | err | ||
) |
Remove a relation from an entity.
Remove a relation from an entity
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent | entity of relation being removed |
[in] | switch_order | entity is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 467 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->rmv_relation( iface_no, &ent, 1 ) ); }
void iRel_rmvSetArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entset_array_1, | ||
int | num_entset1, | ||
int | switch_order, | ||
int * | err | ||
) |
Remove a relation from an array of entity sets.
Remove a relation from an array of entity sets
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset_array_1 | Array of entity sets of relation being removed |
[in] | num_entset1 | Number of entity sets in array |
[in] | switch_order | entity sets are related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 501 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->rmv_relation( iface_no, entset_array, num_ent ) ); }
void iRel_rmvSetRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | set, | ||
int | switch_order, | ||
int * | err | ||
) |
Remove a relation from an entity set.
Remove a relation from an entity set
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | set | entity set of relation being removed |
[in] | switch_order | entity set is related to 1st interface (=0) or 2nd interface (=1) of relation pair |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 478 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR(); int iface_no = ( switch_order ? 1 : 0 );CHK_ERROR( ASSOCPAIRI->rmv_relation( iface_no, &entset, 1 ) ); }
void iRel_setEntArrEntArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | num_ent1, | ||
iBase_EntityHandle * | ent_array_2, | ||
int | num_ent2, | ||
int * | err | ||
) |
Set relations between arrays of entities pairwise, ent_array_1[i]<->ent_array_2[i].
Set relations between arrays of entities pairwise, ent_array_1[i]<->ent_array_2[i]. If either array contains sets and that side of the relation is 'both'-type, set relations for individual entities in those sets too. It is an error to set a relation on a pair with both sides not iRel_ACTIVE.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | 1st array of entities of relation being set |
[in] | num_ent1 | Number of entities in 1st array |
[in] | ent_array_2 | 2nd array of entities of relation being set |
[in] | num_ent2 | Number of entities in 2nd array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 191 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_PAIR, ERROR, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, iRel_getDescription, and RETURN.
{ CHK_PAIR(); if( num_entities1 != num_entities2 ) ERROR( iBase_INVALID_ENTITY_COUNT, "setEntArrEntArrRelation doesn't support " "different #'s of entities." ); int result = iBase_SUCCESS; char descr[200]; for( int i = 0; i < num_entities1; i++ ) { int tmp_result = ASSOCPAIRI->set_relation( ent_array_1[i], ent_array_2[i] ); if( result == iBase_SUCCESS && tmp_result != iBase_SUCCESS ) { result = tmp_result; iRel_getDescription( instance, descr, sizeof( descr ) ); } } if( result != iBase_SUCCESS ) ERROR( result, descr ); RETURN( iBase_SUCCESS ); }
void iRel_setEntArrSetArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle * | ent_array_1, | ||
int | num_ent1, | ||
iBase_EntitySetHandle * | entset_array_2, | ||
int | num_set2, | ||
int * | err | ||
) |
Set relations between arrays of entities and entity sets.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent_array_1 | 1st array of entities of relation being set |
[in] | num_ent1 | Number of entities in 1st array |
[in] | entset_array_2 | 2nd array of entities of relation being set |
[in] | num_set2 | Number of entity sets in 2nd array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 221 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_PAIR, ERROR, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, iRel_getDescription, and RETURN.
{ CHK_PAIR(); if( num_entities1 != num_sets2 ) ERROR( iBase_INVALID_ENTITY_COUNT, "setEntArrSetArrRelation doesn't support " "different #'s of entities." ); int result = iBase_SUCCESS; char descr[200]; for( int i = 0; i < num_entities1; i++ ) { int tmp_result = ASSOCPAIRI->set_relation( ent_array_1[i], set_array_2[i] ); if( result == iBase_SUCCESS && tmp_result != iBase_SUCCESS ) { result = tmp_result; iRel_getDescription( instance, descr, sizeof( descr ) ); } } if( result != iBase_SUCCESS ) ERROR( result, descr ); RETURN( iBase_SUCCESS ); }
void iRel_setEntEntRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent1, | ||
iBase_EntityHandle | ent2, | ||
int * | err | ||
) |
Set a relation between two entities.
Set a relation between an entity and several entities. It is an error to set a relation on a pair with both sides not iRel_ACTIVE.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent1 | 1st entity of relation being set |
[in] | ent2 | 2nd entity of relation being set |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 155 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR();CHK_ERROR( ASSOCPAIRI->set_relation( ent1, ent2 ) ); }
void iRel_setEntSetRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntityHandle | ent1, | ||
iBase_EntitySetHandle | entset2, | ||
int * | err | ||
) |
Set a relation between an entity and an entity set.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | ent1 | entity of relation being set |
[in] | entset2 | entity set of relation being set |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 164 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR();CHK_ERROR( ASSOCPAIRI->set_relation( ent1, set2 ) ); }
void iRel_setSetArrEntArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entset_array_1, | ||
int | num_set1, | ||
iBase_EntityHandle * | ent_array_2, | ||
int | num_ent2, | ||
int * | err | ||
) |
Set relations between arrays of entity sets and entities.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset_array_1 | 1st array of entities of relation being set |
[in] | num_set1 | Number of entity sets in 1st array |
[in] | ent_array_2 | 2nd array of entities of relation being set |
[in] | num_ent2 | Number of entities in 2nd array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 251 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_PAIR, ERROR, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, iRel_getDescription, and RETURN.
{ CHK_PAIR(); if( num_sets1 != num_entities2 ) ERROR( iBase_INVALID_ENTITY_COUNT, "setSetArrEntArrRelation doesn't support " "different #'s of entities." ); int result = iBase_SUCCESS; char descr[200]; for( int i = 0; i < num_sets1; i++ ) { int tmp_result = ASSOCPAIRI->set_relation( set_array_1[i], ent_array_2[i] ); if( result == iBase_SUCCESS && tmp_result != iBase_SUCCESS ) { result = tmp_result; iRel_getDescription( instance, descr, sizeof( descr ) ); } } if( result != iBase_SUCCESS ) ERROR( result, descr ); RETURN( iBase_SUCCESS ); }
void iRel_setSetArrSetArrRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle * | entset_array_1, | ||
int | num_set1, | ||
iBase_EntitySetHandle * | entset_array_2, | ||
int | num_set2, | ||
int * | err | ||
) |
Set relations between arrays of entity sets pairwise, ent_array_1[i]<->ent_array_2[i].
Set relations between arrays of entities pairwise, ent_array_1[i]<->ent_array_2[i]. If either array contains sets and that side of the relation is 'both'-type, set relations for individual entities in those sets too. It is an error to set a relation on a pair with both sides not iRel_ACTIVE.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset_array_1 | 1st array of entities of relation being set |
[in] | num_set1 | Number of entities in 1st array |
[in] | entset_array_2 | 2nd array of entities of relation being set |
[in] | num_set2 | Number of entities in 2nd array |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 281 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_PAIR, ERROR, iBase_INVALID_ENTITY_COUNT, iBase_SUCCESS, iRel_getDescription, and RETURN.
{ CHK_PAIR(); if( num_sets1 != num_sets2 ) ERROR( iBase_INVALID_ENTITY_COUNT, "setSetArrSetArrRelation doesn't support " "different #'s of entities." ); int result = iBase_SUCCESS; char descr[200]; for( int i = 0; i < num_sets1; i++ ) { int tmp_result = ASSOCPAIRI->set_relation( set_array_1[i], set_array_2[i] ); if( result == iBase_SUCCESS && tmp_result != iBase_SUCCESS ) { result = tmp_result; iRel_getDescription( instance, descr, sizeof( descr ) ); } } if( result != iBase_SUCCESS ) ERROR( result, descr ); RETURN( iBase_SUCCESS ); }
void iRel_setSetEntRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | entset1, | ||
iBase_EntityHandle | ent2, | ||
int * | err | ||
) |
Set a relation between an entity set an an entity.
Description unavailable.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset1 | entity set of relation being set |
[in] | ent2 | entity of relation being set |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 173 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR();CHK_ERROR( ASSOCPAIRI->set_relation( set1, ent2 ) ); }
void iRel_setSetSetRelation | ( | iRel_Instance | instance, |
iRel_PairHandle | pair, | ||
iBase_EntitySetHandle | entset1, | ||
iBase_EntitySetHandle | entset2, | ||
int * | err | ||
) |
Set a relation between two entity sets.
Description unavailable. Set a relation between an entity and several entities. It is an error to set a relation on a pair with both sides not iRel_ACTIVE.
[in] | instance | iRel instance handle |
[in] | pair | Relation pair handle being queried |
[in] | entset1 | 1st entity set of relation being set |
[in] | entset2 | 2nd entity set of relation being set |
[out] | err | Returned Error status (see iBase_ErrorType) |
Definition at line 182 of file iRel_Lasso.cpp.
References ASSOCPAIRI, CHK_ERROR, and CHK_PAIR.
{ CHK_PAIR();CHK_ERROR( ASSOCPAIRI->set_relation( set1, set2 ) ); }