OpenLexocad  27.0
Enums.h
Go to the documentation of this file.
1 #pragma once
2 #pragma warning(disable : 4251)
3 
4 #include "base_defines.h"
5 
6 #ifndef END_OF_LOOP
7 #define END_OF_LOOP -2
8 #endif
9 
10 #ifndef END_OF_FACE
11 #define END_OF_FACE -1
12 #endif
13 
14 #undef DOOR
15 
16 #define UNUSED(expr) \
17  do \
18  { \
19  (void)(expr); \
20  } while (0)
21 
22 namespace Base
23 {
24 class String;
25 }
26 
27 namespace Base
28 {
30 // //
31 // --------------------- BEGIN API --------------------- //
32 // //
33 // ATTENTION: DO NOT CHANGE ANY SIGNATURES IN THE API ! //
34 // //
36 
37 
38 
39 enum class FillingType
40 {
41  NOFILLING,
42  WINDOW,
43  DOOR
44 };
45 
46 enum class OpeningType // !!!!!! NEW ENTRIES MUST BE AT THE END, BECAUSE OF SAVING AS INT !!!!!!!
47 {
48  WALL,
49  RECTANGLE = 0,
50  TRAPEZOID,
51  ARCHED,
52  OCTAGON,
53  TRIANGLE,
54  CIRCLE_WIN,
56  SEMICIRCLE,
58  DOOR,
59  GARAGEDOOR,
60  FLOOR, // for Openings
61  ROOF, // for Openings
62  GENERAL, // for Openings
63  TYPE_FOR_COPY, // fast solution
64  ARCHDOOR,
65  ARCHTOP,
66  PENTAGON,
69 };
70 
71 enum class PurposeGroup // because Doors are divided to user groups according e.g. directories with textures
72 {
73  DOOR,
74  GARAGE,
76  ARCHDOOR,
78 };
79 
81 {
96  REVOLVING,
97  ROLLINGUP,
100  USERDEFINED,
101  NOTDEFINED,
102  INVERT_SINGLE_SWING_RIGHT, // since we don't change local placement of Door in Lexocad
103  INVERT_SINGLE_SWING_LEFT, // since we don't change local placement of Door in Lexocad
104  INVERT_SWING_FIXED_RIGHT, // since we don't change local placement of Door in Lexocad
105  INVERT_SWING_FIXED_LEFT, // since we don't change local placement of Door in Lexocad
106  TRIPLE_DOOR_SWING_RIGHT, // Lexocad only
107  TRIPLE_DOOR_SWING_LEFT, // Lexocad only
108  TRIPLE_DOOR_TRIPLE_SWING_RIGHT, // Lexocad only
109  TRIPLE_DOOR_TRIPLE_SWING_LEFT // Lexocad only
110 };
111 
112 enum class Divider
113 {
114  NONE,
115  VERTICAL,
116  CROSS,
117  HORIZONTAL,
119 };
120 
122 // //
123 // ---------------------- END API ---------------------- //
124 // //
126 
127 
128 } // namespace Base
Divider
Definition: Enums.h:112
FillingType
Definition: Enums.h:39
DoorTypeOperationEnum
Definition: Enums.h:80
PurposeGroup
Definition: Enums.h:71
OpeningType
Definition: Enums.h:46
Definition: AbstractXMLReader.h:8