VolViz
A volume visualization tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Geometry.h
Go to the documentation of this file.
1 #ifndef VolViz_GL_Geometry_h
2 #define VolViz_GL_Geometry_h
3 
4 #include "Types.h"
5 
6 namespace VolViz {
7 namespace Private_ {
8 namespace GL {
9 
10 enum MoveMask : uint8_t {
11  None = 0x00,
12  X = 0x01,
13  Y = 0x02,
14  Z = 0x04,
15  All = 0x07
16 };
17 
18 struct Geometry {
19  Position position{Position::Zero()};
20  Orientation orientation{Orientation::Identity()};
21  bool movable{true};
23  Length scale {1 * milli * meter};
25 };
26 
27 } // namespace GL
28 } // namespace Private_
29 } // namespace VolViz
30 
31 #endif // VolViz_GL_Geometry_h
GLenum GLenum GLenum GLenum GLenum scale
Definition: glad.h:13107
Definition: Geometry.h:11
bool movable
Definition: Geometry.h:21
Eigen::Quaternionf Orientation
6-DOF orientation, represented as a quaternion
Definition: Types.h:54
auto White() noexcept
Definition: Types.h:44
Eigen::Vector3f Position
Position in 3D euclidean space.
Definition: Types.h:21
Definition: Geometry.h:15
MoveMask
Definition: Geometry.h:10
Orientation orientation
Definition: Geometry.h:20
Eigen::Vector3f Color
Normalized RGB color.
Definition: Types.h:40
Position position
Definition: Geometry.h:19
MoveMask moveMask
Definition: Geometry.h:22
Definition: Geometry.h:12
GLuint color
Definition: glad.h:2834
Definition: Geometry.h:13
Definition: Geometry.h:18
phys::units::quantity< phys::units::length_d > Length
Definition: Types.h:64
Definition: Geometry.h:14