cgma
iGeom_private.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines