Back to index

salome-geom  6.5.0
GEOMImpl_Types.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 
00024 // GEOM_Object types
00025 
00026 #define GEOM_COPY    0
00027 #define GEOM_IMPORT  1
00028 
00029 #define GEOM_POINT   2
00030 #define GEOM_VECTOR  3
00031 #define GEOM_PLANE   4
00032 #define GEOM_LINE    5
00033 
00034 #define GEOM_TORUS    6
00035 #define GEOM_BOX      7
00036 #define GEOM_CYLINDER 8
00037 #define GEOM_CONE     9
00038 #define GEOM_SPHERE   10
00039 
00040 #define GEOM_PRISM      11
00041 #define GEOM_REVOLUTION 12
00042 
00043 #define GEOM_BOOLEAN   13
00044 #define GEOM_PARTITION 14
00045 
00046 #define GEOM_POLYLINE 15
00047 #define GEOM_CIRCLE   16
00048 #define GEOM_SPLINE   17
00049 #define GEOM_ELLIPSE  18
00050 #define GEOM_CIRC_ARC 19
00051 
00052 #define GEOM_FILLET    20
00053 #define GEOM_FILLET_2D 45
00054 #define GEOM_FILLET_1D 46
00055 #define GEOM_CHAMFER   21
00056 
00057 #define GEOM_EDGE  22
00058 #define GEOM_WIRE  23
00059 #define GEOM_FACE  24
00060 #define GEOM_SHELL 25
00061 #define GEOM_SOLID 26
00062 #define GEOM_COMPOUND 27
00063 
00064 #define GEOM_SUBSHAPE 28
00065 
00066 #define GEOM_PIPE 29
00067 
00068 #define GEOM_ARCHIMEDE 30
00069 
00070 #define GEOM_FILLING 31
00071 
00072 #define GEOM_EXPLODE 32
00073 
00074 #define GEOM_GLUED 33
00075 
00076 #define GEOM_SKETCHER 34
00077 
00078 #define GEOM_CDG 35
00079 
00080 #define GEOM_FREE_BOUNDS 36
00081 
00082 #define GEOM_GROUP 37
00083 
00084 #define GEOM_BLOCK 38
00085 
00086 #define GEOM_MARKER 39
00087 
00088 #define GEOM_THRUSECTIONS 40
00089 
00090 #define GEOM_COMPOUNDFILTER 41
00091 
00092 #define GEOM_SHAPES_ON_SHAPE 42
00093 
00094 #define GEOM_ELLIPSE_ARC 43
00095 
00096 #define GEOM_3DSKETCHER 44
00097 
00098 #define GEOM_PROJECTION 45
00099 
00100 #define GEOM_EXTRUDED_CUT 46
00101 
00102 #define GEOM_EXTRUDED_BOSS 47
00103 
00104 //GEOM_Function types
00105 
00106 #define COPY_WITH_REF    1
00107 #define COPY_WITHOUT_REF 2
00108 
00109 #define EXPORT_SHAPE 1
00110 #define IMPORT_SHAPE 1
00111 
00112 #define POINT_XYZ                1
00113 #define POINT_XYZ_REF            2
00114 #define POINT_CURVE_PAR          3
00115 #define POINT_LINES_INTERSECTION 4
00116 #define POINT_SURFACE_PAR        5
00117 #define POINT_CURVE_COORD        6
00118 #define POINT_SURFACE_COORD      7
00119 #define POINT_CURVE_LENGTH       8 
00120 
00121 // Vector
00122 #define VECTOR_TWO_PNT  1
00123 #define VECTOR_DX_DY_DZ 2
00124 #define VECTOR_TANGENT_CURVE_PAR 3
00125 #define VECTOR_REVERSE 4
00126 
00127 #define PLANE_PNT_VEC      1
00128 #define PLANE_FACE         2
00129 #define PLANE_THREE_PNT    3
00130 #define PLANE_TANGENT_FACE 4
00131 #define PLANE_2_VEC        5
00132 #define PLANE_LCS          6
00133 
00134 #define LINE_TWO_PNT   1
00135 #define LINE_PNT_DIR   2
00136 #define LINE_TWO_FACES 3
00137 
00138 #define TRANSLATE_TWO_POINTS      1
00139 #define TRANSLATE_VECTOR          2
00140 #define TRANSLATE_VECTOR_DISTANCE 9
00141 #define TRANSLATE_TWO_POINTS_COPY 3
00142 #define TRANSLATE_VECTOR_COPY     4
00143 #define TRANSLATE_1D              5
00144 #define TRANSLATE_2D              6
00145 #define TRANSLATE_XYZ             7
00146 #define TRANSLATE_XYZ_COPY        8
00147 
00148 #define ROTATE                    1
00149 #define ROTATE_COPY               2
00150 #define ROTATE_1D                 3
00151 #define ROTATE_2D                 4
00152 #define ROTATE_THREE_POINTS       5
00153 #define ROTATE_THREE_POINTS_COPY  6
00154 
00155 #define MIRROR_PLANE      1
00156 #define MIRROR_PLANE_COPY 2
00157 #define MIRROR_AXIS       3
00158 #define MIRROR_AXIS_COPY  4
00159 #define MIRROR_POINT      5
00160 #define MIRROR_POINT_COPY 6
00161 
00162 #define OFFSET_SHAPE      1
00163 #define OFFSET_SHAPE_COPY 2
00164 
00165 #define PROJECTION_COPY 1
00166 
00167 #define SCALE_SHAPE      1
00168 #define SCALE_SHAPE_COPY 2
00169 #define SCALE_SHAPE_AXES      3
00170 #define SCALE_SHAPE_AXES_COPY 4
00171 
00172 #define POSITION_SHAPE      1
00173 #define POSITION_SHAPE_COPY 2
00174 #define POSITION_SHAPE_FROM_GLOBAL      3
00175 #define POSITION_SHAPE_FROM_GLOBAL_COPY 4
00176 #define POSITION_ALONG_PATH 5
00177 
00178 #define TORUS_RR         1
00179 #define TORUS_PNT_VEC_RR 2
00180 
00181 #define BOX_DX_DY_DZ  1
00182 #define BOX_TWO_PNT   2
00183 
00184 #define FACE_OBJ_H_W  1
00185 #define FACE_H_W        2
00186 
00187 #define DISK_PNT_VEC_R    1
00188 #define DISK_THREE_PNT    2
00189 #define DISK_R            3
00190 
00191 #define CYLINDER_R_H         1
00192 #define CYLINDER_PNT_VEC_R_H 2
00193 
00194 #define CONE_R1_R2_H         1
00195 #define CONE_PNT_VEC_R1_R2_H 2
00196 
00197 #define SPHERE_R     1
00198 #define SPHERE_PNT_R 2
00199 
00200 #define PRISM_BASE_VEC_H         1
00201 #define PRISM_BASE_TWO_PNT       2
00202 #define PRISM_BASE_VEC_H_2WAYS   3
00203 #define PRISM_BASE_TWO_PNT_2WAYS 4
00204 #define PRISM_BASE_DXDYDZ        5
00205 #define PRISM_BASE_DXDYDZ_2WAYS  6
00206 #define DRAFT_PRISM_FEATURE      7
00207 
00208 #define REVOLUTION_BASE_AXIS_ANGLE       1
00209 #define REVOLUTION_BASE_AXIS_ANGLE_2WAYS 2
00210 
00211 #define PIPE_BASE_PATH 1
00212 #define PIPE_DIFFERENT_SECTIONS 2
00213 #define PIPE_SHELL_SECTIONS 3
00214 #define PIPE_SHELLS_WITHOUT_PATH 4
00215 #define PIPE_BI_NORMAL_ALONG_VECTOR 5
00216 
00217 #define THRUSECTIONS_RULED 1
00218 #define THRUSECTIONS_SMOOTHED 2
00219 
00220 #define BOOLEAN_COMMON  1
00221 #define BOOLEAN_CUT     2
00222 #define BOOLEAN_FUSE    3
00223 #define BOOLEAN_SECTION 4
00224 
00225 #define PARTITION_PARTITION 1
00226 #define PARTITION_HALF      2
00227 #define PARTITION_NO_SELF_INTERSECTIONS 3
00228 
00229 #define POLYLINE_POINTS 1
00230 
00231 #define SPLINE_BEZIER        1
00232 #define SPLINE_INTERPOLATION 2
00233 
00234 #define CIRCLE_THREE_PNT 1
00235 #define CIRCLE_PNT_VEC_R 2
00236 #define CIRCLE_CENTER_TWO_PNT 3
00237 
00238 #define ELLIPSE_PNT_VEC_RR 1
00239 
00240 // Arc
00241 #define CIRC_ARC_THREE_PNT         1
00242 #define CIRC_ARC_CENTER            2
00243 #define ELLIPSE_ARC_CENTER_TWO_PNT 3
00244 
00245 #define FILLET_SHAPE_ALL      1
00246 #define FILLET_SHAPE_EDGES    2
00247 #define FILLET_SHAPE_FACES    3
00248 #define FILLET_SHAPE_EDGES_2R 4
00249 #define FILLET_SHAPE_FACES_2R 5
00250 
00251 #define FILLET_2D_SHAPE_VERTEXES      1
00252 #define FILLET_1D_SHAPE_VERTEXES      1
00253 
00254 #define CHAMFER_SHAPE_ALL      1
00255 #define CHAMFER_SHAPE_EDGE     2
00256 #define CHAMFER_SHAPE_FACES    3
00257 #define CHAMFER_SHAPE_EDGES    4
00258 #define CHAMFER_SHAPE_EDGE_AD  5
00259 #define CHAMFER_SHAPE_FACES_AD 6
00260 #define CHAMFER_SHAPE_EDGES_AD 7
00261 
00262 // Shape creation
00263 #define WIRE_EDGES          1
00264 #define FACE_WIRE           2
00265 #define SHELL_FACES         3
00266 #define SOLID_SHELL         4
00267 #define SOLID_SHELLS        5
00268 #define COMPOUND_SHAPES     6
00269 #define SUBSHAPE_SORTED     7
00270 #define SUBSHAPE_NOT_SORTED 8
00271 #define FACE_WIRES          9
00272 //#define REVERSE_ORIENTATION 10
00273 #define EDGE_WIRE           11
00274 #define EDGE_CURVE_LENGTH   12
00275 
00276 #define ARCHIMEDE_TYPE 1
00277 
00278 // Shape Healing operators
00279 #define SHAPE_PROCESS      1
00280 #define SUPPRESS_FACES     2
00281 #define CLOSE_CONTOUR      3
00282 #define REMOVE_INT_WIRES   4
00283 #define FILL_HOLES         5
00284 #define SEWING             6
00285 #define DIVIDE_EDGE        7
00286 #define CHANGE_ORIENTATION 8
00287 #define LIMIT_TOLERANCE    9
00288 
00289 #define BASIC_FILLING 1
00290 
00291 #define GLUE_FACES         1
00292 #define GLUE_FACES_BY_LIST 2
00293 #define GLUE_EDGES         3
00294 #define GLUE_EDGES_BY_LIST 4
00295 
00296 #define SKETCHER_NINE_DOUBLS 1
00297 #define SKETCHER_PLANE 2
00298 
00299 // Measures
00300 #define CDG_MEASURE 1
00301 #define VECTOR_FACE_NORMALE 4
00302 #define VERTEX_BY_INDEX 5
00303 
00304 #define GROUP_FUNCTION 1
00305 
00306 #define SHAPES_ON_SHAPE 1
00307 
00308 // Curve constructor type
00309 #define POINT_CONSTRUCTOR 0
00310 #define COORD_CONSTRUCTOR 1
00311 
00312 // Blocks
00313 #define BLOCK_FACE_FOUR_PNT       1
00314 #define BLOCK_FACE_FOUR_EDGES     2
00315 #define BLOCK_FACE_TWO_EDGES      3
00316 #define BLOCK_SIX_FACES           4
00317 #define BLOCK_TWO_FACES           5
00318 #define BLOCK_MULTI_TRANSFORM_1D  6
00319 #define BLOCK_MULTI_TRANSFORM_2D  7
00320 #define BLOCK_COMPOUND_GLUE       8
00321 #define BLOCK_REMOVE_EXTRA        9
00322 #define BLOCK_COMPOUND_IMPROVE    10
00323 
00324 // Marker
00325 #define MARKER_CS      1
00326 #define MARKER_SHAPE   2
00327 #define MARKER_PNT2VEC 3
00328 
00329 // Advanced functions (base = 200)
00330 #define ADVANCED_BASE 200  // NO OPERATION (advanced operations base)
00331 #define GEOM_TSHAPE 201
00332 /*@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@*/
00333 // Advanced functions sub-operations codes
00334 #define TSHAPE_BASIC 1
00335 #define TSHAPE_CHAMFER 2
00336 #define TSHAPE_FILLET 3
00337 /*@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@*/