Salome HOME
4d6f1ba0889e219af973ae5b52f63f9d205f9458
[modules/geom.git] / src / GEOMGUI / GeometryGUI_Operations.h
1 // Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 //  File   : GeometryGUI_Operations.h
20 //  Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
21
22 #ifndef GEOMETRYGUI_OPERATIONS_H
23 #define GEOMETRYGUI_OPERATIONS_H
24
25 namespace GEOMOp {
26   enum {
27     // ToolsGUI --------------------//--------------------------------
28     OpDelete              = 1020,   // MENU EDIT  - DELETE
29 #ifndef DISABLE_PYCONSOLE
30     OpCheckGeom           = 1030,   // MENU TOOLS - CHECK GEOMETRY
31 #endif
32     OpMaterialsLibrary    = 1040,   // MENU TOOLS - MATERIALS LIBRARY
33     OpSelectVertex        = 1100,   // POPUP MENU - SELECT ONLY - VERTEX
34     OpSelectEdge          = 1101,   // POPUP MENU - SELECT ONLY - EDGE
35     OpSelectWire          = 1102,   // POPUP MENU - SELECT ONLY - WIRE
36     OpSelectFace          = 1103,   // POPUP MENU - SELECT ONLY - FACE
37     OpSelectShell         = 1104,   // POPUP MENU - SELECT ONLY - SHELL
38     OpSelectSolid         = 1105,   // POPUP MENU - SELECT ONLY - SOLID
39     OpSelectCompound      = 1106,   // POPUP MENU - SELECT ONLY - COMPOUND
40     OpSelectAll           = 1107,   // POPUP MENU - SELECT ONLY - SELECT ALL
41     OpDeflection          = 1200,   // POPUP MENU - DEFLECTION COEFFICIENT
42     OpColor               = 1201,   // POPUP MENU - COLOR
43     OpTransparency        = 1202,   // POPUP MENU - TRANSPARENCY
44     OpIncrTransparency    = 1203,   // SHORTCUT   - INCREASE TRANSPARENCY
45     OpDecrTransparency    = 1204,   // SHORTCUT   - DECREASE TRANSPARENCY
46     OpIsos                = 1205,   // POPUP MENU - ISOS
47     OpIncrNbIsos          = 1206,   // SHORTCUT   - INCREASE NB ISOS
48     OpDecrNbIsos          = 1207,   // SHORTCUT   - DECREASE NB ISOS
49     OpAutoColor           = 1208,   // POPUP MENU - AUTO COLOR
50     OpNoAutoColor         = 1209,   // POPUP MENU - DISABLE AUTO COLOR
51     OpPointMarker         = 1210,   // POPUP MENU - POINT MARKER
52     OpSetTexture          = 1211,   // POPUP MENU - SETTEXTURE
53     OpMaterialProperties  = 1212,   // POPUP MENU - MATERIAL PROPERTIES
54     OpMaterialMenu        = 1213,   // POPUP MENU - MATERIAL PROPERTIES (sub-menu)
55     OpPredefMaterial      = 1214,   // POPUP MENU - MATERIAL PROPERTIES (sub-menu) - <SOME MATERIAL>
56     OpPredefMaterCustom   = 1215,   // POPUP MENU - MATERIAL PROPERTIES (sub-menu) - CUSTOM...
57     OpDiscloseChildren    = 1250,   // POPUP MENU - DISCLOSE CHILD ITEMS
58     OpConcealChildren     = 1251,   // POPUP MENU - CONCEAL CHILD ITEMS
59     OpUnpublishObject     = 1253,   // POPUP MENU - UNPUBLISH
60     OpPublishObject       = 1254,   // GEOM ROOT OBJECT - POPUP MENU - PUBLISH
61     OpEdgeWidth           = 1260,   // POPUP MENU - LINE WIDTH - EDGE WIDTH
62     OpIsosWidth           = 1261,   // POPUP MENU - LINE WIDTH - ISOS WIDTH
63     OpCreateFolder        = 1262,   // POPUP MENU - CREATE FOLDER
64     OpSortChildren        = 1263,   // POPUP MENU - SORT CHILD ITEMS
65 #ifndef DISABLE_GRAPHICSVIEW
66     OpShowDependencyTree  = 1264,   // POPUP MENU - SHOW DEPENDENCY TREE
67 #endif
68     OpReduceStudy         = 1265,   // POPUP MENU - REDUCE STUDY
69     // DisplayGUI ------------------//--------------------------------
70     OpSwitchVectors       = 2001,   // MENU VIEW  - DISPLAY MODE - SHOW/HIDE EDGE DIRECTION
71     OpShowAll             = 2002,   // MENU VIEW  - SHOW ALL
72     OpHideAll             = 2003,   // MENU VIEW  - HIDE ALL
73     OpDMWireframe         = 2010,   // MENU VIEW  - DISPLAY MODE - WIREFRAME
74     OpDMShading           = 2011,   // MENU VIEW  - DISPLAY MODE - SHADING
75     OpDMShadingWithEdges  = 2012,   // MENU VIEW  - DISPLAY MODE - SHADING WITH EDGES
76     OpDMTexture           = 2013,   // MENU VIEW  - DISPLAY MODE - TEXTURE
77     OpSwitchVertices      = 2014,   // MENU VIEW  - DISPLAY MODE - SHOW/HIDE VERTICES
78     OpSwitchName          = 2015,   // MENU VIEW  - DISPLAY MODE - SHOW/HIDE NAME
79     OpShow                = 2100,   // POPUP MENU - SHOW
80     OpShowOnly            = 2101,   // POPUP MENU - SHOW ONLY
81     OpHide                = 2102,   // POPUP MENU - HIDE
82     OpShowOnlyChildren    = 2103,   // POPUP MENU - SHOW ONLY CHILDREN
83     OpWireframe           = 2200,   // POPUP MENU - DISPLAY MODE - WIREFRAME
84     OpShading             = 2201,   // POPUP MENU - DISPLAY MODE - SHADING
85     OpShadingWithEdges    = 2202,   // POPUP MENU - DISPLAY MODE - SHADING WITH EDGES
86     OpVectors             = 2203,   // POPUP MENU - DISPLAY MODE - SHOW EDGE DIRECTION
87     OpTexture             = 2204,   // POPUP MENU - DISPLAY MODE - TEXTURE
88     OpBringToFront        = 2205,   // POPUP MENU - BRING TO FRONT
89     OpClsBringToFront     = 2206,
90     OpVertices            = 2208,   // POPUP MENU - DISPLAY MODE - SHOW VERTICES
91     OpShowName            = 2209,   // POPUP MENU - DISPLAY MODE - SHOW NAME
92     // BasicGUI --------------------//--------------------------------
93     OpPoint               = 3000,   // MENU NEW ENTITY - BASIC - POINT
94     OpLine                = 3001,   // MENU NEW ENTITY - BASIC - LINE
95     OpCircle              = 3002,   // MENU NEW ENTITY - BASIC - CIRCLE
96     OpEllipse             = 3003,   // MENU NEW ENTITY - BASIC - ELLIPSE
97     OpArc                 = 3004,   // MENU NEW ENTITY - BASIC - ARC
98     OpVector              = 3005,   // MENU NEW ENTITY - BASIC - VECTOR
99     OpPlane               = 3006,   // MENU NEW ENTITY - BASIC - PLANE
100     OpCurve               = 3007,   // MENU NEW ENTITY - BASIC - CURVE
101     OpLCS                 = 3008,   // MENU NEW ENTITY - BASIC - LOCAL COORDINATE SYSTEM
102     OpOriginAndVectors    = 3009,   // MENU NEW ENTITY - BASIC - ORIGIN AND BASE VECTORS
103     OpIsoline             = 3010,   // MENU NEW ENTITY - BASIC - ISOLINE
104     OpSurfaceFromFace     = 3011,   // MENU NEW ENTITY - BASIC - SURFACE FROM FACE
105     // PrimitiveGUI ----------------//--------------------------------
106     OpBox                 = 3100,   // MENU NEW ENTITY - PRIMITIVES - BOX
107     OpCylinder            = 3101,   // MENU NEW ENTITY - PRIMITIVES - CYLINDER
108     OpSphere              = 3102,   // MENU NEW ENTITY - PRIMITIVES - SPHERE
109     OpTorus               = 3103,   // MENU NEW ENTITY - PRIMITIVES - TORUS
110     OpCone                = 3104,   // MENU NEW ENTITY - PRIMITIVES - CONE
111     OpRectangle           = 3105,   // MENU NEW ENTITY - PRIMITIVES - FACE
112     OpDisk                = 3106,   // MENU NEW ENTITY - PRIMITIVES - DISK
113     // GenerationGUI ---------------//--------------------------------
114     OpPrism               = 3200,   // MENU NEW ENTITY - GENERATION - EXTRUSION
115     OpRevolution          = 3201,   // MENU NEW ENTITY - GENERATION - REVOLUTION
116     OpFilling             = 3202,   // MENU NEW ENTITY - GENERATION - FILLING
117     OpPipe                = 3203,   // MENU NEW ENTITY - GENERATION - EXTRUSION ALONG PATH
118     OpPipePath            = 3204,   // MENU NEW ENTITY - GENERATION - RESTORE PATH
119     OpThickness           = 3205,   // MENU NEW ENTITY - GENERATION - THICKNESS
120     // EntityGUI -------------------//--------------------------------
121     Op2dSketcher          = 3300,   // MENU NEW ENTITY - SKETCHER
122     Op3dSketcher          = 3301,   // MENU NEW ENTITY - 3D SKETCHER
123     OpExplode             = 3302,   // MENU NEW ENTITY - EXPLODE
124 #ifdef WITH_OPENCV
125     OpFeatureDetect       = 3303,   // MENU NEW ENTITY - FEATURE DETECTION
126 #endif
127     OpPictureImport       = 3304,   // MENU NEW ENTITY - IMPORT PICTURE IN VIEWER
128     OpCreateField         = 3305,   // MENU FIELD - CREATE FIELD
129     OpEditField           = 3306,   // MENU FIELD - EDIT FIELD
130     OpEditFieldPopup      = 3307,   // POPUP MENU - EDIT FIELD
131     Op2dPolylineEditor    = 3308,   // MENU NEW ENTITY - BASIC - POLYLINE EDITOR
132     // BuildGUI --------------------//--------------------------------
133     OpEdge                = 3400,   // MENU NEW ENTITY - BUILD - EDGE
134     OpWire                = 3401,   // MENU NEW ENTITY - BUILD - WIRE
135     OpFace                = 3402,   // MENU NEW ENTITY - BUILD - FACE
136     OpShell               = 3403,   // MENU NEW ENTITY - BUILD - SHELL
137     OpSolid               = 3404,   // MENU NEW ENTITY - BUILD - SOLID
138     OpCompound            = 3405,   // MENU NEW ENTITY - BUILD - COMPOUND
139     // BooleanGUI ------------------//--------------------------------
140     OpFuse                = 3500,   // MENU OPERATIONS - BOOLEAN - FUSE
141     OpCommon              = 3501,   // MENU OPERATIONS - BOOLEAN - COMMON
142     OpCut                 = 3502,   // MENU OPERATIONS - BOOLEAN - CUT
143     OpSection             = 3503,   // MENU OPERATIONS - BOOLEAN - SECTION
144     // TransformationGUI -----------//--------------------------------
145     OpTranslate           = 3600,   // MENU OPERATIONS - TRANSFORMATION - TRANSLATION
146     OpRotate              = 3601,   // MENU OPERATIONS - TRANSFORMATION - ROTATION
147     OpChangeLoc           = 3602,   // MENU OPERATIONS - TRANSFORMATION - LOCATION
148     OpMirror              = 3603,   // MENU OPERATIONS - TRANSFORMATION - MIRROR
149     OpScale               = 3604,   // MENU OPERATIONS - TRANSFORMATION - SCALE
150     OpOffset              = 3605,   // MENU OPERATIONS - TRANSFORMATION - OFFSET
151     OpMultiTranslate      = 3606,   // MENU OPERATIONS - TRANSFORMATION - MULTI-TRANSLATION
152     OpMultiRotate         = 3607,   // MENU OPERATIONS - TRANSFORMATION - MULTI-ROTATION
153     OpReimport            = 3608,   // POPUP MENU - RELOAD IMPORTED
154     OpProjection          = 3609,   // MENU OPERATIONS - TRANSFORMATION - PROJECTION
155     OpExtension           = 3610,   // MENU OPERATIONS - TRANSFORMATION - EXTENSION
156     OpProjOnCyl           = 3611,   // MENU OPERATIONS - TRANSFORMATION - PROJECTION ON CYLINDER
157     // OperationGUI ----------------//--------------------------------
158     OpPartition           = 3700,   // MENU OPERATION - PARTITION
159     OpArchimede           = 3701,   // MENU OPERATION - ARCHIMEDE
160     OpFillet3d            = 3702,   // MENU OPERATION - FILLET
161     OpChamfer             = 3703,   // MENU OPERATION - CHAMFER
162     OpShapesOnShape       = 3704,   // MENU OPERATION - GET SHAPES ON SHAPE
163     OpFillet2d            = 3705,   // MENU OPERATION - FILLET 2D
164     OpFillet1d            = 3706,   // MENU OPERATION - FILLET 1D
165     OpSharedShapes        = 3708,   // MENU OPERATION - GET SHARED SHAPES
166     OpExtrudedBoss        = 3709,   // MENU OPERATION - ETRUDED BOSS
167     OpExtrudedCut         = 3710,   // MENU OPERATION - ETRUDED CUT
168     OpTransferData        = 3711,   // MENU OPERATION - TRANSFER DATA
169     OpExtraction          = 3712,   // MENU OPERATION - EXTRACT AND REBUILD
170     // RepairGUI -------------------//--------------------------------
171     OpSewing              = 4000,   // MENU REPAIR - SEWING
172     OpSuppressFaces       = 4001,   // MENU REPAIR - SUPPRESS FACES
173     OpSuppressHoles       = 4002,   // MENU REPAIR - SUPPRESS HOLES
174     OpShapeProcess        = 4003,   // MENU REPAIR - SHAPE PROCESSING
175     OpCloseContour        = 4004,   // MENU REPAIR - CLOSE CONTOUR
176     OpRemoveIntWires      = 4005,   // MENU REPAIR - REMOVE INTERNAL WIRES
177     OpAddPointOnEdge      = 4006,   // MENU REPAIR - ADD POINT ON EDGE
178     OpFreeBoundaries      = 4007,   // MENU MEASURES - FREE BOUNDARIES
179     OpFreeFaces           = 4008,   // MENU MEASURES - FREE FACES
180     OpOrientation         = 4009,   // MENU REPAIR - CHANGE ORIENTATION
181     OpGlueFaces           = 4010,   // MENU REPAIR - GLUE FACES
182     OpRemoveExtraEdges    = 4011,   // MENU REPAIR - REMOVE EXTRA EDGES
183     OpLimitTolerance      = 4012,   // MENU REPAIR - LIMIT TOLERANCE
184     OpGlueEdges           = 4013,   // MENU REPAIR - GLUE EDGES
185     OpFuseEdges           = 4014,   // MENU REPAIR - FUSE COLLINEAR EDGES
186     OpUnionFaces          = 4015,   // MENU REPAIR - UNION FACES
187     OpRemoveWebs          = 4016,   // MENU REPAIR - REMOVE INTERNAL FACES
188     // MeasureGUI ------------------//--------------------------------
189     OpProperties          = 5000,   // MENU MEASURES - PROPERTIES
190     OpCenterMass          = 5001,   // MENU MEASURES - CENTRE OF MASS
191     OpInertia             = 5002,   // MENU MEASURES - INERTIA
192     OpNormale             = 5003,   // MENU MEASURES - NORMALE
193     OpBoundingBox         = 5004,   // MENU MEASURES - BOUNDING BOX
194     OpMinDistance         = 5005,   // MENU MEASURES - MIN DISTANCE
195     OpAngle               = 5006,   // MENU MEASURES - ANGLE
196     OpTolerance           = 5007,   // MENU MEASURES - TOLERANCE
197     OpWhatIs              = 5008,   // MENU MEASURES - WHAT IS
198     OpCheckShape          = 5009,   // MENU MEASURES - CHECK
199     OpCheckCompound       = 5010,   // MENU MEASURES - CHECK COMPOUND OF BLOCKS
200     OpPointCoordinates    = 5011,   // MENU MEASURES - POINT COORDINATES
201     OpCheckSelfInters     = 5012,   // MENU MEASURES - CHECK SELF INTERSECTIONS
202     OpGetNonBlocks        = 5013,   // MENU MEASURES - GET NON BLOCKS
203     OpManageDimensions    = 5014,   // MENU MEASURES - MANAGE DIMENSIONS
204     OpShowAllDimensions   = 5015,   // POPUP MENU - SHOW ALL DIMENSIONS
205     OpHideAllDimensions   = 5016,   // POPUP MENU - HIDE ALL DIMENSIONS
206     OpFastCheckInters     = 5017,   // MENU MEASURES - FAST CHECK INTERSECTIONS
207     OpInspectObj          = 5018,       // MENU MEASURES - INSPECT OBJECT
208 #ifndef DISABLE_PLOT2DVIEWER
209     OpShapeStatistics     = 5019,   // MENU MEASURES - SHAPE STATISTICS
210 #endif
211     OpAnnotation          = 5020,   // MENU MEASURES - ANNOTATION
212     OpEditAnnotation      = 5021,   // POPUP MENU - EDIT ANNOTATION
213     OpShowAllAnnotations  = 5022,   // POPUP MENU - SHOW ALL ANNOTATIONS
214     OpHideAllAnnotations  = 5023,   // POPUP MENU - HIDE ALL ANNOTATIONS
215     OpDeleteAnnotation    = 5024,   // POPUP MENU - DELETE ANNOTATION
216     // GroupGUI --------------------//--------------------------------
217     OpGroupCreate         = 6000,   // MENU GROUP - CREATE
218     OpGroupEdit           = 6001,   // MENU GROUP - EDIT
219     OpGroupCreatePopup    = 6002,   // POPUP MENU - CREATE GROUP
220     OpGroupUnion          = 6003,   // POPUP MENU - UNION GROUPS
221     OpGroupIntersect      = 6004,   // POPUP MENU - INTERSECT GROUPS
222     OpGroupCut            = 6005,   // POPUP MENU - CUT GROUPS
223     // BlocksGUI -------------------//--------------------------------
224     OpHexaSolid           = 6100,   // MENU BLOCKS - HEXAHEDRAL SOLID
225     OpMultiTransform      = 6101,   // MENU BLOCKS - MULTI-TRANSFORMATION
226     OpQuadFace            = 6102,   // MENU BLOCKS - QUADRANGLE FACE
227     OpPropagate           = 6103,   // MENU BLOCKS - PROPAGATE
228     OpExplodeBlock        = 6104,   // MENU BLOCKS - EXPLODE ON BLOCKS
229     // AdvancedGUI -----------------//--------------------------------
230     OpAdvancedNoOp        = 10000,  // NO OPERATION (advanced operations base)
231     //OpPipeTShape          = 10001,  // MENU NEW ENTITY - ADVANCED - PIPE TSHAPE
232     //OpPipeTShapeGroups    = 10002,  // MENU NEW ENTITY - ADVANCED - PIPE TSHAPE GROUPS
233     //OpDividedDisk         = 10003,  // MENU NEW ENTITY - ADVANCED - DIVIDEDDISK
234     //OpDividedCylinder     = 10004,  // MENU NEW ENTITY - ADVANCED - DIVIDEDCYLINDER
235     //OpSmoothingSurface    = 10005,  // MENU NEW ENTITY - ADVANCED - SMOOTHINGSURFACE
236     //@@ insert new functions before this line @@ do not remove this line @@//
237     OpLastOperationID     = 20000   // DO NOT USE OPERATION IDs MORE THAN 20000 !!!
238   };
239 }
240
241 #endif // GEOMETRYGUI_OPERATIONS_H