lasso
iRel.h
Go to the documentation of this file.
00001 #ifndef _ITAPS_iRel
00002 #define _ITAPS_iRel
00003 
00004 /***************************************************************************/
00014 #define IREL_VERSION_MAJOR 1
00015 #define IREL_VERSION_MINOR 1
00016 #define IREL_VERSION_PATCH 0
00017 
00018 /***************************************************************************/
00022 #define IREL_MAJOR_VERSION IREL_VERSION_MAJOR
00023 #define IREL_MINOR_VERSION IREL_VERSION_MINOR
00024 #define IREL_PATCH_VERSION IREL_VERSION_PATCH
00025 
00026 /***************************************************************************/
00033 #define IREL_VERSION_GE(Maj,Min,Pat) ITAPS_VERSION_GE(Maj,Min,Pat)
00034 
00035 /***************************************************************************/
00039 #define IREL_VERSION_STRING ITAPS_VERSION_STRING_(iRel)
00040 
00041 /***************************************************************************/
00045 #define IREL_VERSION_TAG ITAPS_VERSION_TAG_(iRel)
00046 
00047 /***************************************************************************/
00055 #define IREL_CREATE_NAME__(A,B,C) A##_##B##_##C
00056 #define IREL_CREATE_NAME_(A,B,C) IREL_CREATE_NAME__(A,B,C)
00057 #define IREL_CREATE_NAME(A) IREL_CREATE_NAME_(A,IREL_VERSION_MAJOR,IREL_VERSION_MINOR)
00058 /*
00059 #undef  iRel_create
00060 #define iRel_create IREL_CREATE_NAME(iRel_create)
00061 */
00062 
00063 #include "iBase.h"
00064 #include "iRel_protos.h"
00065 
00066 #ifdef __cplusplus
00067 extern "C" {
00068 #endif
00069 
00070 typedef void* iRel_Instance;
00071 typedef struct iRel_PairHandle_Private* iRel_PairHandle;
00072 
00073 /***************************************************************************/
00081 enum iRel_IfaceType {
00082     iRel_IfaceType_MIN = 0,
00084     iRel_IGEOM_IFACE = iRel_IfaceType_MIN, 
00086     iRel_IMESH_IFACE, 
00088     iRel_IFIELD_IFACE, 
00090     iRel_IREL_IFACE,
00092     iRel_FBIGEOM_IFACE,
00094     iRel_IfaceType_MAX = iRel_FBIGEOM_IFACE
00096 };
00097 
00098 /***************************************************************************/
00104 enum iRel_RelationType {
00105     iRel_RelationType_MIN = 0,
00107     iRel_ENTITY = iRel_RelationType_MIN, 
00109     iRel_SET, 
00111     iRel_BOTH,
00113     iRel_RelationType_MAX = iRel_BOTH
00115 };
00116 
00117 /***************************************************************************/
00125 enum iRel_RelationStatus {
00126     iRel_RelationStatus_MIN = 0,
00128     iRel_ACTIVE = iRel_RelationType_MIN, 
00130     iRel_INACTIVE, 
00132     iRel_NOTEXIST,
00134     iRel_RelationStatus_MAX = iRel_NOTEXIST
00136 };
00137 
00138 /***************************************************************************/
00144 void iRel_getErrorType(
00145     iRel_Instance instance,
00147     int* error_type
00149 );
00150 
00151 /***************************************************************************/
00156 void iRel_getDescription(
00157     iRel_Instance instance,
00159     char* descr,
00162     int descr_len
00164 );
00165 
00166 /***************************************************************************/
00171 void iRel_create(
00172     const char* options,
00174     iRel_Instance* instance,
00176     int* err,
00178     const int options_len
00180 );
00181 
00182 /***************************************************************************/
00187 void iRel_destroy(
00188     iRel_Instance instance,
00190     int* err
00192 );
00193 
00194 /***************************************************************************/
00203 void iRel_createPair(
00204     iRel_Instance instance,
00206     iBase_Instance iface1,
00208     const int ent_or_set1,
00211     const int iface_type1,
00213     const int irel_status1,
00215     iBase_Instance iface2,
00217     const int ent_or_set2,
00220     const int iface_type2,
00222     const int irel_status2,
00224     iRel_PairHandle* pair,
00226     int* err
00228 );
00229 
00230 /***************************************************************************/
00237 void iRel_getPairInfo(
00238     iRel_Instance instance,
00240     iRel_PairHandle pair,
00242     iBase_Instance* iface1,
00244     int* ent_or_set1,
00246     int* iface_type1,
00248     int* irel_status1,
00250     iBase_Instance* iface2,
00252     int* ent_or_set2,
00254     int* iface_type2,
00256     int* irel_status2,
00258     int* err
00260 );
00261 
00262 /***************************************************************************/
00269 void iRel_changePairType(
00270     iRel_Instance instance,
00272     iRel_PairHandle pair,
00274     int ent_or_set1,
00276     int ent_or_set2,
00278     int* err
00280 );
00281 
00282 /***************************************************************************/
00294 void iRel_changePairStatus(
00295     iRel_Instance instance,
00297     iRel_PairHandle pair,
00299     int irel_status1,
00301     int irel_status2,
00303     int* err
00305 );
00306 
00307 /***************************************************************************/
00312 void iRel_destroyPair(
00313     iRel_Instance instance,
00315     iRel_PairHandle pair,
00317     int* err
00319 );
00320 
00321 /***************************************************************************/
00326 void iRel_findPairs(
00327     iRel_Instance instance,
00329     iBase_Instance iface,
00331     iRel_PairHandle** pairs,
00334     int* pairs_allocated,
00336     int* pairs_size,
00338     int* err
00340 );
00341 
00342 /***************************************************************************/
00348 void iRel_setEntEntRelation(
00349     iRel_Instance instance,
00351     iRel_PairHandle pair,
00353     iBase_EntityHandle ent1,
00355     iBase_EntityHandle ent2,
00357     int* err
00359 );
00360 
00361 /***************************************************************************/
00366 void iRel_setEntSetRelation(
00367     iRel_Instance instance,
00369     iRel_PairHandle pair,
00371     iBase_EntityHandle ent1,
00373     iBase_EntitySetHandle entset2,
00375     int* err
00377 );
00378 
00379 /***************************************************************************/
00384 void iRel_setSetEntRelation(
00385     iRel_Instance instance,
00387     iRel_PairHandle pair,
00389     iBase_EntitySetHandle entset1,
00391     iBase_EntityHandle ent2,
00393     int* err
00395 );
00396 
00397 /***************************************************************************/
00404 void iRel_setSetSetRelation(
00405     iRel_Instance instance,
00407     iRel_PairHandle pair,
00409     iBase_EntitySetHandle entset1,
00411     iBase_EntitySetHandle entset2,
00413     int* err
00415 );
00416 
00417 /***************************************************************************/
00427 void iRel_setEntArrEntArrRelation(
00428     iRel_Instance instance,
00430     iRel_PairHandle pair,
00432     iBase_EntityHandle* ent_array_1,
00434     int num_ent1,
00436     iBase_EntityHandle* ent_array_2,
00438     int num_ent2,
00440     int* err
00442 );
00443 
00444 /***************************************************************************/
00449 void iRel_setSetArrEntArrRelation(
00450     iRel_Instance instance,
00452     iRel_PairHandle pair,
00454     iBase_EntitySetHandle* entset_array_1,
00456     int num_set1,
00458     iBase_EntityHandle* ent_array_2,
00460     int num_ent2,
00462     int* err
00464 );
00465 
00466 /***************************************************************************/
00471 void iRel_setEntArrSetArrRelation(
00472     iRel_Instance instance,
00474     iRel_PairHandle pair,
00476     iBase_EntityHandle* ent_array_1,
00478     int num_ent1,
00480     iBase_EntitySetHandle* entset_array_2,
00482     int num_set2,
00484     int* err
00486 );
00487 
00488 /***************************************************************************/
00498 void iRel_setSetArrSetArrRelation(
00499     iRel_Instance instance,
00501     iRel_PairHandle pair,
00503     iBase_EntitySetHandle* entset_array_1,
00505     int num_set1,
00507     iBase_EntitySetHandle* entset_array_2,
00509     int num_set2,
00511     int* err
00513 );
00514 
00515 /***************************************************************************/
00522 void iRel_getEntEntRelation(
00523     iRel_Instance instance,
00525     iRel_PairHandle pair,
00527     iBase_EntityHandle ent1,
00529     int switch_order,
00532     iBase_EntityHandle* ent2,
00534     int* err
00536 );
00537 
00538 /***************************************************************************/
00543 void iRel_getEntSetRelation(
00544     iRel_Instance instance,
00546     iRel_PairHandle pair,
00548     iBase_EntityHandle ent1,
00550     int switch_order,
00553     iBase_EntitySetHandle* entset2,
00555     int* err
00557 );
00558 
00559 /***************************************************************************/
00564 void iRel_getSetEntRelation(
00565     iRel_Instance instance,
00567     iRel_PairHandle pair,
00569     iBase_EntitySetHandle entset1,
00571     int switch_order,
00574     iBase_EntityHandle* ent2,
00576     int* err
00578 );
00579 
00580 /***************************************************************************/
00585 void iRel_getSetSetRelation(
00586     iRel_Instance instance,
00588     iRel_PairHandle pair,
00590     iBase_EntitySetHandle entset1,
00592     int switch_order,
00595     iBase_EntitySetHandle* entset2,
00597     int* err
00599 );
00600 
00601 /***************************************************************************/
00607 void iRel_getEntSetIterRelation(
00608     iRel_Instance instance,
00610     iRel_PairHandle pair,
00612     iBase_EntityHandle ent1,
00614     int switch_order,
00617     iBase_EntityIterator* entIter,
00619     int* err
00621 );
00622 
00623 /***************************************************************************/
00632 void iRel_getEntArrEntArrRelation(
00633     iRel_Instance instance,
00635     iRel_PairHandle pair,
00637     iBase_EntityHandle* ent_array_1,
00639     int ent_array_1_size,
00641     int switch_order,
00644     iBase_EntityHandle** ent_array_2,
00646     int* ent_array_2_allocated,
00648     int* ent_array_2_size,
00650     int* err
00652 );
00653 
00654 /***************************************************************************/
00660 void iRel_getEntArrSetArrRelation(
00661     iRel_Instance instance,
00663     iRel_PairHandle pair,
00665     iBase_EntityHandle* ent_array_1,
00667     int ent_array_1_size,
00669     int switch_order,
00672     iBase_EntitySetHandle** entset_array_2,
00674     int* entset_array_2_allocated,
00676     int* entset_array_2_size,
00678     int* err
00680 );
00681 
00682 /***************************************************************************/
00688 void iRel_getSetArrEntArrRelation(
00689     iRel_Instance instance,
00691     iRel_PairHandle pair,
00693     iBase_EntitySetHandle* entset_array_1,
00695     int entset_array_1_size,
00697     int switch_order,
00700     iBase_EntityHandle** ent_array_2,
00702     int* ent_array_2_allocated,
00704     int* ent_array_2_size,
00706     int* err
00708 );
00709 
00710 /***************************************************************************/
00716 void iRel_getSetArrSetArrRelation(
00717     iRel_Instance instance,
00719     iRel_PairHandle pair,
00721     iBase_EntitySetHandle* entset_array_1,
00723     int entset_array_1_size,
00725     int switch_order,
00728     iBase_EntitySetHandle** entset_array_2,
00730     int* entset_array_2_allocated,
00732     int* entset_array_2_size,
00734     int* err
00736 );
00737 
00738 /***************************************************************************/
00744 void iRel_getEntArrSetIterArrRelation(
00745     iRel_Instance instance,
00747     iRel_PairHandle pair,
00749     iBase_EntityHandle* ent_array_1,
00751     int ent_array_1_size,
00753     int switch_order,
00756     iBase_EntityIterator** entiter,
00759     int* entiter_allocated,
00761     int* entiter_size,
00763     int* err
00765 );
00766 
00767 /***************************************************************************/
00772 void iRel_rmvEntRelation(
00773     iRel_Instance instance,
00775     iRel_PairHandle pair,
00777     iBase_EntityHandle ent,
00779     int switch_order,
00782     int* err
00784 );
00785 
00786 /***************************************************************************/
00791 void iRel_rmvSetRelation(
00792     iRel_Instance instance,
00794     iRel_PairHandle pair,
00796     iBase_EntitySetHandle set,
00798     int switch_order,
00801     int* err
00803 );
00804 
00805 /***************************************************************************/
00810 void iRel_rmvEntArrRelation(
00811     iRel_Instance instance,
00813     iRel_PairHandle pair,
00815     iBase_EntityHandle* ent_array_1,
00817     int num_ent1,
00819     int switch_order,
00822     int* err
00824 );
00825 
00826 /***************************************************************************/
00831 void iRel_rmvSetArrRelation(
00832     iRel_Instance instance,
00834     iRel_PairHandle pair,
00836     iBase_EntitySetHandle* entset_array_1,
00838     int num_entset1,
00840     int switch_order,
00843     int* err
00845 );
00846 
00847 /***************************************************************************/
00855 void iRel_inferAllRelations(
00856     iRel_Instance instance,
00858     iRel_PairHandle pair,
00860     int* err
00862 );
00863 
00864 /***************************************************************************/
00873 void iRel_inferAllRelationsAndType(
00874     iRel_Instance instance,
00876     iRel_PairHandle* pair,
00878     int* err
00880 );
00881 
00882 /***************************************************************************/
00890 void iRel_inferEntRelations(
00891     iRel_Instance instance,
00893     iRel_PairHandle pair,
00895     iBase_EntityHandle entity,
00897     int iface_no,
00900     int* err
00902 );
00903 
00904 /***************************************************************************/
00909 void iRel_inferSetRelations(
00910     iRel_Instance instance,
00912     iRel_PairHandle pair,
00914     iBase_EntitySetHandle entity_set,
00916     int iface_no,
00918     int* err
00920 );
00921 
00922 /***************************************************************************/
00930 void iRel_inferEntArrRelations(
00931     iRel_Instance instance,
00933     iRel_PairHandle pair,
00935     iBase_EntityHandle* entities,
00937     int entities_size,
00939     int iface_no,
00942     int* err
00944 );
00945 
00946 /***************************************************************************/
00951 void iRel_inferSetArrRelations(
00952     iRel_Instance instance,
00954     iRel_PairHandle pair,
00956     iBase_EntitySetHandle* entity_sets,
00958     int entities_size,
00960     int iface_no,
00962     int* err
00964 );
00965 
00966 
01044 #ifdef __cplusplus
01045 } /* extern "C" */
01046 #endif
01047 
01048 #endif /* #ifndef _ITAPS_iRel */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines