lasso
|
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 */