Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Shapes.h
Go to the documentation of this file.
1 
11 #ifndef INCLUDE_MOLASSEMBLER_SHAPES_NAMES_H
12 #define INCLUDE_MOLASSEMBLER_SHAPES_NAMES_H
13 
14 #include "Molassembler/Export.h"
15 
16 namespace Scine {
17 namespace Molassembler {
18 
22 namespace Shapes {
23 
28 enum class MASM_EXPORT Shape : unsigned {
29  /* 2 */
31  Line,
33  Bent,
34 
35  /* 3 */
41  T,
42 
43  /* 4 */
47  Square,
49  Seesaw,
52 
53  /* 5 */
59  Pentagon,
60 
61  /* 6 */
63  Octahedron, // 6
69  Hexagon,
70 
71  /* 7 */
78 
79  /* 8 */
83  Cube,
88 
89  /* 9 */
96 
97  /* 10 */
100 
101  /* 11 */
104 
105  /* 12 */
107  Icosahedron,
110 };
111 
113 constexpr unsigned nShapes = 30;
114 static_assert(nShapes == static_cast<unsigned>(Shape::Cuboctahedron) + 1, "Miscounted?");
115 
116 } // namespace Shapes
117 } // namespace Molassembler
118 } // namespace Scine
119 
120 #endif
constexpr unsigned nShapes
Total number of shapes.
Definition: Shapes.h:113
Line top: 0 ≅ IA &lt;&lt; IB = IC.
Shape
Enumeration of all contained symmetry names.
Definition: Shapes.h:28