lasso
|
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.
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 81 of file iRel.h.
{ 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_RelationStatus |
Definition at line 125 of file iRel.h.
{ iRel_RelationStatus_MIN = 0, iRel_ACTIVE = iRel_RelationType_MIN, iRel_INACTIVE, iRel_NOTEXIST, iRel_RelationStatus_MAX = iRel_NOTEXIST };
enum iRel_RelationType |
Definition at line 104 of file iRel.h.
{ iRel_RelationType_MIN = 0, iRel_ENTITY = iRel_RelationType_MIN, iRel_SET, iRel_BOTH, iRel_RelationType_MAX = iRel_BOTH };
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 138 of file iRel_Lasso.cpp.
{ 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 123 of file iRel_Lasso.cpp.
{ 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 48 of file iRel_Lasso.cpp.
{ 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 68 of file iRel_Lasso.cpp.
{ 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 62 of file iRel_Lasso.cpp.
{ 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 153 of file iRel_Lasso.cpp.
{ 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 163 of file iRel_Lasso.cpp.
{ 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.
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 417 of file iRel_Lasso.cpp.
{ 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 439 of file iRel_Lasso.cpp.
{ 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 505 of file iRel_Lasso.cpp.
{ 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 347 of file iRel_Lasso.cpp.
{ 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 403 of file iRel_Lasso.cpp.
{ 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 361 of file iRel_Lasso.cpp.
{ 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.
{ 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 96 of file iRel_Lasso.cpp.
{ 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 461 of file iRel_Lasso.cpp.
{ 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 483 of file iRel_Lasso.cpp.
{ 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 375 of file iRel_Lasso.cpp.
{ 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 389 of file iRel_Lasso.cpp.
{ 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 744 of file iRel_Lasso.cpp.
{ 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 783 of file iRel_Lasso.cpp.
{ 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 864 of file iRel_Lasso.cpp.
{ 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 791 of file iRel_Lasso.cpp.
{ 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 876 of file iRel_Lasso.cpp.
{ 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 801 of file iRel_Lasso.cpp.
{ 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 554 of file iRel_Lasso.cpp.
{ 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 528 of file iRel_Lasso.cpp.
{ 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 568 of file iRel_Lasso.cpp.
{ 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 541 of file iRel_Lasso.cpp.
{ 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 227 of file iRel_Lasso.cpp.
{ 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 257 of file iRel_Lasso.cpp.
{ 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 183 of file iRel_Lasso.cpp.
{ 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 194 of file iRel_Lasso.cpp.
{ 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 287 of file iRel_Lasso.cpp.
{ 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 317 of file iRel_Lasso.cpp.
{ 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 205 of file iRel_Lasso.cpp.
{ 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 216 of file iRel_Lasso.cpp.
{ CHK_PAIR(); CHK_ERROR( ASSOCPAIRI->set_relation(set1, set2) ); }