scsl  1.1.1
Shimmering Clarity Standard Library
Orientation.h
Go to the documentation of this file.
1 
24 #include <cstdint>
25 
26 #include <scmp/geom/Vector.h>
27 
28 
29 #ifndef SCMATH_GEOM_ORIENTATION_H
30 #define SCMATH_GEOM_ORIENTATION_H
31 
32 
33 namespace scmp {
34 namespace geom {
35 
36 
40 
43 constexpr uint8_t BasisX = 0;
44 
47 constexpr uint8_t BasisY = 1;
48 
51 constexpr uint8_t BasisZ = 2;
52 
53 
55 static const Vector2D Basis2D[] = {
56  Vector2D{1, 0},
57  Vector2D{0, 1},
58 };
59 
60 
62 static const Vector2F Basis2F[] = {
63  Vector2F{1, 0},
64  Vector2F{0, 1},
65 };
66 
67 
69 static const Vector3D Basis3D[] = {
70  Vector3D{1, 0, 0},
71  Vector3D{0, 1, 0},
72  Vector3D{0, 0, 1},
73 };
74 
75 
77 static const Vector3F Basis3F[] = {
78  Vector3F{1, 0, 0},
79  Vector3F{0, 1, 0},
80  Vector3F{0, 0, 1},
81 };
82 
83 
88 float Heading2F(Vector2F vec);
89 
94 double Heading2D(Vector2D vec);
95 
100 float Heading3F(Vector3F vec);
101 
106 double Heading3D(Vector3D vec);
107 
108 
109 } // namespace geom
110 } // namespace scmp
111 
112 
113 #endif // SCMATH_GEOM_ORIENTATION_H
Linear algebraic vector class.
constexpr uint8_t BasisY
Convenience constant for the y index.
Definition: Orientation.h:47
constexpr uint8_t BasisX
Convenience constant for the x index.
Definition: Orientation.h:43
constexpr uint8_t BasisZ
Convenience constant for the z index.
Definition: Orientation.h:51
Vector< float, 3 > Vector3F
Type alias for a three-dimensional float vector.
Definition: Vector.h:482
Vector< double, 3 > Vector3D
Type alias for a three-dimensional double vector.
Definition: Vector.h:494
Vector< float, 2 > Vector2F
Type alias for a two-dimensional float vector.
Definition: Vector.h:478
float Heading2F(Vector2F vec)
Compass heading for a Vector2F.
double Heading2D(Vector2D vec)
Compass heading for a Vector2D.
double Heading3D(Vector3D vec)
float Heading3F(Vector3F vec)
Compass heading for a Vector2F.
Shimmering Clarity Math & Physics toolkit.
Definition: estimation.h:31