OpenLexocad  27.1
Enums.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef END_OF_LOOP
4 #define END_OF_LOOP -2
5 #endif
6 
7 #ifndef END_OF_FACE
8 #define END_OF_FACE -1
9 #endif
10 
11 #undef DOOR
12 #define UNUSED(expr) \
13  do \
14  { \
15  (void)(expr); \
16  } while (0)
17 
18 namespace Base
19 {
20 class String;
21 }
22 
23 namespace Base
24 {
26 // //
27 // --------------------- BEGIN API --------------------- //
28 // //
29 // ATTENTION: DO NOT CHANGE ANY SIGNATURES IN THE API ! //
30 // //
32 
33 
34 
35 enum class FillingType
36 {
37  NOFILLING,
38  WINDOW,
39  DOOR
40 };
41 
42 enum class OpeningType // !!!!!! NEW ENTRIES MUST BE AT THE END, BECAUSE OF SAVING AS INT !!!!!!!
43 {
44  WALL,
45  RECTANGLE = 0,
46  TRAPEZOID,
47  ARCHED,
48  OCTAGON,
49  TRIANGLE,
50  CIRCLE_WIN,
52  SEMICIRCLE,
54  DOOR,
55  GARAGEDOOR,
56  FLOOR, // for Openings
57  ROOF, // for Openings
58  GENERAL, // for Openings
59  TYPE_FOR_COPY, // fast solution
60  ARCHDOOR,
61  ARCHTOP,
62  PENTAGON,
65 };
66 
67 enum class PurposeGroup // because Doors are divided to user groups according e.g. directories with textures
68 {
69  DOOR,
70  GARAGE,
72  ARCHDOOR,
74 };
75 
77 {
92  REVOLVING,
93  ROLLINGUP,
97  NOTDEFINED,
98  INVERT_SINGLE_SWING_RIGHT, // since we don't change local placement of Door in Lexocad
99  INVERT_SINGLE_SWING_LEFT, // since we don't change local placement of Door in Lexocad
100  INVERT_SWING_FIXED_RIGHT, // since we don't change local placement of Door in Lexocad
101  INVERT_SWING_FIXED_LEFT, // since we don't change local placement of Door in Lexocad
102  TRIPLE_DOOR_SWING_RIGHT, // Lexocad only
103  TRIPLE_DOOR_SWING_LEFT, // Lexocad only
104  TRIPLE_DOOR_TRIPLE_SWING_RIGHT, // Lexocad only
105  TRIPLE_DOOR_TRIPLE_SWING_LEFT // Lexocad only
106 };
107 
108 enum class Divider
109 {
110  NONE,
111  VERTICAL,
112  CROSS,
113  HORIZONTAL,
115 };
116 
117 // used for CmdBooleanSplitShapeWithPlane
118 enum class SplitStatus
119 {
120  PLANE,
121  HORIZONTAL,
122  VERTICAL_X,
123  VERTICAL_Y,
125  TWO_SURFACES,
126  MESH_SPLIT,
127  PLANE_3P,
131  LINE_ON_MESH,
136  BOOLEAN_CUT,
138  CUT_IN_TWO // just to pass in constructor, to avoid bool
139 };
140 
142 // //
143 // ---------------------- END API ---------------------- //
144 // //
146 
147 
148 } // namespace Base
Divider
Definition: Enums.h:108
FillingType
Definition: Enums.h:35
SplitStatus
Definition: Enums.h:118
DoorTypeOperationEnum
Definition: Enums.h:76
PurposeGroup
Definition: Enums.h:67
OpeningType
Definition: Enums.h:42
Definition: AbstractXMLReader.h:5