Radium Engine  1.5.20
Loading...
Searching...
No Matches
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
13namespace Ra {
14
16namespace Core {
17
21using VectorN = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>;
22using VectorNf = Eigen::VectorXf;
23using VectorNd = Eigen::VectorXd;
24
25using Vector4 = Eigen::Matrix<Scalar, 4, 1>;
26using Vector4f = Eigen::Vector4f;
27using Vector4d = Eigen::Vector4d;
28
29using Vector3 = Eigen::Matrix<Scalar, 3, 1>;
30using Vector3f = Eigen::Vector3f;
31using Vector3d = Eigen::Vector3d;
32
33using Vector2 = Eigen::Matrix<Scalar, 2, 1>;
34using Vector2f = Eigen::Vector2f;
35using Vector2d = Eigen::Vector2d;
36
37using VectorNi = Eigen::VectorXi;
38using Vector2i = Eigen::Vector2i;
39using Vector3i = Eigen::Vector3i;
40using Vector4i = Eigen::Vector4i;
41
42using VectorNui = Eigen::Matrix<uint, Eigen::Dynamic, 1>;
43using Vector1ui = Eigen::Matrix<uint, 1, 1>;
44using Vector2ui = Eigen::Matrix<uint, 2, 1>;
45using Vector3ui = Eigen::Matrix<uint, 3, 1>;
46using Vector4ui = Eigen::Matrix<uint, 4, 1>;
48
52using Ray = Eigen::ParametrizedLine<Scalar, 3>;
53using Rayf = Eigen::ParametrizedLine<float, 3>;
54using Rayd = Eigen::ParametrizedLine<double, 3>;
56
60using MatrixN = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>;
61using Matrix4 = Eigen::Matrix<Scalar, 4, 4>;
62using Matrix3 = Eigen::Matrix<Scalar, 3, 3>;
63using Matrix2 = Eigen::Matrix<Scalar, 2, 2>;
64
65using MatrixNf = Eigen::MatrixXf;
66using Matrix4f = Eigen::Matrix4f;
67using Matrix3f = Eigen::Matrix3f;
68using Matrix2f = Eigen::Matrix2f;
69
70using MatrixNd = Eigen::MatrixXd;
71using Matrix4d = Eigen::Matrix4d;
72using Matrix3d = Eigen::Matrix3d;
73using Matrix2d = Eigen::Matrix2d;
74
75using MatrixNui = Eigen::Matrix<uint, Eigen::Dynamic, Eigen::Dynamic>;
76
77// using Diagonal = Eigen::DiagonalMatrix< Scalar, Eigen::Dynamic >;
78using Diagonal =
79 Eigen::SparseMatrix<Scalar>; // Not optimized for Diagonal matrices, but the operations between
80 // Sparse and Diagonal are not defined
81using Sparse = Eigen::SparseMatrix<Scalar>;
83
87using Quaternion = Eigen::Quaternion<Scalar>;
88using Quaternionf = Eigen::Quaternionf;
89using Quaterniond = Eigen::Quaterniond;
90
91using Transform = Eigen::Transform<Scalar, 3, Eigen::Affine>;
92using Transformf = Eigen::Affine3f;
93using Transformd = Eigen::Affine3d;
94
95using Aabb = Eigen::AlignedBox<Scalar, 3>;
96using Aabbf = Eigen::AlignedBox3f;
97using Aabbd = Eigen::AlignedBox3d;
98
99using AngleAxis = Eigen::AngleAxis<Scalar>;
100using AngleAxisf = Eigen::AngleAxisf;
101using AngleAxisd = Eigen::AngleAxisd;
102
103using Translation = Eigen::Translation<Scalar, 3>;
104using Translationf = Eigen::Translation3f;
105using Translationd = Eigen::Translation3d;
107
108} // namespace Core
109} // namespace Ra
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:3