1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifndef EIGEN2_GEOMETRY_MODULE_H
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define EIGEN2_GEOMETRY_MODULE_H
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <limits>
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifndef M_PI
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define M_PI 3.14159265358979323846
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "RotationBase.h"
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Rotation2D.h"
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Quaternion.h"
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "AngleAxis.h"
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Transform.h"
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Translation.h"
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Scaling.h"
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "AlignedBox.h"
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Hyperplane.h"
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "ParametrizedLine.h"
21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif
22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define RotationBase eigen2_RotationBase
25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Rotation2D eigen2_Rotation2D
26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Rotation2Df eigen2_Rotation2Df
27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Rotation2Dd eigen2_Rotation2Dd
28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Quaternion  eigen2_Quaternion
30c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Quaternionf eigen2_Quaternionf
31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Quaterniond eigen2_Quaterniond
32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
33c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define AngleAxis eigen2_AngleAxis
34c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define AngleAxisf eigen2_AngleAxisf
35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define AngleAxisd eigen2_AngleAxisd
36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Transform   eigen2_Transform
38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Transform2f eigen2_Transform2f
39c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Transform2d eigen2_Transform2d
40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Transform3f eigen2_Transform3f
41c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Transform3d eigen2_Transform3d
42c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
43c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Translation eigen2_Translation
44c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Translation2f eigen2_Translation2f
45c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Translation2d eigen2_Translation2d
46c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Translation3f eigen2_Translation3f
47c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Translation3d eigen2_Translation3d
48c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
49c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Scaling eigen2_Scaling
50c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Scaling2f eigen2_Scaling2f
51c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Scaling2d eigen2_Scaling2d
52c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Scaling3f eigen2_Scaling3f
53c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Scaling3d eigen2_Scaling3d
54c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
55c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define AlignedBox eigen2_AlignedBox
56c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
57c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define Hyperplane eigen2_Hyperplane
58c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define ParametrizedLine eigen2_ParametrizedLine
59c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
60c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define ei_toRotationMatrix eigen2_ei_toRotationMatrix
61c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define ei_quaternion_assign_impl eigen2_ei_quaternion_assign_impl
62c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define ei_transform_product_impl eigen2_ei_transform_product_impl
63c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
64c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "RotationBase.h"
65c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Rotation2D.h"
66c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Quaternion.h"
67c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "AngleAxis.h"
68c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Transform.h"
69c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Translation.h"
70c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Scaling.h"
71c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "AlignedBox.h"
72c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "Hyperplane.h"
73c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "ParametrizedLine.h"
74c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
75c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef ei_toRotationMatrix
76c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef ei_quaternion_assign_impl
77c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef ei_transform_product_impl
78c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
79c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef RotationBase
80c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Rotation2D
81c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Rotation2Df
82c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Rotation2Dd
83c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
84c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Quaternion
85c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Quaternionf
86c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Quaterniond
87c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
88c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef AngleAxis
89c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef AngleAxisf
90c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef AngleAxisd
91c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
92c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Transform
93c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Transform2f
94c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Transform2d
95c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Transform3f
96c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Transform3d
97c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
98c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Translation
99c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Translation2f
100c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Translation2d
101c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Translation3f
102c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Translation3d
103c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
104c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Scaling
105c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Scaling2f
106c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Scaling2d
107c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Scaling3f
108c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Scaling3d
109c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
110c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef AlignedBox
111c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
112c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef Hyperplane
113c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#undef ParametrizedLine
114c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
115c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif // EIGEN2_GEOMETRY_MODULE_H
116