cgma
|
00001 #ifndef _ITAPS_iBase 00002 #define _ITAPS_iBase 00003 00004 /***************************************************************************/ 00019 #define IBASE_VERSION_MAJOR 1 00020 #define IBASE_VERSION_MINOR 4 00021 #define IBASE_VERSION_PATCH 1 00022 00023 /***************************************************************************/ 00030 #define IBASE_VERSION_GE(Maj,Min,Pat) \ 00031 (((IBASE_VERSION_MAJOR==(Maj)) && (IBASE_VERSION_MINOR==(Min)) && (IBASE_VERSION_PATCH>=(Pat))) || \ 00032 ((IBASE_VERSION_MAJOR==(Maj)) && (IBASE_VERSION_MINOR>(Min))) || \ 00033 (IBASE_VERSION_MAJOR>(Maj))) 00034 00035 /***************************************************************************/ 00039 #define IBASE_VERSION_STRING___(I,X,Y,Z) #I "_Version_" #X "." #Y "." #Z 00040 #define IBASE_VERSION_STRING__(I,X,Y,Z) IBASE_VERSION_STRING___(I,X,Y,Z) 00041 #define IBASE_VERSION_STRING_(I) IBASE_VERSION_STRING__(I,IBASE_VERSION_MAJOR,IBASE_VERSION_MINOR,IBASE_VERSION_PATCH) 00042 #define IBASE_VERSION_STRING IBASE_VERSION_STRING_(iBase) 00043 00044 /***************************************************************************/ 00048 #define IBASE_VERSION_TAG__(I,X,Y,Z) I##_Version_##X##_##Y##_##Z 00049 #define IBASE_VERSION_TAG_(I,X,Y,Z) IBASE_VERSION_TAG__(I,X,Y,Z) 00050 #define IBASE_VERSION_TAG(I) IBASE_VERSION_TAG_(I,IBASE_VERSION_MAJOR,IBASE_VERSION_MINOR,IBASE_VERSION_PATCH) 00051 00052 /***************************************************************************/ 00056 #define ITAPS_VERSION_MAJOR IBASE_VERSION_MAJOR 00057 #define ITAPS_VERSION_MINOR IBASE_VERSION_MINOR 00058 #define ITAPS_VERSION_PATCH IBASE_VERSION_PATCH 00059 #define ITAPS_VERSION_GE(Maj,Min,Pat) IBASE_VERSION_GE(Maj,Min,Pat) 00060 #define ITAPS_VERSION_STRING_(I) IBASE_VERSION_STRING_(I) 00061 #define ITAPS_VERSION_STRING ITAPS_VERSION_STRING_(ITAPS) 00062 #define ITAPS_VERSION_TAG_(I) IBASE_VERSION_TAG(I) 00063 #define ITAPS_VERSION_TAG ITAPS_VERSION_TAG_(I) 00064 00065 /***************************************************************************/ 00084 /***************************************************************************/ 00088 #define IBASE_MINENUM(enumName) enumName ## _MIN 00089 #define IBASE_MAXENUM(enumName) enumName ## _MAX 00090 #define IBASE_NUMENUM(enumName) ((int)IBASE_MAXENUM(enumName) - (int)IBASE_MINENUM(enumName) + 1) 00091 #define IBASE_INCENUM(enumName,I) (I = (enum enumName)((int)I+1)) 00092 00094 #ifdef __cplusplus 00095 extern "C" { 00096 #endif 00097 00098 typedef void* iBase_Instance; 00099 typedef struct iBase_EntityHandle_Private* iBase_EntityHandle; 00100 typedef struct iBase_EntitySetHandle_Private* iBase_EntitySetHandle; 00101 typedef struct iBase_TagHandle_Private* iBase_TagHandle; 00102 typedef struct iBase_EntityIterator_Private* iBase_EntityIterator; 00103 typedef struct iBase_EntityArrIterator_Private* iBase_EntityArrIterator; 00104 00105 struct iBase_Error 00106 { 00107 int error_type; 00108 char description[120]; 00109 }; 00110 00111 enum iBase_EntityType { 00112 iBase_EntityType_MIN = 0, 00114 iBase_VERTEX = iBase_EntityType_MIN, 00116 iBase_EDGE, 00118 iBase_FACE, 00120 iBase_REGION, 00122 iBase_ALL_TYPES, 00124 iBase_EntityType_MAX = iBase_ALL_TYPES 00126 }; 00127 00128 enum iBase_AdjacencyCost { 00129 iBase_AdjacencyCost_MIN = 0, 00131 iBase_UNAVAILABLE = iBase_AdjacencyCost_MIN, 00133 iBase_ALL_ORDER_1, 00135 iBase_ALL_ORDER_LOGN, 00137 iBase_ALL_ORDER_N, 00139 iBase_SOME_ORDER_1, 00141 iBase_SOME_ORDER_LOGN, 00143 iBase_SOME_ORDER_N, 00145 iBase_AVAILABLE, 00147 iBase_AdjacencyCost_MAX = iBase_AVAILABLE 00149 }; 00150 00151 enum iBase_CreationStatus { 00152 iBase_CreationStatus_MIN = 0, 00154 iBase_NEW = iBase_CreationStatus_MIN, 00156 iBase_ALREADY_EXISTED, 00159 iBase_CREATED_DUPLICATE, 00162 iBase_CREATION_FAILED, 00164 iBase_CreationStatus_MAX = iBase_CREATION_FAILED 00166 }; 00167 00168 enum iBase_ErrorType { 00169 iBase_ErrorType_MIN = 0, 00171 iBase_SUCCESS = iBase_ErrorType_MIN, 00172 iBase_MESH_ALREADY_LOADED, 00173 iBase_FILE_NOT_FOUND, 00174 iBase_FILE_WRITE_ERROR, 00175 iBase_NIL_ARRAY, 00176 iBase_BAD_ARRAY_SIZE, 00177 iBase_BAD_ARRAY_DIMENSION, 00178 iBase_INVALID_ENTITY_HANDLE, 00179 iBase_INVALID_ENTITY_COUNT, 00180 iBase_INVALID_ENTITY_TYPE, 00181 iBase_INVALID_ENTITY_TOPOLOGY, 00182 iBase_BAD_TYPE_AND_TOPO, 00183 iBase_ENTITY_CREATION_ERROR, 00184 iBase_INVALID_TAG_HANDLE, 00185 iBase_TAG_NOT_FOUND, 00186 iBase_TAG_ALREADY_EXISTS, 00187 iBase_TAG_IN_USE, 00188 iBase_INVALID_ENTITYSET_HANDLE, 00189 iBase_INVALID_ITERATOR_HANDLE, 00190 iBase_INVALID_ARGUMENT, 00191 iBase_MEMORY_ALLOCATION_FAILED, 00192 iBase_NOT_SUPPORTED, 00193 iBase_FAILURE, 00194 iBase_ErrorType_MAX = iBase_FAILURE 00196 }; 00197 00198 /***************************************************************************/ 00218 enum iBase_StorageOrder { 00219 iBase_StorageOrder_MIN = 0, 00221 iBase_BLOCKED = iBase_StorageOrder_MIN, 00223 iBase_INTERLEAVED, 00225 iBase_StorageOrder_MAX = iBase_INTERLEAVED 00227 }; 00228 00229 enum iBase_TagValueType { 00230 iBase_TagValueType_MIN = 0, 00232 iBase_BYTES = iBase_TagValueType_MIN, 00234 iBase_INTEGER, 00236 iBase_DOUBLE, 00238 iBase_ENTITY_HANDLE, 00240 iBase_ENTITY_SET_HANDLE, 00242 iBase_TagValueType_MAX = iBase_ENTITY_SET_HANDLE 00244 }; 00245 00246 /***************************************************************************/ 00250 /***************************************************************************/ 00254 /***************************************************************************/ 00259 /***************************************************************************/ 00264 /***************************************************************************/ 00269 /***************************************************************************/ 00417 #ifdef __cplusplus 00418 } 00419 #endif 00420 00421 #endif /* #ifndef _ITAPS_iBase */ 00422 00423 /* iGeom interface */ 00424 #ifndef _ITAPS_iGeom 00425 #define _ITAPS_iGeom 00426 00483 #include "iGeom_protos.h" 00484 #include "CGMIGeomConfigure.h" 00485 00486 #ifdef __cplusplus 00487 extern "C" { 00488 #endif 00489 00494 typedef struct iGeom_Instance_Private* iGeom_Instance; 00495 00504 CGMA_IGEOM_EXPORT 00505 void iGeom_getDescription( iGeom_Instance instance, 00506 char* descr, 00507 int descr_len ); 00508 00516 CGMA_IGEOM_EXPORT 00517 void iGeom_getErrorType( iGeom_Instance instance, 00518 /*out*/ int *error_type ); 00519 00528 CGMA_IGEOM_EXPORT 00529 void iGeom_newGeom( char const* options, 00530 iGeom_Instance* instance_out, 00531 int* err, 00532 int options_len ); 00533 00540 CGMA_IGEOM_EXPORT 00541 void iGeom_dtor( iGeom_Instance instance, 00542 int* err ); 00543 00544 00558 CGMA_IGEOM_EXPORT 00559 void iGeom_load( iGeom_Instance instance, 00560 char const* name, 00561 char const* options, 00562 int* err, 00563 int name_len, 00564 int options_len ); 00565 00578 CGMA_IGEOM_EXPORT 00579 void iGeom_save( iGeom_Instance instance, 00580 char const* name, 00581 char const* options, 00582 int* err, 00583 int name_len, 00584 int options_len ); 00585 00594 CGMA_IGEOM_EXPORT 00595 void iGeom_getRootSet( iGeom_Instance instance, 00596 iBase_EntitySetHandle* root_set, 00597 int* err ); 00598 00611 CGMA_IGEOM_EXPORT 00612 void iGeom_getBoundBox( iGeom_Instance instance, 00613 double* min_x, 00614 double* min_y, 00615 double* min_z, 00616 double* max_x, 00617 double* max_y, 00618 double* max_z, 00619 int* err ); 00620 00638 CGMA_IGEOM_EXPORT 00639 void iGeom_getEntities( iGeom_Instance instance, 00640 iBase_EntitySetHandle set_handle, 00641 int entity_type, 00642 iBase_EntityHandle** entity_handles, 00643 int* entity_handles_allococated, 00644 int* entity_handles_size, 00645 int* err ); 00646 00661 CGMA_IGEOM_EXPORT 00662 void iGeom_getNumOfType( iGeom_Instance instance, 00663 iBase_EntitySetHandle set_handle, 00664 int entity_type, 00665 int* num_out, 00666 int* err ); 00667 00677 CGMA_IGEOM_EXPORT 00678 void iGeom_getEntType( iGeom_Instance instance, 00679 iBase_EntityHandle entity_handle, 00680 int* type, 00681 int* err ); 00682 00695 CGMA_IGEOM_EXPORT 00696 void iGeom_getArrType( iGeom_Instance instance, 00697 iBase_EntityHandle const* entity_handles, 00698 int entity_handles_size, 00699 int** type, 00700 int* type_allocated, 00701 int* type_size, 00702 int* err ); 00703 00719 CGMA_IGEOM_EXPORT 00720 void iGeom_getEntAdj( iGeom_Instance instance, 00721 iBase_EntityHandle entity_handle, 00722 int to_dimension, 00723 iBase_EntityHandle** adj_entities, 00724 int* adj_entities_allocated, 00725 int* adj_entities_size, 00726 int* err ); 00727 00749 CGMA_IGEOM_EXPORT 00750 void iGeom_getArrAdj( iGeom_Instance instance, 00751 iBase_EntityHandle const* entity_handles, 00752 int entity_handles_size, 00753 int requested_entity_type, 00754 iBase_EntityHandle** adj_entity_handles, 00755 int* adj_entity_handles_allocated, 00756 int* adj_entity_handles_size, 00757 int** offset, 00758 int* offset_allocated, 00759 int* offset_size, 00760 int* err ); 00761 00776 CGMA_IGEOM_EXPORT 00777 void iGeom_getEnt2ndAdj( iGeom_Instance instance, 00778 iBase_EntityHandle entity_handle, 00779 int bridge_dimension, 00780 int to_dimension, 00781 iBase_EntityHandle** adjacent_entities, 00782 int* adjacent_entities_allocated, 00783 int* adjacent_entities_size, 00784 int* err ); 00785 00806 CGMA_IGEOM_EXPORT 00807 void iGeom_getArr2ndAdj( iGeom_Instance instance, 00808 iBase_EntityHandle const* entity_handles, 00809 int entity_handles_size, 00810 int order_adjacent_key, 00811 int requested_entity_type, 00812 iBase_EntityHandle** adj_entity_handles, 00813 int* adj_entity_handles_allocated, 00814 int* adj_entity_handles_size, 00815 int** offset, 00816 int* offset_allocated, 00817 int* offset_size, 00818 int* err ); 00819 00830 CGMA_IGEOM_EXPORT 00831 void iGeom_isEntAdj( iGeom_Instance instance, 00832 iBase_EntityHandle entity_handle1, 00833 iBase_EntityHandle entity_handle2, 00834 int* are_adjacent, 00835 int* err ); 00836 00852 CGMA_IGEOM_EXPORT 00853 void iGeom_isArrAdj( iGeom_Instance instance, 00854 iBase_EntityHandle const* entity_handles_1, 00855 int entity_handles_1_size, 00856 iBase_EntityHandle const* entity_handles_2, 00857 int entity_handles_2_size, 00858 int** is_adjacent_info, 00859 int* is_adjacent_info_allocated, 00860 int* is_adjacent_info_size, 00861 int* err ); 00862 00871 CGMA_IGEOM_EXPORT 00872 void iGeom_getTopoLevel( iGeom_Instance instance, 00873 int* topo_level_out, 00874 int* err ); 00875 00889 CGMA_IGEOM_EXPORT 00890 void iGeom_getEntClosestPt( iGeom_Instance instance, 00891 iBase_EntityHandle entity_handle, 00892 double near_x, 00893 double near_y, 00894 double near_z, 00895 double* on_x, 00896 double* on_y, 00897 double* on_z, 00898 int* err ); 00899 00919 CGMA_IGEOM_EXPORT 00920 void iGeom_getEntClosestPtTrimmed( iGeom_Instance instance, 00921 iBase_EntityHandle entity_handle, 00922 double near_x, 00923 double near_y, 00924 double near_z, 00925 double* on_x, 00926 double* on_y, 00927 double* on_z, 00928 int* err ); 00929 00948 CGMA_IGEOM_EXPORT 00949 void iGeom_getArrClosestPt( iGeom_Instance instance, 00950 iBase_EntityHandle const* entity_handles, 00951 int entity_handles_size, 00952 int storage_order, 00953 double const* near_coordinates, 00954 int near_coordinates_size, 00955 double** on_coordinates, 00956 int* on_coordinates_allocated, 00957 int* on_coordinates_size, 00958 int* err ); 00959 00972 CGMA_IGEOM_EXPORT 00973 void iGeom_getEntNrmlXYZ( iGeom_Instance instance, 00974 iBase_EntityHandle entity_handle, 00975 double x, 00976 double y, 00977 double z, 00978 double* nrml_i, 00979 double* nrml_j, 00980 double* nrml_k, 00981 int* err ); 00982 01001 CGMA_IGEOM_EXPORT 01002 void iGeom_getArrNrmlXYZ( iGeom_Instance instance, 01003 iBase_EntityHandle const* entity_handles, 01004 int entity_handles_size, 01005 int storage_order, 01006 double const* coordinates, 01007 int coordinates_size, 01008 double** normals, 01009 int* normals_allocated, 01010 int* normals_size, 01011 int* err ); 01012 01030 CGMA_IGEOM_EXPORT 01031 void iGeom_getEntNrmlPlXYZ( iGeom_Instance instance, 01032 iBase_EntityHandle entity_handle, 01033 double x, 01034 double y, 01035 double z, 01036 double* pt_x, 01037 double* pt_y, 01038 double* pt_z, 01039 double* nrml_i, 01040 double* nrml_j, 01041 double* nrml_k, 01042 int* err ); 01043 01066 CGMA_IGEOM_EXPORT 01067 void iGeom_getArrNrmlPlXYZ( iGeom_Instance instance, 01068 iBase_EntityHandle const* entity_handles, 01069 int entity_handles_size, 01070 int storage_order, 01071 double const* near_coordinates, 01072 int near_coordinates_size, 01073 double** on_coordinates, 01074 int* on_coordinates_allocated, 01075 int* on_coordinates_size, 01076 double** normals, 01077 int* normals_allocated, 01078 int* normals_size, 01079 int* err ); 01080 01094 CGMA_IGEOM_EXPORT 01095 void iGeom_getEntTgntXYZ( iGeom_Instance instance, 01096 iBase_EntityHandle entity_handle, 01097 double x, 01098 double y, 01099 double z, 01100 double* tgnt_i, 01101 double* tgnt_j, 01102 double* tgnt_k, 01103 int* err ); 01104 01123 CGMA_IGEOM_EXPORT 01124 void iGeom_getArrTgntXYZ( iGeom_Instance instance, 01125 iBase_EntityHandle const* entity_handles, 01126 int entity_handles_size, 01127 int storage_order, 01128 double const* coordinates, 01129 int coordinates_size, 01130 double** tangents, 01131 int* tangents_allocated, 01132 int* tangents_size, 01133 int* err ); 01134 01153 CGMA_IGEOM_EXPORT 01154 void iGeom_getFcCvtrXYZ( iGeom_Instance instance, 01155 iBase_EntityHandle face_handle, 01156 double x, 01157 double y, 01158 double z, 01159 double* cvtr1_i, 01160 double* cvtr1_j, 01161 double* cvtr1_k, 01162 double* cvtr2_i, 01163 double* cvtr2_j, 01164 double* cvtr2_k, 01165 int* err ); 01166 01181 CGMA_IGEOM_EXPORT 01182 void iGeom_getEgCvtrXYZ( iGeom_Instance instance, 01183 iBase_EntityHandle edge_handle, 01184 double x, 01185 double y, 01186 double z, 01187 double* cvtr_i, 01188 double* cvtr_j, 01189 double* cvtr_k, 01190 int* err ); 01191 01213 CGMA_IGEOM_EXPORT 01214 void iGeom_getEntArrCvtrXYZ( iGeom_Instance instance, 01215 iBase_EntityHandle const* entity_handles, 01216 int entity_handles_size, 01217 int storage_order, 01218 double const* coords, 01219 int coords_size, 01220 double** cvtr_1, 01221 int* cvtr_1_allocated, 01222 int* cvtr_1_size, 01223 double** cvtr_2, 01224 int* cvtr_2_allocated, 01225 int* cvtr_2_size, 01226 int* err ); 01227 01247 CGMA_IGEOM_EXPORT 01248 void iGeom_getEgEvalXYZ( iGeom_Instance instance, 01249 iBase_EntityHandle edge_handle, 01250 double x, 01251 double y, 01252 double z, 01253 double* on_x, 01254 double* on_y, 01255 double* on_z, 01256 double* tgnt_i, 01257 double* tgnt_j, 01258 double* tgnt_k, 01259 double* cvtr_i, 01260 double* cvtr_j, 01261 double* cvtr_k, 01262 int* err ); 01263 01287 CGMA_IGEOM_EXPORT 01288 void iGeom_getFcEvalXYZ( iGeom_Instance instance, 01289 iBase_EntityHandle face_handle, 01290 double x, 01291 double y, 01292 double z, 01293 double* on_x, 01294 double* on_y, 01295 double* on_z, 01296 double* nrml_i, 01297 double* nrml_j, 01298 double* nrml_k, 01299 double* cvtr1_i, 01300 double* cvtr1_j, 01301 double* cvtr1_k, 01302 double* cvtr2_i, 01303 double* cvtr2_j, 01304 double* cvtr2_k, 01305 int* err ); 01306 01333 CGMA_IGEOM_EXPORT 01334 void iGeom_getArrEgEvalXYZ( iGeom_Instance instance, 01335 iBase_EntityHandle const* edge_handles, 01336 int edge_handles_size, 01337 int storage_order, 01338 double const* coords, 01339 int coords_size, 01340 double** on_coords, 01341 int* on_coords_allocated, 01342 int* on_coords_size, 01343 double** tangent, 01344 int* tangent_allocated, 01345 int* tangent_size, 01346 double** cvtr, 01347 int* cvtr_allocated, 01348 int* cvtr_size, 01349 int* err ); 01350 01380 CGMA_IGEOM_EXPORT 01381 void iGeom_getArrFcEvalXYZ( iGeom_Instance instance, 01382 iBase_EntityHandle const* face_handles, 01383 int face_handles_size, 01384 int storage_order, 01385 double const* coords, 01386 int coords_size, 01387 double** on_coords, 01388 int* on_coords_allocated, 01389 int* on_coords_size, 01390 double** normal, 01391 int* normal_allocated, 01392 int* normal_size, 01393 double** cvtr1, 01394 int* cvtr1_allocated, 01395 int* cvtr1_size, 01396 double** cvtr2, 01397 int* cvtr2_allocated, 01398 int* cvtr2_size, 01399 int* err ); 01400 01414 CGMA_IGEOM_EXPORT 01415 void iGeom_getEntBoundBox( iGeom_Instance instance, 01416 iBase_EntityHandle entity_handle, 01417 double* min_x, 01418 double* min_y, 01419 double* min_z, 01420 double* max_x, 01421 double* max_y, 01422 double* max_z, 01423 int* err ); 01424 01441 CGMA_IGEOM_EXPORT 01442 void iGeom_getArrBoundBox( iGeom_Instance instance, 01443 iBase_EntityHandle const* entity_handles, 01444 int entity_handles_size, 01445 int storage_order, 01446 double** min_corner, 01447 int* min_corner_allocated, 01448 int* min_corner_size, 01449 double** max_corner, 01450 int* max_corner_allocated, 01451 int* max_corner_size, 01452 int* err ); 01453 01464 CGMA_IGEOM_EXPORT 01465 void iGeom_getVtxCoord( iGeom_Instance instance, 01466 iBase_EntityHandle vertex_handle, 01467 double* x, 01468 double* y, 01469 double* z, 01470 int* err ); 01471 01489 CGMA_IGEOM_EXPORT 01490 void iGeom_getVtxArrCoords( iGeom_Instance instance, 01491 iBase_EntityHandle const* entity_handles, 01492 int entity_handles_size, 01493 int storage_order, 01494 double** coordinates, 01495 int* coordinates_allocated, 01496 int* coordinates_size, 01497 int* err ); 01498 01523 CGMA_IGEOM_EXPORT 01524 void iGeom_getPntRayIntsct( iGeom_Instance instance, 01525 double x, 01526 double y, 01527 double z, 01528 double dir_x, 01529 double dir_y, 01530 double dir_z, 01531 iBase_EntityHandle** intersect_entity_handles, 01532 int* intersect_entity_handles_allocated, 01533 int* intersect_entity_hangles_size, 01534 int storage_order, 01535 double** intersect_coords, 01536 int* intersect_coords_allocated, 01537 int* intersect_coords_size, 01538 double** param_coords, 01539 int* param_coords_allocated, 01540 int* param_coords_size, 01541 int* err ); 01542 01570 CGMA_IGEOM_EXPORT 01571 void iGeom_getPntArrRayIntsct( iGeom_Instance instance, 01572 int storage_order, 01573 const double* coords, 01574 int coords_size, 01575 const double* directions, 01576 int directions_size, 01577 iBase_EntityHandle** intersect_entity_handles, 01578 int* intersect_entity_handles_allocated, 01579 int* intersect_entity_hangles_size, 01580 int** offset, 01581 int* offset_allocated, 01582 int* offset_size, 01583 double** intersect_coords, 01584 int* intersect_coords_allocated, 01585 int* intersect_coords_size, 01586 double** param_coords, 01587 int* param_coords_allocated, 01588 int* param_coords_size, 01589 int* err ); 01590 01601 CGMA_IGEOM_EXPORT 01602 void iGeom_getPntClsf( iGeom_Instance instance, 01603 double x, 01604 double y, 01605 double z, 01606 iBase_EntityHandle* entity_handle, 01607 int* err ); 01608 01622 CGMA_IGEOM_EXPORT 01623 void iGeom_getPntArrClsf( iGeom_Instance instance, 01624 int storage_order, 01625 double const* coords, 01626 int coords_size, 01627 iBase_EntityHandle** entity_handles, 01628 int* entity_handles_allocated, 01629 int* entity_handles_size, 01630 int* err ); 01631 01643 CGMA_IGEOM_EXPORT 01644 void iGeom_getEntNrmlSense( iGeom_Instance instance, 01645 iBase_EntityHandle face, 01646 iBase_EntityHandle region, 01647 int* sense_out, 01648 int* err ); 01649 01667 CGMA_IGEOM_EXPORT 01668 void iGeom_getArrNrmlSense( iGeom_Instance instance, 01669 iBase_EntityHandle const* face_handles, 01670 int face_handles_size, 01671 iBase_EntityHandle const* region_handles, 01672 int region_handles_size, 01673 int** sense, 01674 int* sense_allocated, 01675 int* sense_size, 01676 int* err ); 01677 01689 CGMA_IGEOM_EXPORT 01690 void iGeom_getEgFcSense( iGeom_Instance, 01691 iBase_EntityHandle edge, 01692 iBase_EntityHandle face, 01693 int* sense_out, 01694 int* err ); 01695 01713 CGMA_IGEOM_EXPORT 01714 void iGeom_getEgFcArrSense( iGeom_Instance instance, 01715 iBase_EntityHandle const* edge_handles, 01716 int edge_handles_size, 01717 iBase_EntityHandle const* face_handles, 01718 int face_handles_size, 01719 int** sense, 01720 int* sense_allocated, 01721 int* sense_size, 01722 int* err ); 01723 01737 CGMA_IGEOM_EXPORT 01738 void iGeom_getEgVtxSense( iGeom_Instance instance, 01739 iBase_EntityHandle edge, 01740 iBase_EntityHandle vertex1, 01741 iBase_EntityHandle vertex2, 01742 int* sense_out, 01743 int* err ); 01744 01763 CGMA_IGEOM_EXPORT 01764 void iGeom_getEgVtxArrSense( iGeom_Instance instance, 01765 iBase_EntityHandle const* edge_handles, 01766 int edge_handles_size, 01767 iBase_EntityHandle const* vertex_handles_1, 01768 int veretx_handles_1_size, 01769 iBase_EntityHandle const* vertex_handles_2, 01770 int vertex_handles_2_size, 01771 int** sense, 01772 int* sense_allocated, 01773 int* sense_size, 01774 int* err ); 01775 01787 CGMA_IGEOM_EXPORT 01788 void iGeom_measure( iGeom_Instance instance, 01789 iBase_EntityHandle const* entity_handles, 01790 int entity_handles_size, 01791 double** measures, 01792 int* measures_allocated, 01793 int* measures_size, 01794 int* err ); 01795 01805 CGMA_IGEOM_EXPORT 01806 void iGeom_getFaceType( iGeom_Instance instance, 01807 iBase_EntityHandle face_handle, 01808 char* face_type, 01809 int* err, 01810 int* face_type_length); 01811 01821 CGMA_IGEOM_EXPORT 01822 void iGeom_getParametric( iGeom_Instance instance, 01823 int* is_parametric, 01824 int* err ); 01825 01834 CGMA_IGEOM_EXPORT 01835 void iGeom_isEntParametric( iGeom_Instance instance, 01836 iBase_EntityHandle entity_handle, 01837 int* parametric, 01838 int* err ); 01839 01852 CGMA_IGEOM_EXPORT 01853 void iGeom_isArrParametric( iGeom_Instance instance, 01854 iBase_EntityHandle const* entity_handles, 01855 int entity_handles_size, 01856 int** is_parametric, 01857 int* is_parametric_allocated, 01858 int* is_parametric_size, 01859 int* err ); 01860 01874 CGMA_IGEOM_EXPORT 01875 void iGeom_getEntUVtoXYZ( iGeom_Instance instance, 01876 iBase_EntityHandle entity_handle, 01877 double u, 01878 double v, 01879 double* x, 01880 double* y, 01881 double* z, 01882 int* err ); 01883 01905 CGMA_IGEOM_EXPORT 01906 void iGeom_getArrUVtoXYZ( iGeom_Instance instance, 01907 iBase_EntityHandle const* entity_handles, 01908 int entity_handles_size, 01909 int storage_order, 01910 double const* uv, 01911 int uv_size, 01912 double** coordinates, 01913 int* coordinates_allocated, 01914 int* coordinates_size, 01915 int* err ); 01916 01929 CGMA_IGEOM_EXPORT 01930 void iGeom_getEntUtoXYZ( iGeom_Instance instance, 01931 iBase_EntityHandle entity_handle, 01932 double u, 01933 double* x, 01934 double* y, 01935 double* z, 01936 int* err ); 01937 01958 CGMA_IGEOM_EXPORT 01959 void iGeom_getArrUtoXYZ( iGeom_Instance instance, 01960 iBase_EntityHandle const* entity_handles, 01961 int entity_handles_size, 01962 double const* u, 01963 int u_size, 01964 int storage_order, 01965 double** on_coords, 01966 int* on_coords_allocated, 01967 int* on_coords_size, 01968 int* err ); 01969 01983 CGMA_IGEOM_EXPORT 01984 void iGeom_getEntXYZtoUV( iGeom_Instance instance, 01985 iBase_EntityHandle entity_handle, 01986 double x, 01987 double y, 01988 double z, 01989 double* u, 01990 double* v, 01991 int* err ); 01992 02005 CGMA_IGEOM_EXPORT 02006 void iGeom_getEntXYZtoU( iGeom_Instance instance, 02007 iBase_EntityHandle entity_handle, 02008 double x, 02009 double y, 02010 double z, 02011 double* u, 02012 int* err ); 02013 02033 CGMA_IGEOM_EXPORT 02034 void iGeom_getArrXYZtoUV( iGeom_Instance instance, 02035 iBase_EntityHandle const* entity_handles, 02036 int entity_handles_size, 02037 int storage_order, 02038 double const* coordinates, 02039 int coordinates_size, 02040 double** uv, 02041 int* uv_allocated, 02042 int* uv_size, 02043 int* err ); 02044 02065 CGMA_IGEOM_EXPORT 02066 void iGeom_getArrXYZtoU( iGeom_Instance instance, 02067 iBase_EntityHandle const* entity_handles, 02068 int entity_handles_size, 02069 int storage_order, 02070 double const* coordinates, 02071 int coordinates_size, 02072 double** u, 02073 int* u_allocated, 02074 int* u_size, 02075 int* err ); 02076 02093 CGMA_IGEOM_EXPORT 02094 void iGeom_getEntXYZtoUVHint( iGeom_Instance instance, 02095 iBase_EntityHandle entity_handle, 02096 double x, 02097 double y, 02098 double z, 02099 double* u, 02100 double* v, 02101 int* err ); 02102 02122 CGMA_IGEOM_EXPORT 02123 void iGeom_getArrXYZtoUVHint( iGeom_Instance instance, 02124 iBase_EntityHandle const* entity_handles, 02125 int entity_handles_size, 02126 int storage_order, 02127 double const* coords, 02128 int coords_size, 02129 double** uv, 02130 int* uv_allocated, 02131 int* uv_size, 02132 int* err ); 02133 02145 CGMA_IGEOM_EXPORT 02146 void iGeom_getEntUVRange( iGeom_Instance instance, 02147 iBase_EntityHandle entity_handle, 02148 double* u_min, 02149 double* v_min, 02150 double* u_max, 02151 double* v_max, 02152 int* err ); 02153 02163 CGMA_IGEOM_EXPORT 02164 void iGeom_getEntURange( iGeom_Instance instance, 02165 iBase_EntityHandle entity_handle, 02166 double* u_min, 02167 double* u_max, 02168 int* err ); 02169 02188 CGMA_IGEOM_EXPORT 02189 void iGeom_getArrUVRange( iGeom_Instance instance, 02190 iBase_EntityHandle const* entity_handles, 02191 int entity_handles_size, 02192 int storage_order, 02193 double** uv_min, 02194 int* uv_min_allocated, 02195 int* uv_min_size, 02196 double** uv_max, 02197 int* uv_max_allocated, 02198 int* uv_max_size, 02199 int* err ); 02200 02219 CGMA_IGEOM_EXPORT 02220 void iGeom_getArrURange( iGeom_Instance instance, 02221 iBase_EntityHandle const* entity_handles, 02222 int entity_handles_size, 02223 double** u_min, 02224 int* u_min_allocated, 02225 int* u_min_size, 02226 double** u_max, 02227 int* u_max_allocated, 02228 int* u_max_size, 02229 int* err ); 02230 02244 CGMA_IGEOM_EXPORT 02245 void iGeom_getEntUtoUV( iGeom_Instance instance, 02246 iBase_EntityHandle edge_handle, 02247 iBase_EntityHandle face_handle, 02248 double in_u, 02249 double* u, 02250 double* v, 02251 int* err ); 02252 02263 CGMA_IGEOM_EXPORT 02264 void iGeom_getVtxToUV( iGeom_Instance instance, 02265 iBase_EntityHandle vertex_handle, 02266 iBase_EntityHandle face_handle, 02267 double* u, 02268 double* v, 02269 int* err ); 02270 02280 CGMA_IGEOM_EXPORT 02281 void iGeom_getVtxToU( iGeom_Instance instance, 02282 iBase_EntityHandle vertex_handle, 02283 iBase_EntityHandle edge_handle, 02284 double* u, 02285 int* err ); 02286 02305 CGMA_IGEOM_EXPORT 02306 void iGeom_getArrUtoUV( iGeom_Instance instance, 02307 iBase_EntityHandle const* edge_handles, 02308 int edge_handles_size, 02309 iBase_EntityHandle const* face_handles, 02310 int face_handles_size, 02311 double const* u_in, 02312 int u_in_size, 02313 int storage_order, 02314 double** uv, 02315 int* uv_allocated, 02316 int* uv_size, 02317 int* err ); 02318 02333 CGMA_IGEOM_EXPORT 02334 void iGeom_getVtxArrToUV( iGeom_Instance instance, 02335 iBase_EntityHandle const* vertex_handles, 02336 int vertex_handles_size, 02337 iBase_EntityHandle const* face_handles, 02338 int face_handles_size, 02339 int storage_order, 02340 double** uv, 02341 int* uv_allocated, 02342 int* uv_size, 02343 int* err ); 02344 02358 CGMA_IGEOM_EXPORT 02359 void iGeom_getVtxArrToU( iGeom_Instance instance, 02360 iBase_EntityHandle const* vertex_handles, 02361 int vertex_handles_size, 02362 iBase_EntityHandle const* edge_handles, 02363 int edge_handles_size, 02364 double** u, 02365 int* u_allocated, 02366 int* u_size, 02367 int* err ); 02368 02381 CGMA_IGEOM_EXPORT 02382 void iGeom_getEntNrmlUV( iGeom_Instance instance, 02383 iBase_EntityHandle entity_handle, 02384 double u, 02385 double v, 02386 double* nrml_i, 02387 double* nrml_j, 02388 double* nrml_k, 02389 int* err ); 02390 02409 CGMA_IGEOM_EXPORT 02410 void iGeom_getArrNrmlUV( iGeom_Instance instance, 02411 iBase_EntityHandle const* face_handles, 02412 int face_handles_size, 02413 int storage_order, 02414 double const* parameters, 02415 int parameters_size, 02416 double** normals, 02417 int* normals_allocated, 02418 int* normals_size, 02419 int* err ); 02420 02432 CGMA_IGEOM_EXPORT 02433 void iGeom_getEntTgntU( iGeom_Instance instance, 02434 iBase_EntityHandle entity_handle, 02435 double u, 02436 double* tgnt_i, 02437 double* tgnt_j, 02438 double* tgnt_k, 02439 int* err ); 02440 02459 CGMA_IGEOM_EXPORT 02460 void iGeom_getArrTgntU( iGeom_Instance instance, 02461 iBase_EntityHandle const* edge_handles, 02462 int edge_handles_size, 02463 int storage_order, 02464 double const* parameters, 02465 int parameters_size, 02466 double** tangents, 02467 int* tangents_allocated, 02468 int* tangents_size, 02469 int* err ); 02470 02489 CGMA_IGEOM_EXPORT 02490 void iGeom_getEnt1stDrvt( iGeom_Instance instance, 02491 iBase_EntityHandle entity_handle, 02492 double u, 02493 double v, 02494 double** drvt_u, 02495 int* drvt_u_allocated, 02496 int* drvt_u_size, 02497 double** drvt_v, 02498 int* dvrt_v_allocated, 02499 int* dvrt_v_size, 02500 int* err ); 02501 02531 CGMA_IGEOM_EXPORT 02532 void iGeom_getArr1stDrvt( iGeom_Instance instance, 02533 iBase_EntityHandle const* entity_handles, 02534 int entity_handles_size, 02535 int storage_order, 02536 double const* uv, 02537 int uv_size, 02538 double** dvrt_u, 02539 int* dvrt_u_allocated, 02540 int* dvrt_u_size, 02541 int** u_offset, 02542 int* u_offset_allocated, 02543 int* u_offset_size, 02544 double** dvrt_v, 02545 int* dvrt_v_allocated, 02546 int* dvrt_v_size, 02547 int** v_offset, 02548 int* v_offset_allocated, 02549 int* v_offset_size, 02550 int* err ); 02551 02574 CGMA_IGEOM_EXPORT 02575 void iGeom_getEnt2ndDrvt( iGeom_Instance instance, 02576 iBase_EntityHandle entity_handle, 02577 double u, 02578 double v, 02579 double** drvt_uu, 02580 int* drvt_uu_allocated, 02581 int* drvt_uu_size, 02582 double** drvt_vv, 02583 int* dvrt_vv_allocated, 02584 int* dvrt_vv_size, 02585 double** drvt_uv, 02586 int* dvrt_uv_allocated, 02587 int* dvrt_uv_size, 02588 int* err ); 02589 02627 CGMA_IGEOM_EXPORT 02628 void iGeom_getArr2ndDrvt( iGeom_Instance instance, 02629 iBase_EntityHandle const* entity_handles, 02630 int entity_handles_size, 02631 int storage_order, 02632 double const* uv, 02633 int uv_size, 02634 double** dvtr_uu, 02635 int* dvrt_uu_allocated, 02636 int* dvrt_uu_size, 02637 int** uu_offset, 02638 int* uu_offset_allocated, 02639 int* uu_offset_size, 02640 double** dvtr_vv, 02641 int* dvrt_vv_allocated, 02642 int* dvrt_vv_size, 02643 int** vv_offset, 02644 int* vv_offset_allocated, 02645 int* vv_offset_size, 02646 double** dvrt_uv, 02647 int* dvrt_uv_allocated, 02648 int* dvrt_uv_size, 02649 int** uv_offset, 02650 int* uv_offset_allocated, 02651 int* uv_offset_size, 02652 int* err ); 02653 02672 CGMA_IGEOM_EXPORT 02673 void iGeom_getFcCvtrUV( iGeom_Instance instance, 02674 iBase_EntityHandle face_handle, 02675 double u, 02676 double v, 02677 double* cvtr1_i, 02678 double* cvtr1_j, 02679 double* cvtr1_k, 02680 double* cvtr2_i, 02681 double* cvtr2_j, 02682 double* cvtr2_k, 02683 int* err ); 02684 02706 CGMA_IGEOM_EXPORT 02707 void iGeom_getFcArrCvtrUV( iGeom_Instance instance, 02708 iBase_EntityHandle const* face_handles, 02709 int face_handles_size, 02710 int storage_order, 02711 double const* uv, 02712 int uv_size, 02713 double** cvtr_1, 02714 int* cvtr_1_allocated, 02715 int* cvtr_1_size, 02716 double** cvtr_2, 02717 int* cvtr_2_allocated, 02718 int* cvtr_2_size, 02719 int* err ); 02720 02731 CGMA_IGEOM_EXPORT 02732 void iGeom_isEntPeriodic( iGeom_Instance instance, 02733 iBase_EntityHandle entity_handle, 02734 int* in_u, 02735 int* in_v, 02736 int* err ); 02737 02752 CGMA_IGEOM_EXPORT 02753 void iGeom_isArrPeriodic( iGeom_Instance instance, 02754 iBase_EntityHandle const* entity_handles, 02755 int entity_handles_size, 02756 int** in_uv, 02757 int* in_uv_allocated, 02758 int* in_uv_size, 02759 int* err ); 02760 02769 CGMA_IGEOM_EXPORT 02770 void iGeom_isFcDegenerate( iGeom_Instance instance, 02771 iBase_EntityHandle face_handle, 02772 int* is_degenerate, 02773 int* err ); 02774 02786 CGMA_IGEOM_EXPORT 02787 void iGeom_isFcArrDegenerate( iGeom_Instance instance, 02788 iBase_EntityHandle const* face_handles, 02789 int face_handles_size, 02790 int** degenerate, 02791 int* degenerate_allocated, 02792 int* degenerate_size, 02793 int* err ); 02794 02807 CGMA_IGEOM_EXPORT 02808 void iGeom_getTolerance( iGeom_Instance instance, 02809 int* type, 02810 double* tolerance, 02811 int* err ); 02812 02821 CGMA_IGEOM_EXPORT 02822 void iGeom_getEntTolerance( iGeom_Instance instance, 02823 iBase_EntityHandle entity_handle, 02824 double* tolerance, 02825 int* err ); 02826 02838 CGMA_IGEOM_EXPORT 02839 void iGeom_getArrTolerance( iGeom_Instance instance, 02840 iBase_EntityHandle const* entity_handles, 02841 int entity_handles_size, 02842 double** tolerances, 02843 int* tolerances_allocated, 02844 int* tolerances_size, 02845 int* err ); 02846 02860 CGMA_IGEOM_EXPORT 02861 void iGeom_initEntIter( iGeom_Instance instance, 02862 iBase_EntitySetHandle entity_set_handle, 02863 int requested_entity_type, 02864 iBase_EntityIterator* entity_iterator, 02865 int* err ); 02866 02882 CGMA_IGEOM_EXPORT 02883 void iGeom_initEntArrIter( iGeom_Instance instance, 02884 iBase_EntitySetHandle entity_set_handle, 02885 int requested_entity_type, 02886 int requested_array_size, 02887 iBase_EntityArrIterator* entArr_iterator, 02888 int* err ); 02889 02905 CGMA_IGEOM_EXPORT 02906 void iGeom_getNextEntIter( iGeom_Instance instance, 02907 iBase_EntityIterator entity_iterator, 02908 iBase_EntityHandle* entity_handle, 02909 int* has_data, 02910 int* err ); 02911 02932 CGMA_IGEOM_EXPORT 02933 void iGeom_getNextEntArrIter( iGeom_Instance instance, 02934 iBase_EntityArrIterator entArr_iterator, 02935 iBase_EntityHandle** entity_handles, 02936 int* entity_handles_allocated, 02937 int* entity_handles_size, 02938 int* has_data, 02939 int* err ); 02940 02948 CGMA_IGEOM_EXPORT 02949 void iGeom_resetEntIter( iGeom_Instance instance, 02950 iBase_EntityIterator entity_iterator, 02951 int* err ); 02952 02960 CGMA_IGEOM_EXPORT 02961 void iGeom_resetEntArrIter( iGeom_Instance instance, 02962 iBase_EntityArrIterator entArr_iterator, 02963 int* err ); 02964 02972 CGMA_IGEOM_EXPORT 02973 void iGeom_endEntIter( iGeom_Instance instance, 02974 iBase_EntityIterator entity_iterator, 02975 int* err ); 02976 02984 CGMA_IGEOM_EXPORT 02985 void iGeom_endEntArrIter( iGeom_Instance instance, 02986 iBase_EntityArrIterator entArr_iterator, 02987 int* err ); 02988 02997 CGMA_IGEOM_EXPORT 02998 void iGeom_copyEnt( iGeom_Instance instance, 02999 iBase_EntityHandle source, 03000 iBase_EntityHandle* copy, 03001 int* err ); 03002 03016 CGMA_IGEOM_EXPORT 03017 void iGeom_sweepEntAboutAxis( iGeom_Instance instance, 03018 iBase_EntityHandle geom_entity, 03019 double angle, 03020 double axis_x, 03021 double axis_y, 03022 double axis_z, 03023 iBase_EntityHandle* geom_entity2, 03024 int* err ); 03025 03032 CGMA_IGEOM_EXPORT 03033 void iGeom_deleteAll( iGeom_Instance instance, 03034 int* err ); 03035 03043 CGMA_IGEOM_EXPORT 03044 void iGeom_deleteEnt( iGeom_Instance instance, 03045 iBase_EntityHandle entity_handle, 03046 int* err ); 03047 03056 CGMA_IGEOM_EXPORT 03057 void iGeom_createSphere( iGeom_Instance instance, 03058 double radius, 03059 iBase_EntityHandle* geom_entity, 03060 int* err ); 03061 03074 CGMA_IGEOM_EXPORT 03075 void iGeom_createPrism( iGeom_Instance instance, 03076 double height, 03077 int n_sides, 03078 double major_rad, 03079 double minor_rad, 03080 iBase_EntityHandle* geom_entity, 03081 int* err ); 03082 03094 CGMA_IGEOM_EXPORT 03095 void iGeom_createBrick( iGeom_Instance instance, 03096 double x, 03097 double y, 03098 double z, 03099 iBase_EntityHandle* geom_entity, 03100 int* err ); 03101 03114 CGMA_IGEOM_EXPORT 03115 void iGeom_createCylinder( iGeom_Instance instance, 03116 double height, 03117 double major_rad, 03118 double minor_rad, 03119 iBase_EntityHandle* geom_entity, 03120 int* err ); 03121 03140 CGMA_IGEOM_EXPORT 03141 void iGeom_createCone( iGeom_Instance instance, 03142 double height, 03143 double major_rad_base, 03144 double minor_rad_base, 03145 double rad_top, 03146 iBase_EntityHandle* geom_entity, 03147 int* err ); 03148 03159 CGMA_IGEOM_EXPORT 03160 void iGeom_createTorus( iGeom_Instance instance, 03161 double major_rad, 03162 double minor_rad, 03163 iBase_EntityHandle* geom_entity, 03164 int* err ); 03165 03176 CGMA_IGEOM_EXPORT 03177 void iGeom_moveEnt( iGeom_Instance instance, 03178 iBase_EntityHandle geom_entity, 03179 double x, 03180 double y, 03181 double z, 03182 int* err ); 03183 03195 CGMA_IGEOM_EXPORT 03196 void iGeom_rotateEnt( iGeom_Instance instance, 03197 iBase_EntityHandle geom_entity, 03198 double angle, 03199 double axis_x, 03200 double axis_y, 03201 double axis_z, 03202 int* err ); 03203 03219 CGMA_IGEOM_EXPORT 03220 void iGeom_reflectEnt( iGeom_Instance instance, 03221 iBase_EntityHandle geom_entity, 03222 double point_x, 03223 double point_y, 03224 double point_z, 03225 double plane_normal_x, 03226 double plane_normal_y, 03227 double plane_normal_z, 03228 int* err ); 03229 03243 CGMA_IGEOM_EXPORT 03244 void iGeom_scaleEnt( iGeom_Instance instance, 03245 iBase_EntityHandle geom_entity, 03246 double point_x, 03247 double point_y, 03248 double point_z, 03249 double scale_x, 03250 double scale_y, 03251 double scale_z, 03252 int* err ); 03253 03263 CGMA_IGEOM_EXPORT 03264 void iGeom_uniteEnts( iGeom_Instance instace, 03265 iBase_EntityHandle const* geom_entities, 03266 int geom_entities_size, 03267 iBase_EntityHandle* geom_entity, 03268 int* err ); 03269 03279 CGMA_IGEOM_EXPORT 03280 void iGeom_subtractEnts( iGeom_Instance instance, 03281 iBase_EntityHandle blank, 03282 iBase_EntityHandle tool, 03283 iBase_EntityHandle* geom_entity, 03284 int* err ); 03285 03295 CGMA_IGEOM_EXPORT 03296 void iGeom_intersectEnts( iGeom_Instance instance, 03297 iBase_EntityHandle entity2, 03298 iBase_EntityHandle entity1, 03299 iBase_EntityHandle* geom_entity, 03300 int* err ); 03301 03316 CGMA_IGEOM_EXPORT 03317 void iGeom_sectionEnt( iGeom_Instance instance, 03318 iBase_EntityHandle geom_entity, 03319 double plane_normal_x, 03320 double plane_normal_y, 03321 double plane_normal_z, 03322 double offset, 03323 int reverse, 03324 iBase_EntityHandle* geom_entity2, 03325 int* err ); 03326 03335 CGMA_IGEOM_EXPORT 03336 void iGeom_imprintEnts( iGeom_Instance instance, 03337 iBase_EntityHandle const* geom_entities, 03338 int geom_entities_size, 03339 int* err ); 03340 03351 CGMA_IGEOM_EXPORT 03352 void iGeom_mergeEnts( iGeom_Instance instance, 03353 iBase_EntityHandle const* geom_entities, 03354 int geom_entities_size, 03355 double tolerance, 03356 int* err ); 03357 03369 CGMA_IGEOM_EXPORT 03370 void iGeom_createEntSet( iGeom_Instance instance, 03371 int isList, 03372 iBase_EntitySetHandle* entity_set_created, 03373 int *err ); 03374 03382 CGMA_IGEOM_EXPORT 03383 void iGeom_destroyEntSet( iGeom_Instance instance, 03384 iBase_EntitySetHandle entity_set, 03385 int *err ); 03386 03396 CGMA_IGEOM_EXPORT 03397 void iGeom_isList( iGeom_Instance instance, 03398 iBase_EntitySetHandle entity_set, 03399 int *is_list, 03400 int *err ); 03401 03415 CGMA_IGEOM_EXPORT 03416 void iGeom_getNumEntSets( iGeom_Instance instance, 03417 iBase_EntitySetHandle entity_set_handle, 03418 int num_hops, 03419 int *num_sets, 03420 int *err ); 03421 03440 CGMA_IGEOM_EXPORT 03441 void iGeom_getEntSets( iGeom_Instance instance, 03442 iBase_EntitySetHandle entity_set_handle, 03443 int num_hops, 03444 iBase_EntitySetHandle** contained_set_handles, 03445 int* contained_set_handles_allocated, 03446 int* contained_set_handles_size, 03447 int *err ); 03448 03457 CGMA_IGEOM_EXPORT 03458 void iGeom_addEntToSet( iGeom_Instance instance, 03459 iBase_EntityHandle entity_handle, 03460 iBase_EntitySetHandle entity_set, 03461 int *err ); 03462 03472 CGMA_IGEOM_EXPORT 03473 void iGeom_rmvEntFromSet( iGeom_Instance instance, 03474 iBase_EntityHandle entity_handle, 03475 iBase_EntitySetHandle entity_set, 03476 int *err ); 03477 03487 CGMA_IGEOM_EXPORT 03488 void iGeom_addEntArrToSet( iGeom_Instance instance, 03489 const iBase_EntityHandle* entity_handles, 03490 int entity_handles_size, 03491 iBase_EntitySetHandle entity_set, 03492 int *err ); 03493 03503 CGMA_IGEOM_EXPORT 03504 void iGeom_rmvEntArrFromSet( iGeom_Instance instance, 03505 const iBase_EntityHandle* entity_handles, 03506 int entity_handles_size, 03507 iBase_EntitySetHandle entity_set, 03508 int *err ); 03509 03518 CGMA_IGEOM_EXPORT 03519 void iGeom_addEntSet( iGeom_Instance instance, 03520 iBase_EntitySetHandle entity_set_to_add, 03521 iBase_EntitySetHandle entity_set_handle, 03522 int *err); 03523 03532 CGMA_IGEOM_EXPORT 03533 void iGeom_rmvEntSet( iGeom_Instance instance, 03534 iBase_EntitySetHandle entity_set_to_remove, 03535 iBase_EntitySetHandle entity_set_handle, 03536 int *err ); 03537 03549 CGMA_IGEOM_EXPORT 03550 void iGeom_isEntContained( iGeom_Instance instance, 03551 iBase_EntitySetHandle containing_entity_set, 03552 iBase_EntityHandle contained_entity, 03553 int *is_contained, 03554 int *err ); 03555 03566 CGMA_IGEOM_EXPORT 03567 void iGeom_isEntArrContained( iGeom_Instance instance, 03568 /*in*/ iBase_EntitySetHandle containing_set, 03569 /*in*/ const iBase_EntityHandle* entity_handles, 03570 /*in*/ int num_entity_handles, 03571 /*inout*/ int** is_contained, 03572 /*inout*/ int* is_contained_allocated, 03573 /*out*/ int* is_contained_size, 03574 /*out*/ int* err ); 03575 03587 CGMA_IGEOM_EXPORT 03588 void iGeom_isEntSetContained( iGeom_Instance instance, 03589 iBase_EntitySetHandle containing_entity_set, 03590 iBase_EntitySetHandle contained_entity_set, 03591 int *is_contained, 03592 int *err ); 03593 03603 CGMA_IGEOM_EXPORT 03604 void iGeom_addPrntChld( iGeom_Instance instance, 03605 iBase_EntitySetHandle parent_entity_set, 03606 iBase_EntitySetHandle child_entity_set, 03607 int *err ); 03608 03617 CGMA_IGEOM_EXPORT 03618 void iGeom_rmvPrntChld( iGeom_Instance instance, 03619 iBase_EntitySetHandle parent_entity_set, 03620 iBase_EntitySetHandle child_entity_set, 03621 int *err ); 03622 03633 CGMA_IGEOM_EXPORT 03634 void iGeom_isChildOf( iGeom_Instance instance, 03635 iBase_EntitySetHandle parent_entity_set, 03636 iBase_EntitySetHandle child_entity_set, 03637 int *is_child, 03638 int *err ); 03639 03652 CGMA_IGEOM_EXPORT 03653 void iGeom_getNumChld( iGeom_Instance instance, 03654 iBase_EntitySetHandle entity_set, 03655 int num_hops, 03656 int *num_child, 03657 int *err ); 03658 03671 CGMA_IGEOM_EXPORT 03672 void iGeom_getNumPrnt( iGeom_Instance instance, 03673 iBase_EntitySetHandle entity_set, 03674 int num_hops, 03675 int *num_parent, 03676 int *err ); 03677 03695 CGMA_IGEOM_EXPORT 03696 void iGeom_getChldn( iGeom_Instance instance, 03697 iBase_EntitySetHandle from_entity_set, 03698 int num_hops, 03699 iBase_EntitySetHandle** entity_set_handles, 03700 int* entity_set_handles_allocated, 03701 int* entity_set_handles_size, 03702 int *err ); 03703 03721 CGMA_IGEOM_EXPORT 03722 void iGeom_getPrnts( iGeom_Instance instance, 03723 iBase_EntitySetHandle from_entity_set, 03724 int num_hops, 03725 iBase_EntitySetHandle** entity_set_handles, 03726 int* entity_set_handles_allocated, 03727 int* entity_set_handles_size, 03728 int *err ); 03729 03744 CGMA_IGEOM_EXPORT 03745 void iGeom_createTag( iGeom_Instance instance, 03746 const char* tag_name, 03747 int tag_size, 03748 int tag_type, 03749 iBase_TagHandle* tag_handle, 03750 int *err, 03751 int tag_name_len ); 03752 03753 03765 CGMA_IGEOM_EXPORT 03766 void iGeom_destroyTag( iGeom_Instance instance, 03767 iBase_TagHandle tag_handle, 03768 int forced, 03769 int *err); 03770 03781 CGMA_IGEOM_EXPORT 03782 void iGeom_getTagName( iGeom_Instance instance, 03783 iBase_TagHandle tag_handle, 03784 char *name, 03785 int* err, 03786 int name_len ); 03787 03796 CGMA_IGEOM_EXPORT 03797 void iGeom_getTagSizeValues( iGeom_Instance instance, 03798 iBase_TagHandle tag_handle, 03799 int *tag_size, 03800 int *err ); 03801 03810 CGMA_IGEOM_EXPORT 03811 void iGeom_getTagSizeBytes( iGeom_Instance instance, 03812 iBase_TagHandle tag_handle, 03813 int *tag_size, 03814 int *err ); 03815 03825 CGMA_IGEOM_EXPORT 03826 void iGeom_getTagHandle( iGeom_Instance instance, 03827 const char* tag_name, 03828 iBase_TagHandle *tag_handle, 03829 int *err, 03830 int tag_name_len ); 03831 03841 CGMA_IGEOM_EXPORT 03842 void iGeom_getTagType( iGeom_Instance instance, 03843 iBase_TagHandle tag_handle, 03844 int *tag_type, 03845 int *err ); 03846 03863 CGMA_IGEOM_EXPORT 03864 void iGeom_setEntSetData( iGeom_Instance instance, 03865 iBase_EntitySetHandle entity_set_handle, 03866 const iBase_TagHandle tag_handle, 03867 const void* tag_value, 03868 const int tag_value_size, 03869 int *err ); 03870 03880 CGMA_IGEOM_EXPORT 03881 void iGeom_setEntSetIntData( iGeom_Instance instance, 03882 iBase_EntitySetHandle entity_set, 03883 iBase_TagHandle tag_handle, 03884 int tag_value, 03885 int *err ); 03886 03896 CGMA_IGEOM_EXPORT 03897 void iGeom_setEntSetDblData( iGeom_Instance instance, 03898 iBase_EntitySetHandle entity_set, 03899 iBase_TagHandle tag_handle, 03900 double tag_value, 03901 int *err ); 03902 03912 CGMA_IGEOM_EXPORT 03913 void iGeom_setEntSetEHData( iGeom_Instance instance, 03914 iBase_EntitySetHandle entity_set, 03915 iBase_TagHandle tag_handle, 03916 iBase_EntityHandle tag_value, 03917 int *err ); 03918 03928 CGMA_IGEOM_EXPORT 03929 void iGeom_setEntSetESHData( iGeom_Instance instance, 03930 iBase_EntitySetHandle entity_set, 03931 iBase_TagHandle tag_handle, 03932 iBase_EntitySetHandle tag_value, 03933 int *err ); 03934 03954 CGMA_IGEOM_EXPORT 03955 void iGeom_getEntSetData( iGeom_Instance instance, 03956 iBase_EntitySetHandle entity_set_handle, 03957 iBase_TagHandle tag_handle, 03958 void** tag_value, 03959 int* tag_value_allocated, 03960 int* tag_value_size, 03961 int *err ); 03962 03972 CGMA_IGEOM_EXPORT 03973 void iGeom_getEntSetIntData( iGeom_Instance instance, 03974 iBase_EntitySetHandle entity_set, 03975 iBase_TagHandle tag_handle, 03976 int *out_data, 03977 int *err ); 03978 03988 CGMA_IGEOM_EXPORT 03989 void iGeom_getEntSetDblData( iGeom_Instance instance, 03990 iBase_EntitySetHandle entity_set, 03991 iBase_TagHandle tag_handle, 03992 double *out_data, 03993 int *err ); 03994 04004 CGMA_IGEOM_EXPORT 04005 void iGeom_getEntSetEHData( iGeom_Instance instance, 04006 iBase_EntitySetHandle entity_set, 04007 iBase_TagHandle tag_handle, 04008 iBase_EntityHandle *out_data, 04009 int *err ); 04010 04020 CGMA_IGEOM_EXPORT 04021 void iGeom_getEntSetESHData( iGeom_Instance instance, 04022 iBase_EntitySetHandle entity_set, 04023 iBase_TagHandle tag_handle, 04024 iBase_EntitySetHandle *out_data, 04025 int *err ); 04026 04039 CGMA_IGEOM_EXPORT 04040 void iGeom_getAllEntSetTags( iGeom_Instance instance, 04041 iBase_EntitySetHandle entity_set_handle, 04042 iBase_TagHandle** tag_handles, 04043 int* tag_handles_allocated, 04044 int* tag_handles_size, 04045 int *err ); 04046 04055 CGMA_IGEOM_EXPORT 04056 void iGeom_rmvEntSetTag( iGeom_Instance instance, 04057 iBase_EntitySetHandle entity_set_handle, 04058 iBase_TagHandle tag_handle, 04059 int *err ); 04060 04083 CGMA_IGEOM_EXPORT 04084 void iGeom_getArrData( iGeom_Instance instance, 04085 const iBase_EntityHandle* entity_handles, 04086 int entity_handles_size, 04087 iBase_TagHandle tag_handle, 04088 void** tag_values, 04089 int* tag_values_allocated, 04090 int* tag_values_size, 04091 int *err ); 04092 04106 CGMA_IGEOM_EXPORT 04107 void iGeom_getIntArrData( iGeom_Instance instance, 04108 const iBase_EntityHandle* entity_handles, 04109 int entity_handles_size, 04110 iBase_TagHandle tag_handle, 04111 int** tag_values, 04112 int* tag_values_allocated, 04113 int* tag_values_size, 04114 int *err ); 04115 04129 CGMA_IGEOM_EXPORT 04130 void iGeom_getDblArrData( iGeom_Instance instance, 04131 const iBase_EntityHandle* entity_handles, 04132 int entity_handles_size, 04133 iBase_TagHandle tag_handle, 04134 double** tag_values, 04135 int* tag_values_allocated, 04136 int* tag_values_size, 04137 int *err ); 04138 04152 CGMA_IGEOM_EXPORT 04153 void iGeom_getEHArrData( iGeom_Instance instance, 04154 const iBase_EntityHandle* entity_handles, 04155 int entity_handles_size, 04156 iBase_TagHandle tag_handle, 04157 iBase_EntityHandle** tag_value, 04158 int* tag_value_allocated, 04159 int* tag_value_size, 04160 int *err ); 04161 04175 CGMA_IGEOM_EXPORT 04176 void iGeom_getESHArrData( iGeom_Instance instance, 04177 const iBase_EntityHandle* entity_handles, 04178 int entity_handles_size, 04179 iBase_TagHandle tag_handle, 04180 iBase_EntitySetHandle** tag_value, 04181 int* tag_value_allocated, 04182 int* tag_value_size, 04183 int *err ); 04184 04185 04206 CGMA_IGEOM_EXPORT 04207 void iGeom_setArrData( iGeom_Instance instance, 04208 const iBase_EntityHandle* entity_handles, 04209 int entity_handles_size, 04210 iBase_TagHandle tag_handle, 04211 const void* tag_values, 04212 int tag_values_size, 04213 int *err ); 04214 04226 CGMA_IGEOM_EXPORT 04227 void iGeom_setIntArrData( iGeom_Instance instance, 04228 const iBase_EntityHandle* entity_handles, 04229 int entity_handles_size, 04230 iBase_TagHandle tag_handle, 04231 const int* tag_values, 04232 int tag_values_size, 04233 int *err ); 04234 04246 CGMA_IGEOM_EXPORT 04247 void iGeom_setDblArrData( iGeom_Instance instance, 04248 const iBase_EntityHandle* entity_handles, 04249 int entity_handles_size, 04250 iBase_TagHandle tag_handle, 04251 const double* tag_values, 04252 const int tag_values_size, 04253 int *err ); 04254 04267 CGMA_IGEOM_EXPORT 04268 void iGeom_setEHArrData( iGeom_Instance instance, 04269 const iBase_EntityHandle* entity_handles, 04270 int entity_handles_size, 04271 iBase_TagHandle tag_handle, 04272 const iBase_EntityHandle* tag_values, 04273 int tag_values_size, 04274 int *err ); 04275 04288 CGMA_IGEOM_EXPORT 04289 void iGeom_setESHArrData( iGeom_Instance instance, 04290 const iBase_EntityHandle* entity_handles, 04291 int entity_handles_size, 04292 iBase_TagHandle tag_handle, 04293 const iBase_EntitySetHandle* tag_values, 04294 int tag_values_size, 04295 int *err ); 04296 04306 CGMA_IGEOM_EXPORT 04307 void iGeom_rmvArrTag( iGeom_Instance instance, 04308 const iBase_EntityHandle* entity_handles, 04309 int entity_handles_size, 04310 iBase_TagHandle tag_handle, 04311 int *err ); 04312 04332 CGMA_IGEOM_EXPORT 04333 void iGeom_getData( iGeom_Instance instance, 04334 iBase_EntityHandle entity_handle, 04335 iBase_TagHandle tag_handle, 04336 void** tag_value, 04337 int *tag_value_allocated, 04338 int *tag_value_size, 04339 int *err ); 04340 04350 CGMA_IGEOM_EXPORT 04351 void iGeom_getIntData( iGeom_Instance instance, 04352 iBase_EntityHandle entity_handle, 04353 iBase_TagHandle tag_handle, 04354 int *out_data, 04355 int *err ); 04356 04366 CGMA_IGEOM_EXPORT 04367 void iGeom_getDblData( iGeom_Instance instance, 04368 /*in*/ const iBase_EntityHandle entity_handle, 04369 /*in*/ const iBase_TagHandle tag_handle, 04370 double *out_data, 04371 int *err ); 04372 04382 CGMA_IGEOM_EXPORT 04383 void iGeom_getEHData( iGeom_Instance instance, 04384 iBase_EntityHandle entity_handle, 04385 iBase_TagHandle tag_handle, 04386 iBase_EntityHandle *out_data, 04387 int *err ); 04388 04398 CGMA_IGEOM_EXPORT 04399 void iGeom_getESHData( iGeom_Instance instance, 04400 iBase_EntityHandle entity_handle, 04401 iBase_TagHandle tag_handle, 04402 iBase_EntitySetHandle *out_data, 04403 int *err ); 04404 04422 CGMA_IGEOM_EXPORT 04423 void iGeom_setData( iGeom_Instance instance, 04424 iBase_EntityHandle entity_handle, 04425 iBase_TagHandle tag_handle, 04426 const void* tag_value, 04427 int tag_value_size, 04428 int *err ); 04429 04439 CGMA_IGEOM_EXPORT 04440 void iGeom_setIntData( iGeom_Instance instance, 04441 iBase_EntityHandle entity_handle, 04442 iBase_TagHandle tag_handle, 04443 int tag_value, 04444 int *err ); 04445 04455 CGMA_IGEOM_EXPORT 04456 void iGeom_setDblData( iGeom_Instance instance, 04457 iBase_EntityHandle entity_handle, 04458 iBase_TagHandle tag_handle, 04459 double tag_value, 04460 int *err ); 04461 04471 CGMA_IGEOM_EXPORT 04472 void iGeom_setEHData( iGeom_Instance instance, 04473 iBase_EntityHandle entity_handle, 04474 iBase_TagHandle tag_handle, 04475 iBase_EntityHandle tag_value, 04476 int *err ); 04477 04487 CGMA_IGEOM_EXPORT 04488 void iGeom_setESHData( iGeom_Instance instance, 04489 iBase_EntityHandle entity_handle, 04490 iBase_TagHandle tag_handle, 04491 iBase_EntitySetHandle tag_value, 04492 int *err ); 04493 04506 CGMA_IGEOM_EXPORT 04507 void iGeom_getAllTags( iGeom_Instance instance, 04508 iBase_EntityHandle entity_handle, 04509 iBase_TagHandle** tag_handles, 04510 int* tag_handles_allocated, 04511 int* tag_handles_size, 04512 int *err ); 04513 04522 CGMA_IGEOM_EXPORT 04523 void iGeom_rmvTag( iGeom_Instance instance, 04524 iBase_EntityHandle entity_handle, 04525 iBase_TagHandle tag_handle, 04526 int *err ); 04527 04537 CGMA_IGEOM_EXPORT 04538 void iGeom_subtract( iGeom_Instance instance, 04539 iBase_EntitySetHandle entity_set_1, 04540 iBase_EntitySetHandle entity_set_2, 04541 iBase_EntitySetHandle* result_entity_set, 04542 int *err ); 04543 04553 CGMA_IGEOM_EXPORT 04554 void iGeom_intersect( iGeom_Instance instance, 04555 iBase_EntitySetHandle entity_set_1, 04556 iBase_EntitySetHandle entity_set_2, 04557 iBase_EntitySetHandle* result_entity_set, 04558 int *err ); 04559 04569 CGMA_IGEOM_EXPORT 04570 void iGeom_unite( iGeom_Instance instance, 04571 iBase_EntitySetHandle entity_set_1, 04572 iBase_EntitySetHandle entity_set_2, 04573 iBase_EntitySetHandle* result_entity_set, 04574 int *err ); 04575 04590 CGMA_IGEOM_EXPORT 04591 void iGeom_getFacets(iGeom_Instance instance, 04592 iBase_EntityHandle entity, 04593 double dist_tolerance, 04594 double **points, int *points_allocated, int *points_size, 04595 int **facets, int *facets_allocated, int *facets_size, 04596 int *err); 04597 04598 /* checks if a point is on a surface or a curve or a body*/ 04599 CGMA_IGEOM_EXPORT 04600 void iGeom_isPositionOn(iGeom_Instance instance, 04601 iBase_EntityHandle entity, 04602 double x, 04603 double y, 04604 double z, 04605 int *isOn); 04606 #ifdef __cplusplus 04607 } /* extern "C" */ 04608 #endif 04609 04610 #endif