Salome HOME
IMP 23612: EDF 14143 - Compute angle from 3 points
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Operations.h
1 // Copyright (C) 2007-2016  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   : SMESHGUI_Operations.h
20 //  Author : IVAN MECHETIN, Open CASCADE S.A.S. (ivan.mechetin@opencascade.com)
21
22 #ifndef SMESHGUI_OPERATIONS_H
23 #define SMESHGUI_OPERATIONS_H
24
25 namespace SMESHOp {
26   enum {
27     // Tools --------------------------//--------------------------------
28     OpDelete                 = 1000,   // DELETE
29     OpSelectFiltersLibrary   = 1010,   // MENU TOOLS - SELECTION FILTERS LIBRARY
30     OpReset                  = 1020,   // RESET
31     OpScalarBarProperties    = 1021,   // SCALAR BAR PROPERTIES
32     OpShowScalarBar          = 1022,   // SHOW SCALAR BAR
33     OpSaveDistribution       = 1030,   // SAVE DISTRIBUTION
34     OpShowDistribution       = 1031,   // SHOW DISTRIBUTION
35     OpPlotDistribution       = 1032,   // PLOT DISTRIBUTION
36     OpFileInformation        = 1040,   // POPUP MENU - FILE INFORMATION
37     // Import -------------------------//--------------------------------
38     OpImportDAT              = 1100,   // MENU FILE - IMPORT - DAT FILE
39     OpImportUNV              = 1101,   // MENU FILE - IMPORT - UNV FILE
40     OpImportMED              = 1102,   // MENU FILE - IMPORT - MED FILE
41     OpImportSTL              = 1103,   // MENU FILE - IMPORT - STL FILE
42     OpImportCGNS             = 1104,   // MENU FILE - IMPORT - CGNS FILE
43     OpImportSAUV             = 1105,   // MENU FILE - IMPORT - SAUV FILE
44     OpImportGMF              = 1106,   // MENU FILE - IMPORT - GMF FILE
45     OpPopupImportDAT         = 1120,   // POPUP MENU - IMPORT - DAT FILE
46     OpPopupImportUNV         = 1121,   // POPUP MENU - IMPORT - UNV FILE
47     OpPopupImportMED         = 1122,   // POPUP MENU - IMPORT - MED FILE
48     OpPopupImportSTL         = 1123,   // POPUP MENU - IMPORT - STL FILE
49     OpPopupImportCGNS        = 1124,   // POPUP MENU - IMPORT - CGNS FILE
50     OpPopupImportSAUV        = 1125,   // POPUP MENU - IMPORT - SAUV FILE
51     OpPopupImportGMF         = 1126,   // POPUP MENU - IMPORT - GMF FILE
52     // Export -------------------------//--------------------------------
53     OpExportDAT              = 1200,   // MENU FILE  - EXPORT - DAT FILE
54     OpExportMED              = 1201,   // MENU FILE  - EXPORT - MED FILE
55     OpExportUNV              = 1202,   // MENU FILE  - EXPORT - UNV FILE
56     OpExportSTL              = 1203,   // MENU FILE  - EXPORT - STL FILE
57     OpExportCGNS             = 1204,   // MENU FILE  - EXPORT - CGNS FILE
58     OpExportSAUV             = 1205,   // MENU FILE  - EXPORT - SAUV FILE
59     OpExportGMF              = 1206,   // MENU FILE  - EXPORT - GMF FILE
60     OpPopupExportDAT         = 1210,   // POPUP MENU - EXPORT - DAT FILE
61     OpPopupExportMED         = 1211,   // POPUP MENU - EXPORT - MED FILE
62     OpPopupExportUNV         = 1212,   // POPUP MENU - EXPORT - UNV FILE
63     OpPopupExportSTL         = 1213,   // POPUP MENU - EXPORT - STL FILE
64     OpPopupExportCGNS        = 1214,   // POPUP MENU - EXPORT - CGNS FILE
65     OpPopupExportSAUV        = 1215,   // POPUP MENU - EXPORT - SAUV FILE
66     OpPopupExportGMF         = 1216,   // POPUP MENU - EXPORT - GMF FILE
67     // Mesh ---------------------------//--------------------------------
68     OpCreateMesh             = 2030,   // MENU MESH  - CREATE MESH
69     OpCreateSubMesh          = 2031,   // MENU MESH  - CREATE SUBMESH
70     OpEditMeshOrSubMesh      = 2032,   // MENU MESH  - EDIT MESH/SUBMESH
71     OpEditMesh               = 2033,   // POPUP  - EDIT MESH
72     OpEditSubMesh            = 2034,   // POPUP  - EDIT SUBMESH
73     OpBuildCompoundMesh      = 2035,   // MENU MESH  - BUILD COMPOUND
74     OpCopyMesh               = 2036,   // MENU MESH  - COPY MESH
75     OpCompute                = 2040,   // MENU MESH  - COMPUTE
76     OpComputeSubMesh         = 2041,   // POPUP  - COMPUTE SUBMESH
77     OpPreCompute             = 2042,   // MENU MESH  - PREVIEW
78     OpEvaluate               = 2043,   // MENU MESH  - EVALUATE
79     OpMeshOrder              = 2044,   // MENU MESH  - CHANGE SUBMESH PRIORITY
80     OpCreateGroup            = 2050,   // MENU MESH  - CREATE GROUP
81     OpCreateGeometryGroup    = 2051,   // MENU MESH  - CREATE GROUPS FROM GEOMETRY
82     OpConstructGroup         = 2052,   // MENU MESH  - CONSTRUCT GROUP
83     OpEditGroup              = 2053,   // MENU MESH  - EDIT GROUP
84     OpEditGeomGroupAsGroup   = 2054,   // MENU MESH  - EDIT GROUP AS STANDALONE
85     OpUnionGroups            = 2060,   // MENU MESH  - UNION GROUPS
86     OpIntersectGroups        = 2061,   // MENU MESH  - INTERSECT GROUPS
87     OpCutGroups              = 2062,   // MENU MESH  - CUT GROUPS
88     OpGroupUnderlyingElem    = 2070,   // MENU MESH  - GROUP OF UNDERLYING ENTITIES
89     OpFaceGroupsByEdges      = 2071,   // MENU MESH  - FACE GROUPS SEPARATED by EDGES
90     OpEditGroupPopup         = 2080,   // POPUP MENU - EDIT GROUP
91     OpAddElemGroupPopup      = 2081,   // POPUP MENU - ADD ELEMENTS TO GROUP
92     OpRemoveElemGroupPopup   = 2082,   // POPUP MENU - REMOVE ELEMENTS FROM GROUP
93     OpMeshInformation        = 2100,   // MENU MESH  - MESH INFORMATION
94     OpWhatIs                 = 2101,   // MENU MESH  - MESH ELEMENT INFORMATION
95     OpStdInfo                = 2102,   // MENU MESH  - MESH STANDARD INFORMATION
96     OpFindElementByPoint     = 2103,   // MENU MESH  - FIND ELEMENT BY POINT
97     OpUpdate                 = 2200,   // POPUP MENU - UPDATE
98     // Controls -----------------------//--------------------------------
99     OpFreeNode               = 3000,   // MENU CONTROLS - FREE NODES
100     OpEqualNode              = 3001,   // MENU CONTROLS - DOUBLE NODES
101     OpNodeConnectivityNb     = 3002,   // MENU CONTROLS - NODE CONNECTIVITY NUMBER
102     OpFreeEdge               = 3100,   // MENU CONTROLS - FREE EDGES
103     OpFreeBorder             = 3101,   // MENU CONTROLS - FREE BORDERS
104     OpLength                 = 3102,   // MENU CONTROLS - LENGTH
105     OpConnection             = 3103,   // MENU CONTROLS - DOUBLE NODES
106     OpEqualEdge              = 3104,   // MENU CONTROLS - BORDERS AT MULTICONNECTION
107     OpFreeFace               = 3200,   // MENU CONTROLS - FREE FACES
108     OpBareBorderFace         = 3201,   // MENU CONTROLS - FACES WITH BARE BORDER
109     OpOverConstrainedFace    = 3202,   // MENU CONTROLS - OVERCONSTRAINED FACES
110     OpLength2D               = 3203,   // MENU CONTROLS - LENGTH 2D
111     OpConnection2D           = 3204,   // MENU CONTROLS - BORDERS ON MULTICONNECTION 2D
112     OpArea                   = 3205,   // MENU CONTROLS - AREA
113     OpTaper                  = 3206,   // MENU CONTROLS - TAPER
114     OpAspectRatio            = 3207,   // MENU CONTROLS - ASPECT RATIO
115     OpMinimumAngle           = 3208,   // MENU CONTROLS - MINIMUM ANGLE
116     OpWarpingAngle           = 3209,   // MENU CONTROLS - WARPING ANGLE
117     OpSkew                   = 3210,   // MENU CONTROLS - SKEW
118     OpMaxElementLength2D     = 3211,   // MENU CONTROLS - ELEMENT DIAMETER 2D
119     OpEqualFace              = 3212,   // MENU CONTROLS - DOUBLE FACES
120     OpDeflection2D           = 3213,   // MENU CONTROLS - DEFLECTION 2D
121     OpAspectRatio3D          = 3300,   // MENU CONTROLS - ASPECT RATIO 3D
122     OpVolume                 = 3301,   // MENU CONTROLS - VOLUME
123     OpMaxElementLength3D     = 3302,   // MENU CONTROLS - ELEMENT DIAMETER 3D
124     OpBareBorderVolume       = 3303,   // MENU CONTROLS - VOLUMES WITH BARE BORDER
125     OpOverConstrainedVolume  = 3304,   // MENU CONTROLS - OVERCONSTRAINED VOLUMES
126     OpEqualVolume            = 3305,   // MENU CONTROLS - DOUBLE VOLUMES
127     OpOverallMeshQuality     = 3400,   // MENU CONTROLS - OVERALL MESH QUALITY
128     // Modification -------------------//--------------------------------
129     OpNode                   = 4000,   // MENU MODIFICATION - ADD - NODE
130     OpElem0D                 = 4001,   // MENU MODIFICATION - ADD - 0D ELEMENT
131     OpElem0DOnElemNodes      = 4002,   // MENU MODIFICATION - ADD - 0D ELEMENTS ON ELEMENT NODES
132     OpBall                   = 4003,   // MENU MODIFICATION - ADD - BALL
133     OpEdge                   = 4004,   // MENU MODIFICATION - ADD - EDGE
134     OpTriangle               = 4005,   // MENU MODIFICATION - ADD - TRIANGLE
135     OpQuadrangle             = 4006,   // MENU MODIFICATION - ADD - QUADRANGLE
136     OpPolygon                = 4007,   // MENU MODIFICATION - ADD - POLYGON
137     OpTetrahedron            = 4008,   // MENU MODIFICATION - ADD - TETRAHEDRON
138     OpHexahedron             = 4009,   // MENU MODIFICATION - ADD - HEXAHEDRON
139     OpPentahedron            = 4010,   // MENU MODIFICATION - ADD - PENTAHEDRON
140     OpPyramid                = 4011,   // MENU MODIFICATION - ADD - PYRAMID
141     OpHexagonalPrism         = 4012,   // MENU MODIFICATION - ADD - HEXAGONAL PRISM
142     OpPolyhedron             = 4013,   // MENU MODIFICATION - ADD - POLYHEDRON
143     OpQuadraticEdge          = 4100,   // MENU MODIFICATION - ADD - QUADRATIC EDGE
144     OpQuadraticTriangle      = 4101,   // MENU MODIFICATION - ADD - QUADRATIC TRIANGLE
145     OpBiQuadraticTriangle    = 4102,   // MENU MODIFICATION - ADD - BIQUADRATIC TRIANGLE
146     OpQuadraticQuadrangle    = 4103,   // MENU MODIFICATION - ADD - QUADRATIC QUADRANGLE
147     OpBiQuadraticQuadrangle  = 4104,   // MENU MODIFICATION - ADD - BIQUADRATIC QUADRANGLE
148     OpQuadraticTetrahedron   = 4105,   // MENU MODIFICATION - ADD - QUADRATIC TETRAHEDRON
149     OpQuadraticPyramid       = 4106,   // MENU MODIFICATION - ADD - QUADRATIC PYRAMID
150     OpQuadraticPentahedron   = 4107,   // MENU MODIFICATION - ADD - QUADRATIC PENTAHEDRON
151     OpBiQuadraticPentahedron = 4108,   // MENU MODIFICATION - ADD - BIQUADRATIC PENTAHEDRON
152     OpQuadraticHexahedron    = 4110,   // MENU MODIFICATION - ADD - QUADRATIC HEXAHEDRON
153     OpTriQuadraticHexahedron = 4111,   // MENU MODIFICATION - ADD - TRIQUADRATIC HEXAHEDRON
154     OpQuadraticPolygon       = 4112,   // MENU MODIFICATION - ADD - QUADRATIC POLYGON
155     OpRemoveNodes            = 4200,   // MENU MODIFICATION - REMOVE - NODE
156     OpRemoveElements         = 4201,   // MENU MODIFICATION - REMOVE - ELEMENTS
157     OpRemoveOrphanNodes      = 4202,   // MENU MODIFICATION - REMOVE - ORPHAN NODES
158     OpDeleteGroup            = 4210,   // MENU MODIFICATION - REMOVE - DELETE GROUPS WITH CONTENTS
159     OpClearMesh              = 4220,   // MENU MODIFICATION - REMOVE - CLEAR MESH DATA
160     OpRenumberingNodes       = 4300,   // MENU MODIFICATION - RENUMBERING - NODES
161     OpRenumberingElements    = 4301,   // MENU MODIFICATION - RENUMBERING - ELEMENTS
162     OpTranslation            = 4400,   // MENU MODIFICATION - TRANSFORMATION - TRANSLATION
163     OpRotation               = 4401,   // MENU MODIFICATION - TRANSFORMATION - ROTATION
164     OpSymmetry               = 4402,   // MENU MODIFICATION - TRANSFORMATION - SYMMETRY
165     OpScale                  = 4403,   // MENU MODIFICATION - TRANSFORMATION - SCALE TRANSFORM
166     OpSewing                 = 4404,   // MENU MODIFICATION - TRANSFORMATION - SEWING
167     OpMergeNodes             = 4405,   // MENU MODIFICATION - TRANSFORMATION - MERGE NODES
168     OpMergeElements          = 4406,   // MENU MODIFICATION - TRANSFORMATION - MERGE ELEMENTS
169     OpDuplicateNodes         = 4407,   // MENU MODIFICATION - TRANSFORMATION - DUPLICATE NODES OR/AND ELEMENTS
170     OpOffset                 = 4408,   // MENU MODIFICATION - TRANSFORMATION - OFFSET
171     OpMoveNode               = 4500,   // MENU MODIFICATION - MOVE NODE
172     OpDiagonalInversion      = 4501,   // MENU MODIFICATION - DIAGONAL INVERSION
173     OpUnionOfTwoTriangle     = 4502,   // MENU MODIFICATION - UNION OF TWO TRIANGLE
174     OpOrientation            = 4503,   // MENU MODIFICATION - ORIENTATION
175     OpReorientFaces          = 4504,   // MENU MODIFICATION - REORIENT FACES BY VECTOR
176     OpUnionOfTriangles       = 4505,   // MENU MODIFICATION - UNION OF TRIANGLES
177     OpCuttingOfQuadrangles   = 4506,   // MENU MODIFICATION - CUTTING OF QUADRANGLES
178     OpSplitVolumes           = 4507,   // MENU MODIFICATION - SPLIT VOLUMES
179     OpSmoothing              = 4508,   // MENU MODIFICATION - SMOOTHING
180     OpExtrusion              = 4509,   // MENU MODIFICATION - EXTRUSION
181     OpExtrusionAlongAPath    = 4510,   // MENU MODIFICATION - EXTRUSION ALONG A PATH
182     OpRevolution             = 4511,   // MENU MODIFICATION - REVOLUTION
183     OpPatternMapping         = 4512,   // MENU MODIFICATION - PATTERN MAPPING
184     OpConvertMeshToQuadratic = 4513,   // MENU MODIFICATION - CONVERT TO/FROM QUADRATIC
185     OpCreateBoundaryElements = 4514,   // MENU MODIFICATION - CREATE BOUNDARY ELEMENTS
186     OpSplitBiQuadratic       = 4515,   // MENU MODIFICATION - SPLIT BI-QUADRATIC TO LINEAR
187     // Measurements -------------------//--------------------------------
188     OpPropertiesLength       = 5000,   // MENU MEASUREMENTS - BASIC PROPERTIES - LENGTH
189     OpPropertiesArea         = 5001,   // MENU MEASUREMENTS - BASIC PROPERTIES - AREA
190     OpPropertiesVolume       = 5002,   // MENU MEASUREMENTS - BASIC PROPERTIES - VOLUME
191     OpMinimumDistance        = 5003,   // MENU MEASUREMENTS - MINIMUM DISTANCE
192     OpBoundingBox            = 5004,   // MENU MEASUREMENTS - BOUNDING BOX
193     OpAngle                  = 5005,   // MENU MEASUREMENTS - ANGLE
194     // Hypothesis ---------------------//--------------------------------
195     OpEditHypothesis         = 6000,   // POPUP MENU - EDIT HYPOTHESIS
196     OpUnassign               = 6001,   // POPUP MENU - UNASSIGN
197     // Numbering ----------------------//--------------------------------
198     OpNumberingNodes         = 6010,   // POPUP MENU - NUMBERING - DISPLAY NODES
199     OpNumberingElements      = 6011,   // POPUP MENU - NUMBERING - DISPLAY ELEMENTS
200     // AutoColor ----------------------//--------------------------------
201     OpAutoColor              = 6020,   // POPUP MENU - AUTO COLOR
202     OpDisableAutoColor       = 6021,   // POPUP MENU - DISABLE AUTO COLOR
203     // DisplayMode --------------------//--------------------------------
204     OpDMWireframe            = 6030,   // POPUP MENU - DISPLAY MODE - WIREFRAME
205     OpDMShading              = 6031,   // POPUP MENU - DISPLAY MODE - SHADING
206     OpDMNodes                = 6032,   // POPUP MENU - DISPLAY MODE - NODES
207     OpDMShrink               = 6033,   // POPUP MENU - DISPLAY MODE - SHRINK
208     // DisplayEntity ------------------//--------------------------------
209     OpDE0DElements           = 6040,   // POPUP MENU - DISPLAY ENTITY - 0D ELEMENTS
210     OpDEEdges                = 6041,   // POPUP MENU - DISPLAY ENTITY - EDGES
211     OpDEFaces                = 6042,   // POPUP MENU - DISPLAY ENTITY - FACES
212     OpDEVolumes              = 6043,   // POPUP MENU - DISPLAY ENTITY - VOLUMES
213     OpDEBalls                = 6044,   // POPUP MENU - DISPLAY ENTITY - BALLS
214     OpDEAllEntity            = 6045,   // POPUP MENU - DISPLAY ENTITY - ALL ENTITIES
215     OpDEChoose               = 6046,   // POPUP MENU - DISPLAY ENTITY - CHOOSE ENTITIES
216     // Representation -----------------//--------------------------------
217     OpRepresentationLines    = 6050,   // POPUP MENU - 2D QUADRATIC - LINES
218     OpRepresentationArcs     = 6051,   // POPUP MENU - 2D QUADRATIC - ARCS
219     // OrientationOnFaces -------------//--------------------------------
220     OpOrientationOnFaces     = 6060,   // POPUP MENU - ORIENTATION ON FACES
221     // PropertiesGUI ------------------//--------------------------------
222     OpProperties             = 6070,   // POPUP MENU - PROPERTIES
223     // Transparency -------------------//--------------------------------
224     OpTransparency           = 6080,   // POPUP MENU - TRANSPARENCY
225     // Display ------------------------//--------------------------------
226     OpShow                   = 6090,   // POPUP MENU - SHOW
227     OpHide                   = 6091,   // POPUP MENU - HIDE
228     OpShowOnly               = 6092,   // POPUP MENU - SHOW ONLY
229     // Clipping -----------------------//--------------------------------
230     OpClipping               = 6100,   // POPUP MENU - CLIPPING
231     // SortChild ----------------------//--------------------------------
232     OpSortChild              = 6110,   // POPUP MENU - SORT CHILDREN
233     // Advanced -----------------------//--------------------------------
234     OpAdvancedNoOp           = 10000,  // NO OPERATION (advanced operations base)
235     //@@ insert new functions before this line @@ do not remove this line @@//
236     OpLastOperationID        = 20000   // DO NOT USE OPERATION IDs MORE THAN 20000 !!!
237   };
238 }
239
240 #endif // SMESHGUI_OPERATIONS_H