Radium Engine  1.5.0
Types.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include <Core/RaCore.hpp>
7 
8 #include <Eigen/Core>
9 #include <Eigen/Geometry>
10 #include <Eigen/Sparse>
11 
12 namespace Ra {
13 namespace Core {
14 
18 using VectorN = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>;
19 using VectorNf = Eigen::VectorXf;
20 using VectorNd = Eigen::VectorXd;
21 
22 using Vector4 = Eigen::Matrix<Scalar, 4, 1>;
23 using Vector4f = Eigen::Vector4f;
24 using Vector4d = Eigen::Vector4d;
25 
26 using Vector3 = Eigen::Matrix<Scalar, 3, 1>;
27 using Vector3f = Eigen::Vector3f;
28 using Vector3d = Eigen::Vector3d;
29 
30 using Vector2 = Eigen::Matrix<Scalar, 2, 1>;
31 using Vector2f = Eigen::Vector2f;
32 using Vector2d = Eigen::Vector2d;
33 
34 using VectorNi = Eigen::VectorXi;
35 using Vector2i = Eigen::Vector2i;
36 using Vector3i = Eigen::Vector3i;
37 using Vector4i = Eigen::Vector4i;
38 
39 using VectorNui = Eigen::Matrix<uint, Eigen::Dynamic, 1>;
40 using Vector1ui = Eigen::Matrix<uint, 1, 1>;
41 using Vector2ui = Eigen::Matrix<uint, 2, 1>;
42 using Vector3ui = Eigen::Matrix<uint, 3, 1>;
43 using Vector4ui = Eigen::Matrix<uint, 4, 1>;
45 
49 using Ray = Eigen::ParametrizedLine<Scalar, 3>;
50 using Rayf = Eigen::ParametrizedLine<float, 3>;
51 using Rayd = Eigen::ParametrizedLine<double, 3>;
53 
57 using MatrixN = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>;
58 using Matrix4 = Eigen::Matrix<Scalar, 4, 4>;
59 using Matrix3 = Eigen::Matrix<Scalar, 3, 3>;
60 using Matrix2 = Eigen::Matrix<Scalar, 2, 2>;
61 
62 using MatrixNf = Eigen::MatrixXf;
63 using Matrix4f = Eigen::Matrix4f;
64 using Matrix3f = Eigen::Matrix3f;
65 using Matrix2f = Eigen::Matrix2f;
66 
67 using MatrixNd = Eigen::MatrixXd;
68 using Matrix4d = Eigen::Matrix4d;
69 using Matrix3d = Eigen::Matrix3d;
70 using Matrix2d = Eigen::Matrix2d;
71 
72 using MatrixNui = Eigen::Matrix<uint, Eigen::Dynamic, Eigen::Dynamic>;
73 
74 // using Diagonal = Eigen::DiagonalMatrix< Scalar, Eigen::Dynamic >;
75 using Diagonal =
76  Eigen::SparseMatrix<Scalar>; // Not optimized for Diagonal matrices, but the operations between
77  // Sparse and Diagonal are not defined
78 using Sparse = Eigen::SparseMatrix<Scalar>;
80 
84 using Quaternion = Eigen::Quaternion<Scalar>;
85 using Quaternionf = Eigen::Quaternionf;
86 using Quaterniond = Eigen::Quaterniond;
87 
88 using Transform = Eigen::Transform<Scalar, 3, Eigen::Affine>;
89 using Transformf = Eigen::Affine3f;
90 using Transformd = Eigen::Affine3d;
91 
92 using Aabb = Eigen::AlignedBox<Scalar, 3>;
93 using Aabbf = Eigen::AlignedBox3f;
94 using Aabbd = Eigen::AlignedBox3d;
95 
96 using AngleAxis = Eigen::AngleAxis<Scalar>;
97 using AngleAxisf = Eigen::AngleAxisf;
98 using AngleAxisd = Eigen::AngleAxisd;
99 
100 using Translation = Eigen::Translation<Scalar, 3>;
101 using Translationf = Eigen::Translation3f;
102 using Translationd = Eigen::Translation3d;
104 
105 } // namespace Core
106 } // namespace Ra
Definition: Cage.cpp:3