moab
|
00001 #ifndef _ITAPS_iMesh 00002 #define _ITAPS_iMesh 00003 00004 #include "iBase.h" 00005 #include "iMesh_protos.h" 00006 00007 /***************************************************************************/ 00017 #define IMESH_VERSION_MAJOR ITAPS_VERSION_MAJOR 00018 #define IMESH_VERSION_MINOR ITAPS_VERSION_MINOR 00019 #define IMESH_VERSION_PATCH ITAPS_VERSION_PATCH 00020 00021 /***************************************************************************/ 00025 #define IMESH_MAJOR_VERSION IMESH_VERSION_MAJOR 00026 #define IMESH_MINOR_VERSION IMESH_VERSION_MINOR 00027 #define IMESH_PATCH_VERSION IMESH_VERSION_PATCH 00028 00029 /***************************************************************************/ 00036 #define IMESH_VERSION_GE(Maj,Min,Pat) ITAPS_VERSION_GE(Maj,Min,Pat) 00037 00038 /***************************************************************************/ 00042 #define IMESH_VERSION_STRING ITAPS_VERSION_STRING_(iMesh) 00043 00044 /***************************************************************************/ 00048 #define IMESH_VERSION_TAG ITAPS_VERSION_TAG_(iMesh) 00049 00050 /***************************************************************************/ 00058 #define IMESH_NEW_MESH_NAME__(A,B,C) A##_##B##_##C 00059 #define IMESH_NEW_MESH_NAME_(A,B,C) IMESH_NEW_MESH_NAME__(A,B,C) 00060 #define IMESH_NEW_MESH_NAME(A) IMESH_NEW_MESH_NAME_(A,IMESH_VERSION_MAJOR,IMESH_VERSION_MINOR) 00061 /* 00062 #undef iMesh_newMesh 00063 #define iMesh_newMesh IMESH_NEW_MESH_NAME(iMesh_newMesh) 00064 */ 00065 00066 #ifdef __cplusplus 00067 extern "C" { 00068 #endif 00069 00070 /***************************************************************************/ 00074 typedef struct iMesh_Instance_Private* iMesh_Instance; 00075 00076 /***************************************************************************/ 00080 enum iMesh_EntityTopology { 00081 iMesh_EntityTopology_MIN = 0, 00083 iMesh_POINT = iMesh_EntityTopology_MIN, 00085 iMesh_LINE_SEGMENT, 00087 iMesh_POLYGON, 00089 iMesh_TRIANGLE, 00091 iMesh_QUADRILATERAL, 00093 iMesh_POLYHEDRON, 00095 iMesh_TETRAHEDRON, 00097 iMesh_HEXAHEDRON, 00099 iMesh_PRISM, 00102 iMesh_PYRAMID, 00105 iMesh_SEPTAHEDRON, 00107 iMesh_ALL_TOPOLOGIES, 00109 iMesh_EntityTopology_MAX = iMesh_ALL_TOPOLOGIES 00111 }; 00112 00113 /***************************************************************************/ 00117 void iMesh_getErrorType( 00118 iMesh_Instance instance, 00120 int* error_type 00124 ); 00125 00126 /***************************************************************************/ 00130 void iMesh_getDescription( 00131 iMesh_Instance instance, 00133 char* descr, 00136 int descr_len 00139 ); 00140 00141 /***************************************************************************/ 00147 void iMesh_newMesh( 00148 const char* options, 00151 iMesh_Instance* instance, 00153 int* err, 00155 int options_len 00158 ); 00159 00160 /***************************************************************************/ 00166 void iMesh_dtor( 00167 iMesh_Instance instance, 00169 int* err 00171 ); 00172 00173 /***************************************************************************/ 00181 void iMesh_load( 00182 iMesh_Instance instance, 00184 const iBase_EntitySetHandle entity_set_handle, 00186 const char* name, 00188 const char* options, 00191 int* err, 00193 int name_len, 00196 int options_len 00199 ); 00200 00201 /***************************************************************************/ 00209 void iMesh_save( 00210 iMesh_Instance instance, 00212 const iBase_EntitySetHandle entity_set_handle, 00214 const char* name, 00216 const char* options, 00219 int* err, 00221 const int name_len, 00224 int options_len 00227 ); 00228 00229 /***************************************************************************/ 00237 void iMesh_getRootSet( 00238 iMesh_Instance instance, 00240 iBase_EntitySetHandle* root_set, 00242 int* err 00244 ); 00245 00246 /***************************************************************************/ 00252 void iMesh_getGeometricDimension( 00253 iMesh_Instance instance, 00255 int* geom_dim, 00257 int* err 00259 ); 00260 00261 /***************************************************************************/ 00271 void iMesh_setGeometricDimension( 00272 iMesh_Instance instance, 00274 int geom_dim, 00276 int* err 00278 ); 00279 00280 /***************************************************************************/ 00288 void iMesh_getDfltStorage( 00289 iMesh_Instance instance, 00291 int* order, 00294 int* err 00296 ); 00297 00298 /***************************************************************************/ 00324 void iMesh_getAdjTable ( 00325 iMesh_Instance instance, 00327 int** adjacency_table, 00330 int* adjacency_table_allocated, 00332 int* adjacency_table_size, 00334 int* err 00336 ); 00337 00338 /***************************************************************************/ 00356 void iMesh_setAdjTable ( 00357 iMesh_Instance instance, 00359 int* adjacency_table, 00362 int adjacency_table_size, 00364 int* err 00366 ); 00367 00368 /***************************************************************************/ 00379 void iMesh_getNumOfType( 00380 iMesh_Instance instance, 00382 const iBase_EntitySetHandle entity_set_handle, 00384 const int entity_type, 00386 int* num_type, 00388 int* err 00390 ); 00391 00392 /***************************************************************************/ 00403 void iMesh_getNumOfTopo( 00404 iMesh_Instance instance, 00406 const iBase_EntitySetHandle entity_set_handle, 00408 const int entity_topology, 00410 int* num_topo, 00412 int* err 00414 ); 00415 00416 /***************************************************************************/ 00439 void iMesh_optimize( 00440 iMesh_Instance instance, 00442 int* handles_invalidated, 00448 int* err 00450 ); 00451 00452 /***************************************************************************/ 00463 void iMesh_getEntities( 00464 iMesh_Instance instance, 00466 const iBase_EntitySetHandle entity_set_handle, 00468 const int entity_type, 00470 const int entity_topology, 00472 iBase_EntityHandle** entity_handles, 00474 int* entity_handles_allocated, 00476 int* entity_handles_size, 00478 int* err 00480 ); 00481 00482 /***************************************************************************/ 00490 void iMesh_getVtxArrCoords( 00491 iMesh_Instance instance, 00493 const iBase_EntityHandle* vertex_handles, 00496 const int vertex_handles_size, 00498 const int storage_order, 00501 double** coords, 00504 int* coords_allocated, 00506 int* coords_size, 00508 int* err 00510 ); 00511 00512 /***************************************************************************/ 00526 void iMesh_initEntArrIter( 00527 iMesh_Instance instance, 00529 const iBase_EntitySetHandle entity_set_handle, 00531 const int requested_entity_type, 00533 const int requested_entity_topology, 00535 const int requested_array_size, 00538 const int resilient, 00541 iBase_EntityArrIterator* entArr_iterator, 00543 int* err 00545 ); 00546 00547 /***************************************************************************/ 00559 void iMesh_getNextEntArrIter( 00560 iMesh_Instance instance, 00562 iBase_EntityArrIterator entArr_iterator, 00564 iBase_EntityHandle** entity_handles, 00567 int* entity_handles_allocated, 00569 int* entity_handles_size, 00571 int* has_data, 00575 int* err 00577 ); 00578 00579 /***************************************************************************/ 00585 void iMesh_resetEntArrIter( 00586 iMesh_Instance instance, 00588 iBase_EntityArrIterator entArr_iterator, 00590 int* err 00592 ); 00593 00594 /***************************************************************************/ 00600 void iMesh_endEntArrIter( 00601 iMesh_Instance instance, 00603 iBase_EntityArrIterator entArr_iterator, 00605 int* err 00607 ); 00608 00609 /***************************************************************************/ 00617 void iMesh_getEntArrTopo( 00618 iMesh_Instance instance, 00620 const iBase_EntityHandle* entity_handles, 00622 const int entity_handles_size, 00624 int** topology, 00627 int* topology_allocated, 00629 int* topology_size, 00631 int* err 00633 ); 00634 00635 /***************************************************************************/ 00643 void iMesh_getEntArrType( 00644 iMesh_Instance instance, 00646 const iBase_EntityHandle* entity_handles, 00648 const int entity_handles_size, 00650 int** type, 00653 int* type_allocated, 00655 int* type_size, 00657 int* err 00659 ); 00660 00661 /***************************************************************************/ 00680 void iMesh_getEntArrAdj( 00681 iMesh_Instance instance, 00683 const iBase_EntityHandle* entity_handles, 00685 const int entity_handles_size, 00687 const int entity_type_requested, 00689 iBase_EntityHandle** adjacentEntityHandles, 00693 int* adjacentEntityHandles_allocated, 00695 int* adj_entity_handles_size, 00697 int** offset, 00700 int* offset_allocated, 00702 int* offset_size, 00704 int* err 00706 ); 00707 00708 /***************************************************************************/ 00732 void iMesh_getEntArr2ndAdj( 00733 iMesh_Instance instance, 00735 iBase_EntityHandle const* entity_handles, 00737 int entity_handles_size, 00739 int bridge_entity_type, 00741 int requested_entity_type, 00743 iBase_EntityHandle** adj_entity_handles, 00747 int* adj_entity_handles_allocated, 00749 int* adj_entity_handles_size, 00751 int** offset, 00754 int* offset_allocated, 00756 int* offset_size, 00758 int* err 00760 ); 00761 00762 /***************************************************************************/ 00787 void iMesh_getAdjEntIndices( 00788 iMesh_Instance instance, 00790 iBase_EntitySetHandle entity_set_handle, 00792 int entity_type_requester, 00795 int entity_topology_requester, 00798 int entity_type_requested, 00800 iBase_EntityHandle** entity_handles, 00804 int* entity_handles_allocated, 00806 int* entity_handles_size, 00808 iBase_EntityHandle** adj_entity_handles, 00813 int* adj_entity_handles_allocated, 00815 int* adj_entity_handles_size, 00817 int** adj_entity_indices, 00823 int* adj_entity_indices_allocated, 00825 int* adj_entity_indices_size, 00827 int** offset, 00831 int* offset_allocated, 00833 int* offset_size, 00835 int* err 00837 ); 00838 00839 /***************************************************************************/ 00878 void iMesh_createEntSet( 00879 iMesh_Instance instance, 00881 const int isList, 00884 iBase_EntitySetHandle* entity_set_created, 00886 int* err 00888 ); 00889 00890 /***************************************************************************/ 00896 void iMesh_destroyEntSet( 00897 iMesh_Instance instance, 00899 iBase_EntitySetHandle entity_set, 00901 int* err 00903 ); 00904 00905 /***************************************************************************/ 00913 void iMesh_isList( 00914 iMesh_Instance instance, 00916 const iBase_EntitySetHandle entity_set, 00918 int* is_list, 00920 int* err 00922 ); 00923 00924 /***************************************************************************/ 00931 void iMesh_getNumEntSets( 00932 iMesh_Instance instance, 00934 const iBase_EntitySetHandle entity_set_handle, 00936 const int num_hops, 00939 int* num_sets, 00941 int* err 00943 ); 00944 00945 /***************************************************************************/ 00952 void iMesh_getEntSets( 00953 iMesh_Instance instance, 00955 const iBase_EntitySetHandle entity_set_handle, 00957 const int num_hops, 00960 iBase_EntitySetHandle** contained_set_handles, 00962 int* contained_set_handles_allocated, 00964 int* contained_set_handles_size, 00966 int* err 00968 ); 00969 00970 /***************************************************************************/ 00976 void iMesh_addEntToSet( 00977 iMesh_Instance instance, 00979 iBase_EntityHandle entity_handle, 00981 iBase_EntitySetHandle entity_set, 00983 int* err 00985 ); 00986 00987 /***************************************************************************/ 00993 void iMesh_rmvEntFromSet( 00994 iMesh_Instance instance, 00996 iBase_EntityHandle entity_handle, 00998 iBase_EntitySetHandle entity_set, 01000 int* err 01002 ); 01003 01004 /***************************************************************************/ 01010 void iMesh_addEntArrToSet( 01011 iMesh_Instance instance, 01013 const iBase_EntityHandle* entity_handles, 01015 int entity_handles_size, 01017 iBase_EntitySetHandle entity_set, 01019 int* err 01021 ); 01022 01023 /***************************************************************************/ 01029 void iMesh_rmvEntArrFromSet( 01030 iMesh_Instance instance, 01032 const iBase_EntityHandle* entity_handles, 01034 int entity_handles_size, 01036 iBase_EntitySetHandle entity_set, 01038 int* err 01040 ); 01041 01042 /***************************************************************************/ 01049 void iMesh_addEntSet( 01050 iMesh_Instance instance, 01052 iBase_EntitySetHandle entity_set_to_add, 01054 iBase_EntitySetHandle entity_set_handle, 01056 int* err 01058 ); 01059 01060 /***************************************************************************/ 01067 void iMesh_rmvEntSet( 01068 iMesh_Instance instance, 01070 iBase_EntitySetHandle entity_set_to_remove, 01072 iBase_EntitySetHandle entity_set_handle, 01074 int* err 01076 ); 01077 01078 /***************************************************************************/ 01086 void iMesh_isEntContained( 01087 iMesh_Instance instance, 01089 iBase_EntitySetHandle containing_entity_set, 01091 iBase_EntityHandle contained_entity, 01093 int* is_contained, 01095 int* err 01097 ); 01098 01099 /***************************************************************************/ 01105 void iMesh_isEntArrContained( 01106 iMesh_Instance instance, 01108 iBase_EntitySetHandle containing_entity_set, 01110 const iBase_EntityHandle* entity_handles, 01112 int num_entity_handles, 01114 int** is_contained, 01117 int* is_contained_allocated, 01119 int* is_contained_size, 01121 int* err 01123 ); 01124 01125 /***************************************************************************/ 01133 void iMesh_isEntSetContained( 01134 iMesh_Instance instance, 01136 const iBase_EntitySetHandle containing_entity_set, 01138 const iBase_EntitySetHandle contained_entity_set, 01140 int* is_contained, 01142 int* err 01144 ); 01145 01146 /***************************************************************************/ 01154 void iMesh_addPrntChld( 01155 iMesh_Instance instance, 01157 iBase_EntitySetHandle parent_entity_set, 01159 iBase_EntitySetHandle child_entity_set, 01161 int* err 01163 ); 01164 01165 /***************************************************************************/ 01172 void iMesh_rmvPrntChld( 01173 iMesh_Instance instance, 01175 iBase_EntitySetHandle parent_entity_set, 01177 iBase_EntitySetHandle child_entity_set, 01179 int* err 01181 ); 01182 01183 /***************************************************************************/ 01191 void iMesh_isChildOf( 01192 iMesh_Instance instance, 01194 const iBase_EntitySetHandle parent_entity_set, 01196 const iBase_EntitySetHandle child_entity_set, 01198 int* is_child, 01200 int* err 01202 ); 01203 01204 /***************************************************************************/ 01211 void iMesh_getNumChld( 01212 iMesh_Instance instance, 01214 const iBase_EntitySetHandle entity_set, 01216 const int num_hops, 01219 int* num_child, 01221 int* err 01223 ); 01224 01225 /***************************************************************************/ 01232 void iMesh_getNumPrnt( 01233 iMesh_Instance instance, 01235 const iBase_EntitySetHandle entity_set, 01237 const int num_hops, 01240 int* num_parent, 01242 int* err 01244 ); 01245 01246 /***************************************************************************/ 01253 void iMesh_getChldn( 01254 iMesh_Instance instance, 01256 const iBase_EntitySetHandle from_entity_set, 01258 const int num_hops, 01261 iBase_EntitySetHandle** entity_set_handles, 01263 int* entity_set_handles_allocated, 01265 int* entity_set_handles_size, 01267 int* err 01269 ); 01270 01271 /***************************************************************************/ 01278 void iMesh_getPrnts( 01279 iMesh_Instance instance, 01281 const iBase_EntitySetHandle from_entity_set, 01283 const int num_hops, 01286 iBase_EntitySetHandle** entity_set_handles, 01288 int* entity_set_handles_allocated, 01290 int* entity_set_handles_size, 01292 int* err 01294 ); 01295 01296 /***************************************************************************/ 01305 void iMesh_setVtxArrCoords( 01306 iMesh_Instance instance, 01308 const iBase_EntityHandle* vertex_handles, 01310 const int vertex_handles_size, 01312 const int storage_order, 01314 const double* new_coords, 01316 const int new_coords_size, 01318 int* err 01320 ); 01321 01322 /***************************************************************************/ 01330 void iMesh_createVtxArr( 01331 iMesh_Instance instance, 01333 const int num_verts, 01335 const int storage_order, 01338 const double* new_coords, 01341 const int new_coords_size, 01343 iBase_EntityHandle** new_vertex_handles, 01345 int* new_vertex_handles_allocated, 01347 int* new_vertex_handles_size, 01349 int* err 01351 ); 01352 01353 /***************************************************************************/ 01363 void iMesh_createEntArr( 01364 iMesh_Instance instance, 01366 const int new_entity_topology, 01368 const iBase_EntityHandle* lower_order_entity_handles, 01371 const int lower_order_entity_handles_size, 01373 iBase_EntityHandle** new_entity_handles, 01376 int* new_entity_handles_allocated, 01378 int* new_entity_handles_size, 01380 int** status, 01383 int* status_allocated, 01385 int* status_size, 01387 int* err 01389 ); 01390 01391 /***************************************************************************/ 01398 void iMesh_deleteEntArr( 01399 iMesh_Instance instance, 01401 const iBase_EntityHandle* entity_handles, 01403 const int entity_handles_size, 01405 int* err 01407 ); 01408 01409 /***************************************************************************/ 01418 void iMesh_createTag( 01419 iMesh_Instance instance, 01421 const char* tag_name, 01423 const int tag_size, 01426 const int tag_type, 01428 iBase_TagHandle* tag_handle, 01430 int* err, 01432 const int tag_name_len 01434 ); 01435 01436 /***************************************************************************/ 01445 void iMesh_destroyTag( 01446 iMesh_Instance instance, 01448 iBase_TagHandle tag_handle, 01450 const int forced, 01453 int* err 01455 ); 01456 01457 /***************************************************************************/ 01464 void iMesh_getTagName( 01465 iMesh_Instance instance, 01467 const iBase_TagHandle tag_handle, 01469 char* name, 01471 int* err, 01473 int name_len 01476 ); 01477 01478 /***************************************************************************/ 01485 void iMesh_getTagSizeValues( 01486 iMesh_Instance instance, 01488 const iBase_TagHandle tag_handle, 01490 int* tag_size, 01492 int* err 01494 ); 01495 01496 /***************************************************************************/ 01503 void iMesh_getTagSizeBytes( 01504 iMesh_Instance instance, 01506 const iBase_TagHandle tag_handle, 01508 int* tag_size, 01510 int* err 01512 ); 01513 01514 /***************************************************************************/ 01521 void iMesh_getTagHandle( 01522 iMesh_Instance instance, 01524 const char* tag_name, 01526 iBase_TagHandle* tag_handle, 01528 int* err, 01530 int tag_name_len 01532 ); 01533 01534 /***************************************************************************/ 01542 void iMesh_getTagType( 01543 iMesh_Instance instance, 01545 const iBase_TagHandle tag_handle, 01547 int* tag_type, 01549 int* err 01551 ); 01552 01553 /***************************************************************************/ 01565 void iMesh_setEntSetData( 01566 iMesh_Instance instance, 01568 iBase_EntitySetHandle entity_set_handle, 01570 const iBase_TagHandle tag_handle, 01572 const void* tag_value, 01574 const int tag_value_size, 01576 int* err 01578 ); 01579 01580 /***************************************************************************/ 01587 void iMesh_setEntSetIntData( 01588 iMesh_Instance instance, 01590 iBase_EntitySetHandle entity_set, 01592 const iBase_TagHandle tag_handle, 01594 const int tag_value, 01596 int* err 01598 ); 01599 01600 /***************************************************************************/ 01607 void iMesh_setEntSetDblData( 01608 iMesh_Instance instance, 01610 iBase_EntitySetHandle entity_set, 01612 const iBase_TagHandle tag_handle, 01614 const double tag_value, 01616 int* err 01618 ); 01619 01620 /***************************************************************************/ 01627 void iMesh_setEntSetEHData( 01628 iMesh_Instance instance, 01630 iBase_EntitySetHandle entity_set, 01632 const iBase_TagHandle tag_handle, 01634 const iBase_EntityHandle tag_value, 01636 int* err 01638 ); 01639 01640 /***************************************************************************/ 01648 void iMesh_setEntSetESHData( 01649 iMesh_Instance instance, 01651 iBase_EntitySetHandle entity_set, 01653 const iBase_TagHandle tag_handle, 01655 const iBase_EntitySetHandle tag_value, 01657 int* err 01659 ); 01660 01661 /***************************************************************************/ 01674 void iMesh_getEntSetData( 01675 iMesh_Instance instance, 01677 const iBase_EntitySetHandle entity_set_handle, 01679 const iBase_TagHandle tag_handle, 01681 void* tag_value, 01684 int* tag_value_allocated, 01686 int* tag_value_size, 01688 int* err 01690 ); 01691 01692 /***************************************************************************/ 01699 void iMesh_getEntSetIntData( 01700 iMesh_Instance instance, 01702 const iBase_EntitySetHandle entity_set, 01704 const iBase_TagHandle tag_handle, 01706 int* out_data, 01708 int* err 01710 ); 01711 01712 /***************************************************************************/ 01719 void iMesh_getEntSetDblData( 01720 iMesh_Instance instance, 01722 const iBase_EntitySetHandle entity_set, 01724 const iBase_TagHandle tag_handle, 01726 double* out_data, 01728 int* err 01730 ); 01731 01732 /***************************************************************************/ 01739 void iMesh_getEntSetEHData( 01740 iMesh_Instance instance, 01742 const iBase_EntitySetHandle entity_set, 01744 const iBase_TagHandle tag_handle, 01746 iBase_EntityHandle* out_data, 01748 int* err 01750 ); 01751 01752 /***************************************************************************/ 01760 void iMesh_getEntSetESHData( 01761 iMesh_Instance instance, 01763 const iBase_EntitySetHandle entity_set, 01765 const iBase_TagHandle tag_handle, 01767 iBase_EntitySetHandle* out_data, 01769 int* err 01771 ); 01772 01773 /***************************************************************************/ 01780 void iMesh_getAllEntSetTags( 01781 iMesh_Instance instance, 01783 const iBase_EntitySetHandle entity_set_handle, 01785 iBase_TagHandle** tag_handles, 01788 int* tag_handles_allocated, 01790 int* tag_handles_size, 01792 int* err 01794 ); 01795 01796 /***************************************************************************/ 01803 void iMesh_rmvEntSetTag( 01804 iMesh_Instance instance, 01806 iBase_EntitySetHandle entity_set_handle, 01808 const iBase_TagHandle tag_handle, 01810 int* err 01812 ); 01813 01814 /***************************************************************************/ 01821 void iMesh_setVtxCoord( 01822 iMesh_Instance instance, 01824 iBase_EntityHandle vertex_handle, 01826 const double x, 01828 const double y, 01830 const double z, 01832 int* err 01834 ); 01835 01836 /***************************************************************************/ 01843 void iMesh_createVtx( 01844 iMesh_Instance instance, 01846 const double x, 01848 const double y, 01850 const double z, 01852 iBase_EntityHandle* new_vertex_handle, 01854 int* err 01856 ); 01857 01858 /***************************************************************************/ 01868 void iMesh_createEnt( 01869 iMesh_Instance instance, 01871 const int new_entity_topology, 01873 const iBase_EntityHandle* lower_order_entity_handles, 01876 const int lower_order_entity_handles_size, 01878 iBase_EntityHandle* new_entity_handle, 01880 int* status, 01883 int* err 01885 ); 01886 01887 /***************************************************************************/ 01894 void iMesh_deleteEnt( 01895 iMesh_Instance instance, 01897 iBase_EntityHandle entity_handle, 01899 int* err 01901 ); 01902 01903 /***************************************************************************/ 01916 void iMesh_getArrData( 01917 iMesh_Instance instance, 01919 const iBase_EntityHandle* entity_handles, 01921 const int entity_handles_size, 01923 const iBase_TagHandle tag_handle, 01925 void* tag_values, 01929 int* tag_values_allocated, 01931 int* tag_values_size, 01933 int* err 01935 ); 01936 01937 /***************************************************************************/ 01944 void iMesh_getIntArrData( 01945 iMesh_Instance instance, 01947 const iBase_EntityHandle* entity_handles, 01949 const int entity_handles_size, 01951 const iBase_TagHandle tag_handle, 01953 int** tag_values, 01957 int* tag_values_allocated, 01959 int* tag_values_size, 01961 int* err 01963 ); 01964 01965 /***************************************************************************/ 01972 void iMesh_getDblArrData( 01973 iMesh_Instance instance, 01975 const iBase_EntityHandle* entity_handles, 01977 const int entity_handles_size, 01979 const iBase_TagHandle tag_handle, 01981 double** tag_values, 01985 int* tag_values_allocated, 01987 int* tag_values_size, 01989 int* err 01991 ); 01992 01993 /***************************************************************************/ 02000 void iMesh_getEHArrData( 02001 iMesh_Instance instance, 02003 const iBase_EntityHandle* entity_handles, 02005 const int entity_handles_size, 02007 const iBase_TagHandle tag_handle, 02009 iBase_EntityHandle** tag_value, 02013 int* tag_value_allocated, 02015 int* tag_value_size, 02017 int* err 02019 ); 02020 02021 /***************************************************************************/ 02029 void iMesh_getESHArrData( 02030 iMesh_Instance instance, 02032 const iBase_EntityHandle* entity_handles, 02034 const int entity_handles_size, 02036 const iBase_TagHandle tag_handle, 02038 iBase_EntitySetHandle** tag_value, 02042 int* tag_value_allocated, 02044 int* tag_value_size, 02046 int* err 02048 ); 02049 02050 /***************************************************************************/ 02063 void iMesh_setArrData( 02064 iMesh_Instance instance, 02066 const iBase_EntityHandle* entity_handles, 02068 const int entity_handles_size, 02070 const iBase_TagHandle tag_handle, 02072 const void* tag_values, 02076 const int tag_values_size, 02078 int* err 02080 ); 02081 02082 /***************************************************************************/ 02089 void iMesh_setIntArrData( 02090 iMesh_Instance instance, 02092 const iBase_EntityHandle* entity_handles, 02094 const int entity_handles_size, 02096 const iBase_TagHandle tag_handle, 02098 const int* tag_values, 02102 const int tag_values_size, 02104 int* err 02106 ); 02107 02108 /***************************************************************************/ 02115 void iMesh_setDblArrData( 02116 iMesh_Instance instance, 02118 const iBase_EntityHandle* entity_handles, 02120 const int entity_handles_size, 02122 const iBase_TagHandle tag_handle, 02124 const double* tag_values, 02128 const int tag_values_size, 02130 int* err 02132 ); 02133 02134 /***************************************************************************/ 02141 void iMesh_setEHArrData( 02142 iMesh_Instance instance, 02144 const iBase_EntityHandle* entity_handles, 02146 const int entity_handles_size, 02148 const iBase_TagHandle tag_handle, 02150 const iBase_EntityHandle* tag_values, 02154 const int tag_values_size, 02156 int* err 02158 ); 02159 02160 /***************************************************************************/ 02168 void iMesh_setESHArrData( 02169 iMesh_Instance instance, 02171 const iBase_EntityHandle* entity_handles, 02173 const int entity_handles_size, 02175 const iBase_TagHandle tag_handle, 02177 const iBase_EntitySetHandle* tag_values, 02181 const int tag_values_size, 02183 int* err 02185 ); 02186 02187 /***************************************************************************/ 02194 void iMesh_rmvArrTag( 02195 iMesh_Instance instance, 02197 const iBase_EntityHandle* entity_handles, 02199 const int entity_handles_size, 02201 const iBase_TagHandle tag_handle, 02203 int* err 02205 ); 02206 02207 /***************************************************************************/ 02220 void iMesh_getData( 02221 iMesh_Instance instance, 02223 const iBase_EntityHandle entity_handle, 02225 const iBase_TagHandle tag_handle, 02227 void* tag_value, 02230 int* tag_value_allocated, 02232 int* tag_value_size, 02234 int* err 02236 ); 02237 02238 /***************************************************************************/ 02245 void iMesh_getIntData( 02246 iMesh_Instance instance, 02248 const iBase_EntityHandle entity_handle, 02250 const iBase_TagHandle tag_handle, 02252 int* out_data, 02254 int* err 02256 ); 02257 02258 /***************************************************************************/ 02265 void iMesh_getDblData( 02266 iMesh_Instance instance, 02268 const iBase_EntityHandle entity_handle, 02270 const iBase_TagHandle tag_handle, 02272 double* out_data, 02274 int* err 02276 ); 02277 02278 /***************************************************************************/ 02285 void iMesh_getEHData( 02286 iMesh_Instance instance, 02288 const iBase_EntityHandle entity_handle, 02290 const iBase_TagHandle tag_handle, 02292 iBase_EntityHandle* out_data, 02294 int* err 02296 ); 02297 02298 /***************************************************************************/ 02306 void iMesh_getESHData( 02307 iMesh_Instance instance, 02309 const iBase_EntityHandle entity_handle, 02311 const iBase_TagHandle tag_handle, 02313 iBase_EntitySetHandle* out_data, 02315 int* err 02317 ); 02318 02319 /***************************************************************************/ 02332 void iMesh_setData( 02333 iMesh_Instance instance, 02335 iBase_EntityHandle entity_handle, 02337 const iBase_TagHandle tag_handle, 02339 const void* tag_value, 02341 const int tag_value_size, 02343 int* err 02345 ); 02346 02347 /***************************************************************************/ 02354 void iMesh_setIntData( 02355 iMesh_Instance instance, 02357 iBase_EntityHandle entity_handle, 02359 const iBase_TagHandle tag_handle, 02361 const int tag_value, 02363 int* err 02365 ); 02366 02367 /***************************************************************************/ 02374 void iMesh_setDblData( 02375 iMesh_Instance instance, 02377 iBase_EntityHandle entity_handle, 02379 const iBase_TagHandle tag_handle, 02381 const double tag_value, 02383 int* err 02385 ); 02386 02387 /***************************************************************************/ 02394 void iMesh_setEHData( 02395 iMesh_Instance instance, 02397 iBase_EntityHandle entity_handle, 02399 const iBase_TagHandle tag_handle, 02401 const iBase_EntityHandle tag_value, 02403 int* err 02405 ); 02406 02407 /***************************************************************************/ 02414 void iMesh_setESHData( 02415 iMesh_Instance instance, 02417 iBase_EntityHandle entity_handle, 02419 const iBase_TagHandle tag_handle, 02421 const iBase_EntitySetHandle tag_value, 02423 int* err 02425 ); 02426 02427 /***************************************************************************/ 02434 void iMesh_getAllTags( 02435 iMesh_Instance instance, 02437 const iBase_EntityHandle entity_handle, 02439 iBase_TagHandle** tag_handles, 02442 int* tag_handles_allocated, 02444 int* tag_handles_size, 02446 int* err 02448 ); 02449 02450 /***************************************************************************/ 02457 void iMesh_rmvTag( 02458 iMesh_Instance instance, 02460 iBase_EntityHandle entity_handle, 02462 const iBase_TagHandle tag_handle, 02464 int* err 02466 ); 02467 02468 /***************************************************************************/ 02484 void iMesh_initEntIter( 02485 iMesh_Instance instance, 02487 const iBase_EntitySetHandle entity_set_handle, 02489 const int requested_entity_type, 02491 const int requested_entity_topology, 02493 const int resilient, 02496 iBase_EntityIterator* entity_iterator, 02498 int* err 02500 ); 02501 02502 /***************************************************************************/ 02514 void iMesh_getNextEntIter( 02515 iMesh_Instance instance, 02517 iBase_EntityIterator entity_iterator, 02519 iBase_EntityHandle* entity_handle, 02522 int* has_data, 02526 int* err 02528 ); 02529 02530 /***************************************************************************/ 02537 void iMesh_resetEntIter( 02538 iMesh_Instance instance, 02540 iBase_EntityIterator entity_iterator, 02542 int* err 02544 ); 02545 02546 /***************************************************************************/ 02553 void iMesh_endEntIter( 02554 iMesh_Instance instance, 02556 iBase_EntityIterator entity_iterator, 02558 int* err 02560 ); 02561 02562 /***************************************************************************/ 02570 void iMesh_getEntTopo( 02571 iMesh_Instance instance, 02573 const iBase_EntityHandle entity_handle, 02575 int* out_topo, 02577 int* err 02579 ); 02580 02581 /***************************************************************************/ 02589 void iMesh_getEntType( 02590 iMesh_Instance instance, 02592 const iBase_EntityHandle entity_handle, 02594 int* out_type, 02596 int* err 02598 ); 02599 02600 /***************************************************************************/ 02607 void iMesh_getVtxCoord( 02608 iMesh_Instance instance, 02610 const iBase_EntityHandle vertex_handle, 02612 double* x, 02614 double* y, 02616 double* z, 02618 int* err 02620 ); 02621 02622 /***************************************************************************/ 02636 void iMesh_getEntAdj( 02637 iMesh_Instance instance, 02639 const iBase_EntityHandle entity_handle, 02641 const int entity_type_requested, 02643 iBase_EntityHandle** adj_entity_handles, 02645 int* adj_entity_handles_allocated, 02647 int* adj_entity_handles_size, 02649 int* err 02651 ); 02652 02653 /***************************************************************************/ 02671 void iMesh_getEnt2ndAdj( 02672 iMesh_Instance instance, 02674 iBase_EntityHandle entity_handle, 02676 int bridge_entity_type, 02678 int requested_entity_type, 02680 iBase_EntityHandle** adjacent_entities, 02682 int* adjacent_entities_allocated, 02684 int* adjacent_entities_size, 02686 int* err 02688 ); 02689 02690 /***************************************************************************/ 02697 void iMesh_subtract( 02698 iMesh_Instance instance, 02700 const iBase_EntitySetHandle entity_set_1, 02702 const iBase_EntitySetHandle entity_set_2, 02704 iBase_EntitySetHandle* result_entity_set, 02706 int* err 02708 ); 02709 02710 /***************************************************************************/ 02717 void iMesh_intersect( 02718 iMesh_Instance instance, 02720 const iBase_EntitySetHandle entity_set_1, 02722 const iBase_EntitySetHandle entity_set_2, 02724 iBase_EntitySetHandle* result_entity_set, 02726 int* err 02728 ); 02729 02730 /***************************************************************************/ 02736 void iMesh_unite( 02737 iMesh_Instance instance, 02739 const iBase_EntitySetHandle entity_set_1, 02741 const iBase_EntitySetHandle entity_set_2, 02743 iBase_EntitySetHandle* result_entity_set, 02745 int* err 02747 ); 02748 02749 /***************************************************************************/ 02822 /***************************************************************************/ 02826 /***************************************************************************/ 02831 /***************************************************************************/ 02836 /***************************************************************************/ 02841 /***************************************************************************/ 02846 /***************************************************************************/ 02851 /***************************************************************************/ 02856 /***************************************************************************/ 02861 /***************************************************************************/ 02866 /***************************************************************************/ 02871 /***************************************************************************/ 02876 /***************************************************************************/ 02881 /***************************************************************************/ 02886 /***************************************************************************/ 02891 /***************************************************************************/ 02896 /***************************************************************************/ 02901 #ifdef __cplusplus 02902 } /* extern "C" */ 02903 #endif 02904 02905 #endif /* ifndef _ITAPS_iMesh */ 02906