cgma
|
00001 #ifndef _ITAPS_iGeom 00002 #define _ITAPS_iGeom 00003 00060 #include "iBase.h" 00061 #include "iGeom_protos.h" 00062 #ifdef __cplusplus 00063 extern "C" { 00064 #endif 00065 00070 typedef struct iGeom_Instance_Private* iGeom_Instance; 00071 00080 static void iGeom_getDescription( iGeom_Instance instance, 00081 char* descr, 00082 int descr_len ); 00083 00091 static void iGeom_getErrorType( iGeom_Instance instance, 00092 /*out*/ int *error_type ); 00093 00102 static void iGeom_newGeom( char const* options, 00103 iGeom_Instance* instance_out, 00104 int* err, 00105 int options_len ); 00106 00113 static void iGeom_dtor( iGeom_Instance instance, 00114 int* err ); 00115 00116 00130 static void iGeom_load( iGeom_Instance instance, 00131 char const* name, 00132 char const* options, 00133 int* err, 00134 int name_len, 00135 int options_len ); 00136 00149 static void iGeom_save( iGeom_Instance instance, 00150 char const* name, 00151 char const* options, 00152 int* err, 00153 int name_len, 00154 int options_len ); 00155 00164 static void iGeom_getRootSet( iGeom_Instance instance, 00165 iBase_EntitySetHandle* root_set, 00166 int* err ); 00167 00180 static void iGeom_getBoundBox( iGeom_Instance instance, 00181 double* min_x, 00182 double* min_y, 00183 double* min_z, 00184 double* max_x, 00185 double* max_y, 00186 double* max_z, 00187 int* err ); 00188 00206 static void iGeom_getEntities( iGeom_Instance instance, 00207 iBase_EntitySetHandle set_handle, 00208 int entity_type, 00209 iBase_EntityHandle** entity_handles, 00210 int* entity_handles_allococated, 00211 int* entity_handles_size, 00212 int* err ); 00213 00228 static void iGeom_getNumOfType( iGeom_Instance instance, 00229 iBase_EntitySetHandle set_handle, 00230 int entity_type, 00231 int* num_out, 00232 int* err ); 00233 00243 static void iGeom_getEntType( iGeom_Instance instance, 00244 iBase_EntityHandle entity_handle, 00245 int* type, 00246 int* err ); 00247 00260 static void iGeom_getArrType( iGeom_Instance instance, 00261 iBase_EntityHandle const* entity_handles, 00262 int entity_handles_size, 00263 int** type, 00264 int* type_allocated, 00265 int* type_size, 00266 int* err ); 00267 00283 static void iGeom_getEntAdj( iGeom_Instance instance, 00284 iBase_EntityHandle entity_handle, 00285 int to_dimension, 00286 iBase_EntityHandle** adj_entities, 00287 int* adj_entities_allocated, 00288 int* adj_entities_size, 00289 int* err ); 00290 00312 static void iGeom_getArrAdj( iGeom_Instance instance, 00313 iBase_EntityHandle const* entity_handles, 00314 int entity_handles_size, 00315 int requested_entity_type, 00316 iBase_EntityHandle** adj_entity_handles, 00317 int* adj_entity_handles_allocated, 00318 int* adj_entity_handles_size, 00319 int** offset, 00320 int* offset_allocated, 00321 int* offset_size, 00322 int* err ); 00323 00338 static void iGeom_getEnt2ndAdj( iGeom_Instance instance, 00339 iBase_EntityHandle entity_handle, 00340 int bridge_dimension, 00341 int to_dimension, 00342 iBase_EntityHandle** adjacent_entities, 00343 int* adjacent_entities_allocated, 00344 int* adjacent_entities_size, 00345 int* err ); 00346 00367 static void iGeom_getArr2ndAdj( iGeom_Instance instance, 00368 iBase_EntityHandle const* entity_handles, 00369 int entity_handles_size, 00370 int order_adjacent_key, 00371 int requested_entity_type, 00372 iBase_EntityHandle** adj_entity_handles, 00373 int* adj_entity_handles_allocated, 00374 int* adj_entity_handles_size, 00375 int** offset, 00376 int* offset_allocated, 00377 int* offset_size, 00378 int* err ); 00379 00390 static void iGeom_isEntAdj( iGeom_Instance instance, 00391 iBase_EntityHandle entity_handle1, 00392 iBase_EntityHandle entity_handle2, 00393 int* are_adjacent, 00394 int* err ); 00395 00411 static void iGeom_isArrAdj( iGeom_Instance instance, 00412 iBase_EntityHandle const* entity_handles_1, 00413 int entity_handles_1_size, 00414 iBase_EntityHandle const* entity_handles_2, 00415 int entity_handles_2_size, 00416 int** is_adjacent_info, 00417 int* is_adjacent_info_allocated, 00418 int* is_adjacent_info_size, 00419 int* err ); 00420 00429 static void iGeom_getTopoLevel( iGeom_Instance instance, 00430 int* topo_level_out, 00431 int* err ); 00432 00446 static void iGeom_getEntClosestPt( iGeom_Instance instance, 00447 iBase_EntityHandle entity_handle, 00448 double near_x, 00449 double near_y, 00450 double near_z, 00451 double* on_x, 00452 double* on_y, 00453 double* on_z, 00454 int* err ); 00455 00475 static void iGeom_getEntClosestPtTrimmed( iGeom_Instance instance, 00476 iBase_EntityHandle entity_handle, 00477 double near_x, 00478 double near_y, 00479 double near_z, 00480 double* on_x, 00481 double* on_y, 00482 double* on_z, 00483 int* err ); 00484 00503 static void iGeom_getArrClosestPt( iGeom_Instance instance, 00504 iBase_EntityHandle const* entity_handles, 00505 int entity_handles_size, 00506 int storage_order, 00507 double const* near_coordinates, 00508 int near_coordinates_size, 00509 double** on_coordinates, 00510 int* on_coordinates_allocated, 00511 int* on_coordinates_size, 00512 int* err ); 00513 00526 static void iGeom_getEntNrmlXYZ( iGeom_Instance instance, 00527 iBase_EntityHandle entity_handle, 00528 double x, 00529 double y, 00530 double z, 00531 double* nrml_i, 00532 double* nrml_j, 00533 double* nrml_k, 00534 int* err ); 00535 00554 static void iGeom_getArrNrmlXYZ( iGeom_Instance instance, 00555 iBase_EntityHandle const* entity_handles, 00556 int entity_handles_size, 00557 int storage_order, 00558 double const* coordinates, 00559 int coordinates_size, 00560 double** normals, 00561 int* normals_allocated, 00562 int* normals_size, 00563 int* err ); 00564 00582 static void iGeom_getEntNrmlPlXYZ( iGeom_Instance instance, 00583 iBase_EntityHandle entity_handle, 00584 double x, 00585 double y, 00586 double z, 00587 double* pt_x, 00588 double* pt_y, 00589 double* pt_z, 00590 double* nrml_i, 00591 double* nrml_j, 00592 double* nrml_k, 00593 int* err ); 00594 00617 static void iGeom_getArrNrmlPlXYZ( iGeom_Instance instance, 00618 iBase_EntityHandle const* entity_handles, 00619 int entity_handles_size, 00620 int storage_order, 00621 double const* near_coordinates, 00622 int near_coordinates_size, 00623 double** on_coordinates, 00624 int* on_coordinates_allocated, 00625 int* on_coordinates_size, 00626 double** normals, 00627 int* normals_allocated, 00628 int* normals_size, 00629 int* err ); 00630 00644 static void iGeom_getEntTgntXYZ( iGeom_Instance instance, 00645 iBase_EntityHandle entity_handle, 00646 double x, 00647 double y, 00648 double z, 00649 double* tgnt_i, 00650 double* tgnt_j, 00651 double* tgnt_k, 00652 int* err ); 00653 00672 static void iGeom_getArrTgntXYZ( iGeom_Instance instance, 00673 iBase_EntityHandle const* entity_handles, 00674 int entity_handles_size, 00675 int storage_order, 00676 double const* coordinates, 00677 int coordinates_size, 00678 double** tangents, 00679 int* tangents_allocated, 00680 int* tangents_size, 00681 int* err ); 00682 00701 static void iGeom_getFcCvtrXYZ( iGeom_Instance instance, 00702 iBase_EntityHandle face_handle, 00703 double x, 00704 double y, 00705 double z, 00706 double* cvtr1_i, 00707 double* cvtr1_j, 00708 double* cvtr1_k, 00709 double* cvtr2_i, 00710 double* cvtr2_j, 00711 double* cvtr2_k, 00712 int* err ); 00713 00728 static void iGeom_getEgCvtrXYZ( iGeom_Instance instance, 00729 iBase_EntityHandle edge_handle, 00730 double x, 00731 double y, 00732 double z, 00733 double* cvtr_i, 00734 double* cvtr_j, 00735 double* cvtr_k, 00736 int* err ); 00737 00759 static void iGeom_getEntArrCvtrXYZ( iGeom_Instance instance, 00760 iBase_EntityHandle const* entity_handles, 00761 int entity_handles_size, 00762 int storage_order, 00763 double const* coords, 00764 int coords_size, 00765 double** cvtr_1, 00766 int* cvtr_1_allocated, 00767 int* cvtr_1_size, 00768 double** cvtr_2, 00769 int* cvtr_2_allocated, 00770 int* cvtr_2_size, 00771 int* err ); 00772 00792 static void iGeom_getEgEvalXYZ( iGeom_Instance instance, 00793 iBase_EntityHandle edge_handle, 00794 double x, 00795 double y, 00796 double z, 00797 double* on_x, 00798 double* on_y, 00799 double* on_z, 00800 double* tgnt_i, 00801 double* tgnt_j, 00802 double* tgnt_k, 00803 double* cvtr_i, 00804 double* cvtr_j, 00805 double* cvtr_k, 00806 int* err ); 00807 00831 static void iGeom_getFcEvalXYZ( iGeom_Instance instance, 00832 iBase_EntityHandle face_handle, 00833 double x, 00834 double y, 00835 double z, 00836 double* on_x, 00837 double* on_y, 00838 double* on_z, 00839 double* nrml_i, 00840 double* nrml_j, 00841 double* nrml_k, 00842 double* cvtr1_i, 00843 double* cvtr1_j, 00844 double* cvtr1_k, 00845 double* cvtr2_i, 00846 double* cvtr2_j, 00847 double* cvtr2_k, 00848 int* err ); 00849 00876 static void iGeom_getArrEgEvalXYZ( iGeom_Instance instance, 00877 iBase_EntityHandle const* edge_handles, 00878 int edge_handles_size, 00879 int storage_order, 00880 double const* coords, 00881 int coords_size, 00882 double** on_coords, 00883 int* on_coords_allocated, 00884 int* on_coords_size, 00885 double** tangent, 00886 int* tangent_allocated, 00887 int* tangent_size, 00888 double** cvtr, 00889 int* cvtr_allocated, 00890 int* cvtr_size, 00891 int* err ); 00892 00922 static void iGeom_getArrFcEvalXYZ( iGeom_Instance instance, 00923 iBase_EntityHandle const* face_handles, 00924 int face_handles_size, 00925 int storage_order, 00926 double const* coords, 00927 int coords_size, 00928 double** on_coords, 00929 int* on_coords_allocated, 00930 int* on_coords_size, 00931 double** normal, 00932 int* normal_allocated, 00933 int* normal_size, 00934 double** cvtr1, 00935 int* cvtr1_allocated, 00936 int* cvtr1_size, 00937 double** cvtr2, 00938 int* cvtr2_allocated, 00939 int* cvtr2_size, 00940 int* err ); 00941 00955 static void iGeom_getEntBoundBox( iGeom_Instance instance, 00956 iBase_EntityHandle entity_handle, 00957 double* min_x, 00958 double* min_y, 00959 double* min_z, 00960 double* max_x, 00961 double* max_y, 00962 double* max_z, 00963 int* err ); 00964 00981 static void iGeom_getArrBoundBox( iGeom_Instance instance, 00982 iBase_EntityHandle const* entity_handles, 00983 int entity_handles_size, 00984 int storage_order, 00985 double** min_corner, 00986 int* min_corner_allocated, 00987 int* min_corner_size, 00988 double** max_corner, 00989 int* max_corner_allocated, 00990 int* max_corner_size, 00991 int* err ); 00992 01003 static void iGeom_getVtxCoord( iGeom_Instance instance, 01004 iBase_EntityHandle vertex_handle, 01005 double* x, 01006 double* y, 01007 double* z, 01008 int* err ); 01009 01027 static void iGeom_getVtxArrCoords( iGeom_Instance instance, 01028 iBase_EntityHandle const* entity_handles, 01029 int entity_handles_size, 01030 int storage_order, 01031 double** coordinates, 01032 int* coordinates_allocated, 01033 int* coordinates_size, 01034 int* err ); 01035 01060 static void iGeom_getPntRayIntsct( iGeom_Instance instance, 01061 double x, 01062 double y, 01063 double z, 01064 double dir_x, 01065 double dir_y, 01066 double dir_z, 01067 iBase_EntityHandle** intersect_entity_handles, 01068 int* intersect_entity_handles_allocated, 01069 int* intersect_entity_hangles_size, 01070 int storage_order, 01071 double** intersect_coords, 01072 int* intersect_coords_allocated, 01073 int* intersect_coords_size, 01074 double** param_coords, 01075 int* param_coords_allocated, 01076 int* param_coords_size, 01077 int* err ); 01078 01106 static void iGeom_getPntArrRayIntsct( iGeom_Instance instance, 01107 int storage_order, 01108 const double* coords, 01109 int coords_size, 01110 const double* directions, 01111 int directions_size, 01112 iBase_EntityHandle** intersect_entity_handles, 01113 int* intersect_entity_handles_allocated, 01114 int* intersect_entity_hangles_size, 01115 int** offset, 01116 int* offset_allocated, 01117 int* offset_size, 01118 double** intersect_coords, 01119 int* intersect_coords_allocated, 01120 int* intersect_coords_size, 01121 double** param_coords, 01122 int* param_coords_allocated, 01123 int* param_coords_size, 01124 int* err ); 01125 01136 static void iGeom_getPntClsf( iGeom_Instance instance, 01137 double x, 01138 double y, 01139 double z, 01140 iBase_EntityHandle* entity_handle, 01141 int* err ); 01142 01156 static void iGeom_getPntArrClsf( iGeom_Instance instance, 01157 int storage_order, 01158 double const* coords, 01159 int coords_size, 01160 iBase_EntityHandle** entity_handles, 01161 int* entity_handles_allocated, 01162 int* entity_handles_size, 01163 int* err ); 01164 01176 static void iGeom_getEntNrmlSense( iGeom_Instance instance, 01177 iBase_EntityHandle face, 01178 iBase_EntityHandle region, 01179 int* sense_out, 01180 int* err ); 01181 01199 static void iGeom_getArrNrmlSense( iGeom_Instance instance, 01200 iBase_EntityHandle const* face_handles, 01201 int face_handles_size, 01202 iBase_EntityHandle const* region_handles, 01203 int region_handles_size, 01204 int** sense, 01205 int* sense_allocated, 01206 int* sense_size, 01207 int* err ); 01208 01220 static void iGeom_getEgFcSense( iGeom_Instance, 01221 iBase_EntityHandle edge, 01222 iBase_EntityHandle face, 01223 int* sense_out, 01224 int* err ); 01225 01243 static void iGeom_getEgFcArrSense( iGeom_Instance instance, 01244 iBase_EntityHandle const* edge_handles, 01245 int edge_handles_size, 01246 iBase_EntityHandle const* face_handles, 01247 int face_handles_size, 01248 int** sense, 01249 int* sense_allocated, 01250 int* sense_size, 01251 int* err ); 01252 01266 static void iGeom_getEgVtxSense( iGeom_Instance instance, 01267 iBase_EntityHandle edge, 01268 iBase_EntityHandle vertex1, 01269 iBase_EntityHandle vertex2, 01270 int* sense_out, 01271 int* err ); 01272 01291 static void iGeom_getEgVtxArrSense( iGeom_Instance instance, 01292 iBase_EntityHandle const* edge_handles, 01293 int edge_handles_size, 01294 iBase_EntityHandle const* vertex_handles_1, 01295 int veretx_handles_1_size, 01296 iBase_EntityHandle const* vertex_handles_2, 01297 int vertex_handles_2_size, 01298 int** sense, 01299 int* sense_allocated, 01300 int* sense_size, 01301 int* err ); 01302 01314 static void iGeom_measure( iGeom_Instance instance, 01315 iBase_EntityHandle const* entity_handles, 01316 int entity_handles_size, 01317 double** measures, 01318 int* measures_allocated, 01319 int* measures_size, 01320 int* err ); 01321 01331 static void iGeom_getFaceType( iGeom_Instance instance, 01332 iBase_EntityHandle face_handle, 01333 char* face_type, 01334 int* err, 01335 int* face_type_length); 01336 01346 static void iGeom_getParametric( iGeom_Instance instance, 01347 int* is_parametric, 01348 int* err ); 01349 01358 static void iGeom_isEntParametric( iGeom_Instance instance, 01359 iBase_EntityHandle entity_handle, 01360 int* parametric, 01361 int* err ); 01362 01375 static void iGeom_isArrParametric( iGeom_Instance instance, 01376 iBase_EntityHandle const* entity_handles, 01377 int entity_handles_size, 01378 int** is_parametric, 01379 int* is_parametric_allocated, 01380 int* is_parametric_size, 01381 int* err ); 01382 01396 static void iGeom_getEntUVtoXYZ( iGeom_Instance instance, 01397 iBase_EntityHandle entity_handle, 01398 double u, 01399 double v, 01400 double* x, 01401 double* y, 01402 double* z, 01403 int* err ); 01404 01426 static void iGeom_getArrUVtoXYZ( iGeom_Instance instance, 01427 iBase_EntityHandle const* entity_handles, 01428 int entity_handles_size, 01429 int storage_order, 01430 double const* uv, 01431 int uv_size, 01432 double** coordinates, 01433 int* coordinates_allocated, 01434 int* coordinates_size, 01435 int* err ); 01436 01449 static void iGeom_getEntUtoXYZ( iGeom_Instance instance, 01450 iBase_EntityHandle entity_handle, 01451 double u, 01452 double* x, 01453 double* y, 01454 double* z, 01455 int* err ); 01456 01477 static void iGeom_getArrUtoXYZ( iGeom_Instance instance, 01478 iBase_EntityHandle const* entity_handles, 01479 int entity_handles_size, 01480 double const* u, 01481 int u_size, 01482 int storage_order, 01483 double** on_coords, 01484 int* on_coords_allocated, 01485 int* on_coords_size, 01486 int* err ); 01487 01501 static void iGeom_getEntXYZtoUV( iGeom_Instance instance, 01502 iBase_EntityHandle entity_handle, 01503 double x, 01504 double y, 01505 double z, 01506 double* u, 01507 double* v, 01508 int* err ); 01509 01522 static void iGeom_getEntXYZtoU( iGeom_Instance instance, 01523 iBase_EntityHandle entity_handle, 01524 double x, 01525 double y, 01526 double z, 01527 double* u, 01528 int* err ); 01529 01549 static void iGeom_getArrXYZtoUV( iGeom_Instance instance, 01550 iBase_EntityHandle const* entity_handles, 01551 int entity_handles_size, 01552 int storage_order, 01553 double const* coordinates, 01554 int coordinates_size, 01555 double** uv, 01556 int* uv_allocated, 01557 int* uv_size, 01558 int* err ); 01559 01580 static void iGeom_getArrXYZtoU( iGeom_Instance instance, 01581 iBase_EntityHandle const* entity_handles, 01582 int entity_handles_size, 01583 int storage_order, 01584 double const* coordinates, 01585 int coordinates_size, 01586 double** u, 01587 int* u_allocated, 01588 int* u_size, 01589 int* err ); 01590 01607 static void iGeom_getEntXYZtoUVHint( iGeom_Instance instance, 01608 iBase_EntityHandle entity_handle, 01609 double x, 01610 double y, 01611 double z, 01612 double* u, 01613 double* v, 01614 int* err ); 01615 01635 static void iGeom_getArrXYZtoUVHint( iGeom_Instance instance, 01636 iBase_EntityHandle const* entity_handles, 01637 int entity_handles_size, 01638 int storage_order, 01639 double const* coords, 01640 int coords_size, 01641 double** uv, 01642 int* uv_allocated, 01643 int* uv_size, 01644 int* err ); 01645 01657 static void iGeom_getEntUVRange( iGeom_Instance instance, 01658 iBase_EntityHandle entity_handle, 01659 double* u_min, 01660 double* v_min, 01661 double* u_max, 01662 double* v_max, 01663 int* err ); 01664 01674 static void iGeom_getEntURange( iGeom_Instance instance, 01675 iBase_EntityHandle entity_handle, 01676 double* u_min, 01677 double* u_max, 01678 int* err ); 01679 01698 static void iGeom_getArrUVRange( iGeom_Instance instance, 01699 iBase_EntityHandle const* entity_handles, 01700 int entity_handles_size, 01701 int storage_order, 01702 double** uv_min, 01703 int* uv_min_allocated, 01704 int* uv_min_size, 01705 double** uv_max, 01706 int* uv_max_allocated, 01707 int* uv_max_size, 01708 int* err ); 01709 01728 static void iGeom_getArrURange( iGeom_Instance instance, 01729 iBase_EntityHandle const* entity_handles, 01730 int entity_handles_size, 01731 double** u_min, 01732 int* u_min_allocated, 01733 int* u_min_size, 01734 double** u_max, 01735 int* u_max_allocated, 01736 int* u_max_size, 01737 int* err ); 01738 01752 static void iGeom_getEntUtoUV( iGeom_Instance instance, 01753 iBase_EntityHandle edge_handle, 01754 iBase_EntityHandle face_handle, 01755 double in_u, 01756 double* u, 01757 double* v, 01758 int* err ); 01759 01770 static void iGeom_getVtxToUV( iGeom_Instance instance, 01771 iBase_EntityHandle vertex_handle, 01772 iBase_EntityHandle face_handle, 01773 double* u, 01774 double* v, 01775 int* err ); 01776 01786 static void iGeom_getVtxToU( iGeom_Instance instance, 01787 iBase_EntityHandle vertex_handle, 01788 iBase_EntityHandle edge_handle, 01789 double* u, 01790 int* err ); 01791 01810 static void iGeom_getArrUtoUV( iGeom_Instance instance, 01811 iBase_EntityHandle const* edge_handles, 01812 int edge_handles_size, 01813 iBase_EntityHandle const* face_handles, 01814 int face_handles_size, 01815 double const* u_in, 01816 int u_in_size, 01817 int storage_order, 01818 double** uv, 01819 int* uv_allocated, 01820 int* uv_size, 01821 int* err ); 01822 01837 static void iGeom_getVtxArrToUV( iGeom_Instance instance, 01838 iBase_EntityHandle const* vertex_handles, 01839 int vertex_handles_size, 01840 iBase_EntityHandle const* face_handles, 01841 int face_handles_size, 01842 int storage_order, 01843 double** uv, 01844 int* uv_allocated, 01845 int* uv_size, 01846 int* err ); 01847 01861 static void iGeom_getVtxArrToU( iGeom_Instance instance, 01862 iBase_EntityHandle const* vertex_handles, 01863 int vertex_handles_size, 01864 iBase_EntityHandle const* edge_handles, 01865 int edge_handles_size, 01866 double** u, 01867 int* u_allocated, 01868 int* u_size, 01869 int* err ); 01870 01883 static void iGeom_getEntNrmlUV( iGeom_Instance instance, 01884 iBase_EntityHandle entity_handle, 01885 double u, 01886 double v, 01887 double* nrml_i, 01888 double* nrml_j, 01889 double* nrml_k, 01890 int* err ); 01891 01910 static void iGeom_getArrNrmlUV( iGeom_Instance instance, 01911 iBase_EntityHandle const* face_handles, 01912 int face_handles_size, 01913 int storage_order, 01914 double const* parameters, 01915 int parameters_size, 01916 double** normals, 01917 int* normals_allocated, 01918 int* normals_size, 01919 int* err ); 01920 01932 static void iGeom_getEntTgntU( iGeom_Instance instance, 01933 iBase_EntityHandle entity_handle, 01934 double u, 01935 double* tgnt_i, 01936 double* tgnt_j, 01937 double* tgnt_k, 01938 int* err ); 01939 01958 static void iGeom_getArrTgntU( iGeom_Instance instance, 01959 iBase_EntityHandle const* edge_handles, 01960 int edge_handles_size, 01961 int storage_order, 01962 double const* parameters, 01963 int parameters_size, 01964 double** tangents, 01965 int* tangents_allocated, 01966 int* tangents_size, 01967 int* err ); 01968 01987 static void iGeom_getEnt1stDrvt( iGeom_Instance instance, 01988 iBase_EntityHandle entity_handle, 01989 double u, 01990 double v, 01991 double** drvt_u, 01992 int* drvt_u_allocated, 01993 int* drvt_u_size, 01994 double** drvt_v, 01995 int* dvrt_v_allocated, 01996 int* dvrt_v_size, 01997 int* err ); 01998 02028 static void iGeom_getArr1stDrvt( iGeom_Instance instance, 02029 iBase_EntityHandle const* entity_handles, 02030 int entity_handles_size, 02031 int storage_order, 02032 double const* uv, 02033 int uv_size, 02034 double** dvrt_u, 02035 int* dvrt_u_allocated, 02036 int* dvrt_u_size, 02037 int** u_offset, 02038 int* u_offset_allocated, 02039 int* u_offset_size, 02040 double** dvrt_v, 02041 int* dvrt_v_allocated, 02042 int* dvrt_v_size, 02043 int** v_offset, 02044 int* v_offset_allocated, 02045 int* v_offset_size, 02046 int* err ); 02047 02070 static void iGeom_getEnt2ndDrvt( iGeom_Instance instance, 02071 iBase_EntityHandle entity_handle, 02072 double u, 02073 double v, 02074 double** drvt_uu, 02075 int* drvt_uu_allocated, 02076 int* drvt_uu_size, 02077 double** drvt_vv, 02078 int* dvrt_vv_allocated, 02079 int* dvrt_vv_size, 02080 double** drvt_uv, 02081 int* dvrt_uv_allocated, 02082 int* dvrt_uv_size, 02083 int* err ); 02084 02122 static void iGeom_getArr2ndDrvt( iGeom_Instance instance, 02123 iBase_EntityHandle const* entity_handles, 02124 int entity_handles_size, 02125 int storage_order, 02126 double const* uv, 02127 int uv_size, 02128 double** dvtr_uu, 02129 int* dvrt_uu_allocated, 02130 int* dvrt_uu_size, 02131 int** uu_offset, 02132 int* uu_offset_allocated, 02133 int* uu_offset_size, 02134 double** dvtr_vv, 02135 int* dvrt_vv_allocated, 02136 int* dvrt_vv_size, 02137 int** vv_offset, 02138 int* vv_offset_allocated, 02139 int* vv_offset_size, 02140 double** dvrt_uv, 02141 int* dvrt_uv_allocated, 02142 int* dvrt_uv_size, 02143 int** uv_offset, 02144 int* uv_offset_allocated, 02145 int* uv_offset_size, 02146 int* err ); 02147 02166 static void iGeom_getFcCvtrUV( iGeom_Instance instance, 02167 iBase_EntityHandle face_handle, 02168 double u, 02169 double v, 02170 double* cvtr1_i, 02171 double* cvtr1_j, 02172 double* cvtr1_k, 02173 double* cvtr2_i, 02174 double* cvtr2_j, 02175 double* cvtr2_k, 02176 int* err ); 02177 02199 static void iGeom_getFcArrCvtrUV( iGeom_Instance instance, 02200 iBase_EntityHandle const* face_handles, 02201 int face_handles_size, 02202 int storage_order, 02203 double const* uv, 02204 int uv_size, 02205 double** cvtr_1, 02206 int* cvtr_1_allocated, 02207 int* cvtr_1_size, 02208 double** cvtr_2, 02209 int* cvtr_2_allocated, 02210 int* cvtr_2_size, 02211 int* err ); 02212 02223 static void iGeom_isEntPeriodic( iGeom_Instance instance, 02224 iBase_EntityHandle entity_handle, 02225 int* in_u, 02226 int* in_v, 02227 int* err ); 02228 02243 static void iGeom_isArrPeriodic( iGeom_Instance instance, 02244 iBase_EntityHandle const* entity_handles, 02245 int entity_handles_size, 02246 int** in_uv, 02247 int* in_uv_allocated, 02248 int* in_uv_size, 02249 int* err ); 02250 02259 static void iGeom_isFcDegenerate( iGeom_Instance instance, 02260 iBase_EntityHandle face_handle, 02261 int* is_degenerate, 02262 int* err ); 02263 02275 static void iGeom_isFcArrDegenerate( iGeom_Instance instance, 02276 iBase_EntityHandle const* face_handles, 02277 int face_handles_size, 02278 int** degenerate, 02279 int* degenerate_allocated, 02280 int* degenerate_size, 02281 int* err ); 02282 02295 static void iGeom_getTolerance( iGeom_Instance instance, 02296 int* type, 02297 double* tolerance, 02298 int* err ); 02299 02308 static void iGeom_getEntTolerance( iGeom_Instance instance, 02309 iBase_EntityHandle entity_handle, 02310 double* tolerance, 02311 int* err ); 02312 02324 static void iGeom_getArrTolerance( iGeom_Instance instance, 02325 iBase_EntityHandle const* entity_handles, 02326 int entity_handles_size, 02327 double** tolerances, 02328 int* tolerances_allocated, 02329 int* tolerances_size, 02330 int* err ); 02331 02345 static void iGeom_initEntIter( iGeom_Instance instance, 02346 iBase_EntitySetHandle entity_set_handle, 02347 int requested_entity_type, 02348 iBase_EntityIterator* entity_iterator, 02349 int* err ); 02350 02366 static void iGeom_initEntArrIter( iGeom_Instance instance, 02367 iBase_EntitySetHandle entity_set_handle, 02368 int requested_entity_type, 02369 int requested_array_size, 02370 iBase_EntityArrIterator* entArr_iterator, 02371 int* err ); 02372 02388 static void iGeom_getNextEntIter( iGeom_Instance instance, 02389 iBase_EntityIterator entity_iterator, 02390 iBase_EntityHandle* entity_handle, 02391 int* has_data, 02392 int* err ); 02393 02414 static void iGeom_getNextEntArrIter( iGeom_Instance instance, 02415 iBase_EntityArrIterator entArr_iterator, 02416 iBase_EntityHandle** entity_handles, 02417 int* entity_handles_allocated, 02418 int* entity_handles_size, 02419 int* has_data, 02420 int* err ); 02421 02429 static void iGeom_resetEntIter( iGeom_Instance instance, 02430 iBase_EntityIterator entity_iterator, 02431 int* err ); 02432 02440 static void iGeom_resetEntArrIter( iGeom_Instance instance, 02441 iBase_EntityArrIterator entArr_iterator, 02442 int* err ); 02443 02451 static void iGeom_endEntIter( iGeom_Instance instance, 02452 iBase_EntityIterator entity_iterator, 02453 int* err ); 02454 02462 static void iGeom_endEntArrIter( iGeom_Instance instance, 02463 iBase_EntityArrIterator entArr_iterator, 02464 int* err ); 02465 02474 static void iGeom_copyEnt( iGeom_Instance instance, 02475 iBase_EntityHandle source, 02476 iBase_EntityHandle* copy, 02477 int* err ); 02478 02492 static void iGeom_sweepEntAboutAxis( iGeom_Instance instance, 02493 iBase_EntityHandle geom_entity, 02494 double angle, 02495 double axis_x, 02496 double axis_y, 02497 double axis_z, 02498 iBase_EntityHandle* geom_entity2, 02499 int* err ); 02500 02507 static void iGeom_deleteAll( iGeom_Instance instance, 02508 int* err ); 02509 02517 static void iGeom_deleteEnt( iGeom_Instance instance, 02518 iBase_EntityHandle entity_handle, 02519 int* err ); 02520 02529 static void iGeom_createSphere( iGeom_Instance instance, 02530 double radius, 02531 iBase_EntityHandle* geom_entity, 02532 int* err ); 02533 02546 static void iGeom_createPrism( iGeom_Instance instance, 02547 double height, 02548 int n_sides, 02549 double major_rad, 02550 double minor_rad, 02551 iBase_EntityHandle* geom_entity, 02552 int* err ); 02553 02565 static void iGeom_createBrick( iGeom_Instance instance, 02566 double x, 02567 double y, 02568 double z, 02569 iBase_EntityHandle* geom_entity, 02570 int* err ); 02571 02584 static void iGeom_createCylinder( iGeom_Instance instance, 02585 double height, 02586 double major_rad, 02587 double minor_rad, 02588 iBase_EntityHandle* geom_entity, 02589 int* err ); 02590 02609 static void iGeom_createCone( iGeom_Instance instance, 02610 double height, 02611 double major_rad_base, 02612 double minor_rad_base, 02613 double rad_top, 02614 iBase_EntityHandle* geom_entity, 02615 int* err ); 02616 02627 static void iGeom_createTorus( iGeom_Instance instance, 02628 double major_rad, 02629 double minor_rad, 02630 iBase_EntityHandle* geom_entity, 02631 int* err ); 02632 02643 static void iGeom_moveEnt( iGeom_Instance instance, 02644 iBase_EntityHandle geom_entity, 02645 double x, 02646 double y, 02647 double z, 02648 int* err ); 02649 02661 static void iGeom_rotateEnt( iGeom_Instance instance, 02662 iBase_EntityHandle geom_entity, 02663 double angle, 02664 double axis_x, 02665 double axis_y, 02666 double axis_z, 02667 int* err ); 02668 02679 static void iGeom_reflectEnt( iGeom_Instance instance, 02680 iBase_EntityHandle geom_entity, 02681 double plane_normal_x, 02682 double plane_normal_y, 02683 double plane_normal_z, 02684 int* err ); 02685 02696 static void iGeom_scaleEnt( iGeom_Instance instance, 02697 iBase_EntityHandle geom_entity, 02698 double scale_x, 02699 double scale_y, 02700 double scale_z, 02701 int* err ); 02702 02712 static void iGeom_uniteEnts( iGeom_Instance instace, 02713 iBase_EntityHandle const* geom_entities, 02714 int geom_entities_size, 02715 iBase_EntityHandle* geom_entity, 02716 int* err ); 02717 02727 static void iGeom_subtractEnts( iGeom_Instance instance, 02728 iBase_EntityHandle blank, 02729 iBase_EntityHandle tool, 02730 iBase_EntityHandle* geom_entity, 02731 int* err ); 02732 02742 static void iGeom_intersectEnts( iGeom_Instance instance, 02743 iBase_EntityHandle entity2, 02744 iBase_EntityHandle entity1, 02745 iBase_EntityHandle* geom_entity, 02746 int* err ); 02747 02762 static void iGeom_sectionEnt( iGeom_Instance instance, 02763 iBase_EntityHandle geom_entity, 02764 double plane_normal_x, 02765 double plane_normal_y, 02766 double plane_normal_z, 02767 double offset, 02768 int reverse, 02769 iBase_EntityHandle* geom_entity2, 02770 int* err ); 02771 02780 static void iGeom_imprintEnts( iGeom_Instance instance, 02781 iBase_EntityHandle const* geom_entities, 02782 int geom_entities_size, 02783 int* err ); 02784 02795 static void iGeom_mergeEnts( iGeom_Instance instance, 02796 iBase_EntityHandle const* geom_entities, 02797 int geom_entities_size, 02798 double tolerance, 02799 int* err ); 02800 02812 static void iGeom_createEntSet( iGeom_Instance instance, 02813 int isList, 02814 iBase_EntitySetHandle* entity_set_created, 02815 int *err ); 02816 02824 static void iGeom_destroyEntSet( iGeom_Instance instance, 02825 iBase_EntitySetHandle entity_set, 02826 int *err ); 02827 02837 static void iGeom_isList( iGeom_Instance instance, 02838 iBase_EntitySetHandle entity_set, 02839 int *is_list, 02840 int *err ); 02841 02855 static void iGeom_getNumEntSets( iGeom_Instance instance, 02856 iBase_EntitySetHandle entity_set_handle, 02857 int num_hops, 02858 int *num_sets, 02859 int *err ); 02860 02879 static void iGeom_getEntSets( iGeom_Instance instance, 02880 iBase_EntitySetHandle entity_set_handle, 02881 int num_hops, 02882 iBase_EntitySetHandle** contained_set_handles, 02883 int* contained_set_handles_allocated, 02884 int* contained_set_handles_size, 02885 int *err ); 02886 02895 static void iGeom_addEntToSet( iGeom_Instance instance, 02896 iBase_EntityHandle entity_handle, 02897 iBase_EntitySetHandle entity_set, 02898 int *err ); 02899 02909 static void iGeom_rmvEntFromSet( iGeom_Instance instance, 02910 iBase_EntityHandle entity_handle, 02911 iBase_EntitySetHandle entity_set, 02912 int *err ); 02913 02923 static void iGeom_addEntArrToSet( iGeom_Instance instance, 02924 const iBase_EntityHandle* entity_handles, 02925 int entity_handles_size, 02926 iBase_EntitySetHandle entity_set, 02927 int *err ); 02928 02938 static void iGeom_rmvEntArrFromSet( iGeom_Instance instance, 02939 const iBase_EntityHandle* entity_handles, 02940 int entity_handles_size, 02941 iBase_EntitySetHandle entity_set, 02942 int *err ); 02943 02952 static void iGeom_addEntSet( iGeom_Instance instance, 02953 iBase_EntitySetHandle entity_set_to_add, 02954 iBase_EntitySetHandle entity_set_handle, 02955 int *err); 02956 02965 static void iGeom_rmvEntSet( iGeom_Instance instance, 02966 iBase_EntitySetHandle entity_set_to_remove, 02967 iBase_EntitySetHandle entity_set_handle, 02968 int *err ); 02969 02981 static void iGeom_isEntContained( iGeom_Instance instance, 02982 iBase_EntitySetHandle containing_entity_set, 02983 iBase_EntityHandle contained_entity, 02984 int *is_contained, 02985 int *err ); 02986 02997 static void iGeom_isEntArrContained( iGeom_Instance instance, 02998 /*in*/ iBase_EntitySetHandle containing_set, 02999 /*in*/ const iBase_EntityHandle* entity_handles, 03000 /*in*/ int num_entity_handles, 03001 /*inout*/ int** is_contained, 03002 /*inout*/ int* is_contained_allocated, 03003 /*out*/ int* is_contained_size, 03004 /*out*/ int* err ); 03005 03017 static void iGeom_isEntSetContained( iGeom_Instance instance, 03018 iBase_EntitySetHandle containing_entity_set, 03019 iBase_EntitySetHandle contained_entity_set, 03020 int *is_contained, 03021 int *err ); 03022 03032 static void iGeom_addPrntChld( iGeom_Instance instance, 03033 iBase_EntitySetHandle parent_entity_set, 03034 iBase_EntitySetHandle child_entity_set, 03035 int *err ); 03036 03045 static void iGeom_rmvPrntChld( iGeom_Instance instance, 03046 iBase_EntitySetHandle parent_entity_set, 03047 iBase_EntitySetHandle child_entity_set, 03048 int *err ); 03049 03060 static void iGeom_isChildOf( iGeom_Instance instance, 03061 iBase_EntitySetHandle parent_entity_set, 03062 iBase_EntitySetHandle child_entity_set, 03063 int *is_child, 03064 int *err ); 03065 03078 static void iGeom_getNumChld( iGeom_Instance instance, 03079 iBase_EntitySetHandle entity_set, 03080 int num_hops, 03081 int *num_child, 03082 int *err ); 03083 03096 static void iGeom_getNumPrnt( iGeom_Instance instance, 03097 iBase_EntitySetHandle entity_set, 03098 int num_hops, 03099 int *num_parent, 03100 int *err ); 03101 03119 static void iGeom_getChldn( iGeom_Instance instance, 03120 iBase_EntitySetHandle from_entity_set, 03121 int num_hops, 03122 iBase_EntitySetHandle** entity_set_handles, 03123 int* entity_set_handles_allocated, 03124 int* entity_set_handles_size, 03125 int *err ); 03126 03144 static void iGeom_getPrnts( iGeom_Instance instance, 03145 iBase_EntitySetHandle from_entity_set, 03146 int num_hops, 03147 iBase_EntitySetHandle** entity_set_handles, 03148 int* entity_set_handles_allocated, 03149 int* entity_set_handles_size, 03150 int *err ); 03151 03166 static void iGeom_createTag( iGeom_Instance instance, 03167 const char* tag_name, 03168 int tag_size, 03169 int tag_type, 03170 iBase_TagHandle* tag_handle, 03171 int *err, 03172 int tag_name_len ); 03173 03174 03186 static void iGeom_destroyTag( iGeom_Instance instance, 03187 iBase_TagHandle tag_handle, 03188 int forced, 03189 int *err); 03190 03201 static void iGeom_getTagName( iGeom_Instance instance, 03202 iBase_TagHandle tag_handle, 03203 char *name, 03204 int* err, 03205 int name_len ); 03206 03215 static void iGeom_getTagSizeValues( iGeom_Instance instance, 03216 iBase_TagHandle tag_handle, 03217 int *tag_size, 03218 int *err ); 03219 03228 static void iGeom_getTagSizeBytes( iGeom_Instance instance, 03229 iBase_TagHandle tag_handle, 03230 int *tag_size, 03231 int *err ); 03232 03242 static void iGeom_getTagHandle( iGeom_Instance instance, 03243 const char* tag_name, 03244 iBase_TagHandle *tag_handle, 03245 int *err, 03246 int tag_name_len ); 03247 03257 static void iGeom_getTagType( iGeom_Instance instance, 03258 iBase_TagHandle tag_handle, 03259 int *tag_type, 03260 int *err ); 03261 03278 static void iGeom_setEntSetData( iGeom_Instance instance, 03279 iBase_EntitySetHandle entity_set_handle, 03280 const iBase_TagHandle tag_handle, 03281 const void* tag_value, 03282 const int tag_value_size, 03283 int *err ); 03284 03294 static void iGeom_setEntSetIntData( iGeom_Instance instance, 03295 iBase_EntitySetHandle entity_set, 03296 iBase_TagHandle tag_handle, 03297 int tag_value, 03298 int *err ); 03299 03309 static void iGeom_setEntSetDblData( iGeom_Instance instance, 03310 iBase_EntitySetHandle entity_set, 03311 iBase_TagHandle tag_handle, 03312 double tag_value, 03313 int *err ); 03314 03324 static void iGeom_setEntSetEHData( iGeom_Instance instance, 03325 iBase_EntitySetHandle entity_set, 03326 iBase_TagHandle tag_handle, 03327 iBase_EntityHandle tag_value, 03328 int *err ); 03329 03339 static void iGeom_setEntSetESHData( iGeom_Instance instance, 03340 iBase_EntitySetHandle entity_set, 03341 iBase_TagHandle tag_handle, 03342 iBase_EntitySetHandle tag_value, 03343 int *err ); 03344 03364 static void iGeom_getEntSetData( iGeom_Instance instance, 03365 iBase_EntitySetHandle entity_set_handle, 03366 iBase_TagHandle tag_handle, 03367 void** tag_value, 03368 int* tag_value_allocated, 03369 int* tag_value_size, 03370 int *err ); 03371 03381 static void iGeom_getEntSetIntData( iGeom_Instance instance, 03382 iBase_EntitySetHandle entity_set, 03383 iBase_TagHandle tag_handle, 03384 int *out_data, 03385 int *err ); 03386 03396 static void iGeom_getEntSetDblData( iGeom_Instance instance, 03397 iBase_EntitySetHandle entity_set, 03398 iBase_TagHandle tag_handle, 03399 double *out_data, 03400 int *err ); 03401 03411 static void iGeom_getEntSetEHData( iGeom_Instance instance, 03412 iBase_EntitySetHandle entity_set, 03413 iBase_TagHandle tag_handle, 03414 iBase_EntityHandle *out_data, 03415 int *err ); 03416 03426 static void iGeom_getEntSetESHData( iGeom_Instance instance, 03427 iBase_EntitySetHandle entity_set, 03428 iBase_TagHandle tag_handle, 03429 iBase_EntitySetHandle *out_data, 03430 int *err ); 03431 03444 static void iGeom_getAllEntSetTags( iGeom_Instance instance, 03445 iBase_EntitySetHandle entity_set_handle, 03446 iBase_TagHandle** tag_handles, 03447 int* tag_handles_allocated, 03448 int* tag_handles_size, 03449 int *err ); 03450 03459 static void iGeom_rmvEntSetTag( iGeom_Instance instance, 03460 iBase_EntitySetHandle entity_set_handle, 03461 iBase_TagHandle tag_handle, 03462 int *err ); 03463 03486 static void iGeom_getArrData( iGeom_Instance instance, 03487 const iBase_EntityHandle* entity_handles, 03488 int entity_handles_size, 03489 iBase_TagHandle tag_handle, 03490 void** tag_values, 03491 int* tag_values_allocated, 03492 int* tag_values_size, 03493 int *err ); 03494 03508 static void iGeom_getIntArrData( iGeom_Instance instance, 03509 const iBase_EntityHandle* entity_handles, 03510 int entity_handles_size, 03511 iBase_TagHandle tag_handle, 03512 int** tag_values, 03513 int* tag_values_allocated, 03514 int* tag_values_size, 03515 int *err ); 03516 03530 static void iGeom_getDblArrData( iGeom_Instance instance, 03531 const iBase_EntityHandle* entity_handles, 03532 int entity_handles_size, 03533 iBase_TagHandle tag_handle, 03534 double** tag_values, 03535 int* tag_values_allocated, 03536 int* tag_values_size, 03537 int *err ); 03538 03552 static void iGeom_getEHArrData( iGeom_Instance instance, 03553 const iBase_EntityHandle* entity_handles, 03554 int entity_handles_size, 03555 iBase_TagHandle tag_handle, 03556 iBase_EntityHandle** tag_value, 03557 int* tag_value_allocated, 03558 int* tag_value_size, 03559 int *err ); 03560 03574 static void iGeom_getESHArrData( iGeom_Instance instance, 03575 const iBase_EntityHandle* entity_handles, 03576 int entity_handles_size, 03577 iBase_TagHandle tag_handle, 03578 iBase_EntitySetHandle** tag_value, 03579 int* tag_value_allocated, 03580 int* tag_value_size, 03581 int *err ); 03582 03583 03604 static void iGeom_setArrData( iGeom_Instance instance, 03605 const iBase_EntityHandle* entity_handles, 03606 int entity_handles_size, 03607 iBase_TagHandle tag_handle, 03608 const void* tag_values, 03609 int tag_values_size, 03610 int *err ); 03611 03623 static void iGeom_setIntArrData( iGeom_Instance instance, 03624 const iBase_EntityHandle* entity_handles, 03625 int entity_handles_size, 03626 iBase_TagHandle tag_handle, 03627 const int* tag_values, 03628 int tag_values_size, 03629 int *err ); 03630 03642 static void iGeom_setDblArrData( iGeom_Instance instance, 03643 const iBase_EntityHandle* entity_handles, 03644 int entity_handles_size, 03645 iBase_TagHandle tag_handle, 03646 const double* tag_values, 03647 const int tag_values_size, 03648 int *err ); 03649 03662 static void iGeom_setEHArrData( iGeom_Instance instance, 03663 const iBase_EntityHandle* entity_handles, 03664 int entity_handles_size, 03665 iBase_TagHandle tag_handle, 03666 const iBase_EntityHandle* tag_values, 03667 int tag_values_size, 03668 int *err ); 03669 03682 static void iGeom_setESHArrData( iGeom_Instance instance, 03683 const iBase_EntityHandle* entity_handles, 03684 int entity_handles_size, 03685 iBase_TagHandle tag_handle, 03686 const iBase_EntitySetHandle* tag_values, 03687 int tag_values_size, 03688 int *err ); 03689 03699 static void iGeom_rmvArrTag( iGeom_Instance instance, 03700 const iBase_EntityHandle* entity_handles, 03701 int entity_handles_size, 03702 iBase_TagHandle tag_handle, 03703 int *err ); 03704 03724 static void iGeom_getData( iGeom_Instance instance, 03725 iBase_EntityHandle entity_handle, 03726 iBase_TagHandle tag_handle, 03727 void** tag_value, 03728 int *tag_value_allocated, 03729 int *tag_value_size, 03730 int *err ); 03731 03741 static void iGeom_getIntData( iGeom_Instance instance, 03742 iBase_EntityHandle entity_handle, 03743 iBase_TagHandle tag_handle, 03744 int *out_data, 03745 int *err ); 03746 03756 static void iGeom_getDblData( iGeom_Instance instance, 03757 /*in*/ const iBase_EntityHandle entity_handle, 03758 /*in*/ const iBase_TagHandle tag_handle, 03759 double *out_data, 03760 int *err ); 03761 03771 static void iGeom_getEHData( iGeom_Instance instance, 03772 iBase_EntityHandle entity_handle, 03773 iBase_TagHandle tag_handle, 03774 iBase_EntityHandle *out_data, 03775 int *err ); 03776 03786 static void iGeom_getESHData( iGeom_Instance instance, 03787 iBase_EntityHandle entity_handle, 03788 iBase_TagHandle tag_handle, 03789 iBase_EntitySetHandle *out_data, 03790 int *err ); 03791 03809 static void iGeom_setData( iGeom_Instance instance, 03810 iBase_EntityHandle entity_handle, 03811 iBase_TagHandle tag_handle, 03812 const void* tag_value, 03813 int tag_value_size, 03814 int *err ); 03815 03825 static void iGeom_setIntData( iGeom_Instance instance, 03826 iBase_EntityHandle entity_handle, 03827 iBase_TagHandle tag_handle, 03828 int tag_value, 03829 int *err ); 03830 03840 static void iGeom_setDblData( iGeom_Instance instance, 03841 iBase_EntityHandle entity_handle, 03842 iBase_TagHandle tag_handle, 03843 double tag_value, 03844 int *err ); 03845 03855 static void iGeom_setEHData( iGeom_Instance instance, 03856 iBase_EntityHandle entity_handle, 03857 iBase_TagHandle tag_handle, 03858 iBase_EntityHandle tag_value, 03859 int *err ); 03860 03870 static void iGeom_setESHData( iGeom_Instance instance, 03871 iBase_EntityHandle entity_handle, 03872 iBase_TagHandle tag_handle, 03873 iBase_EntitySetHandle tag_value, 03874 int *err ); 03875 03888 static void iGeom_getAllTags( iGeom_Instance instance, 03889 iBase_EntityHandle entity_handle, 03890 iBase_TagHandle** tag_handles, 03891 int* tag_handles_allocated, 03892 int* tag_handles_size, 03893 int *err ); 03894 03903 static void iGeom_rmvTag( iGeom_Instance instance, 03904 iBase_EntityHandle entity_handle, 03905 iBase_TagHandle tag_handle, 03906 int *err ); 03907 03917 static void iGeom_subtract( iGeom_Instance instance, 03918 iBase_EntitySetHandle entity_set_1, 03919 iBase_EntitySetHandle entity_set_2, 03920 iBase_EntitySetHandle* result_entity_set, 03921 int *err ); 03922 03932 static void iGeom_intersect( iGeom_Instance instance, 03933 iBase_EntitySetHandle entity_set_1, 03934 iBase_EntitySetHandle entity_set_2, 03935 iBase_EntitySetHandle* result_entity_set, 03936 int *err ); 03937 03947 static void iGeom_unite( iGeom_Instance instance, 03948 iBase_EntitySetHandle entity_set_1, 03949 iBase_EntitySetHandle entity_set_2, 03950 iBase_EntitySetHandle* result_entity_set, 03951 int *err ); 03952 03967 static void iGeom_getFacets(iGeom_Instance instance, 03968 iBase_EntityHandle entity, 03969 double dist_tolerance, 03970 double **points, int *points_allocated, int *points_size, 03971 int **facets, int *facets_allocated, int *facets_size, 03972 int *err); 03973 03974 #ifdef __cplusplus 03975 } /* extern "C" */ 03976 #endif 03977 03978 #endif