1 // This file is part of Eigen, a lightweight C++ template library
4 // This Source Code Form is subject to the terms of the Mozilla
5 // Public License v. 2.0. If a copy of the MPL was not distributed
6 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 #ifndef EIGEN_GEOMETRY_MODULE_H
9 #define EIGEN_GEOMETRY_MODULE_H
13 #include "src/Core/util/DisableStupidWarnings.h"
19 /** \defgroup Geometry_Module Geometry module
21 * This module provides support for:
22 * - fixed-size homogeneous transformations
23 * - translation, scaling, 2D and 3D rotations
24 * - \link Quaternion quaternions \endlink
25 * - cross products (\ref MatrixBase::cross, \ref MatrixBase::cross3)
26 * - orthognal vector generation (\ref MatrixBase::unitOrthogonal)
27 * - some linear components: \link ParametrizedLine parametrized-lines \endlink and \link Hyperplane hyperplanes \endlink
28 * - \link AlignedBox axis aligned bounding boxes \endlink
29 * - \link umeyama least-square transformation fitting \endlink
32 * #include <Eigen/Geometry>
36 #include "src/Geometry/OrthoMethods.h"
37 #include "src/Geometry/EulerAngles.h"
39 #include "src/Geometry/Homogeneous.h"
40 #include "src/Geometry/RotationBase.h"
41 #include "src/Geometry/Rotation2D.h"
42 #include "src/Geometry/Quaternion.h"
43 #include "src/Geometry/AngleAxis.h"
44 #include "src/Geometry/Transform.h"
45 #include "src/Geometry/Translation.h"
46 #include "src/Geometry/Scaling.h"
47 #include "src/Geometry/Hyperplane.h"
48 #include "src/Geometry/ParametrizedLine.h"
49 #include "src/Geometry/AlignedBox.h"
50 #include "src/Geometry/Umeyama.h"
52 // Use the SSE optimized version whenever possible. At the moment the
53 // SSE version doesn't compile when AVX is enabled
54 #if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX
55 #include "src/Geometry/arch/Geometry_SSE.h"
58 #include "src/Core/util/ReenableStupidWarnings.h"
60 #endif // EIGEN_GEOMETRY_MODULE_H
61 /* vim: set filetype=cpp et sw=2 ts=2 ai: */