xref: /aosp_15_r20/external/eigen/Eigen/Geometry (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li// This file is part of Eigen, a lightweight C++ template library
2*bf2c3715SXin Li// for linear algebra.
3*bf2c3715SXin Li//
4*bf2c3715SXin Li// This Source Code Form is subject to the terms of the Mozilla
5*bf2c3715SXin Li// Public License v. 2.0. If a copy of the MPL was not distributed
6*bf2c3715SXin Li// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7*bf2c3715SXin Li
8*bf2c3715SXin Li#ifndef EIGEN_GEOMETRY_MODULE_H
9*bf2c3715SXin Li#define EIGEN_GEOMETRY_MODULE_H
10*bf2c3715SXin Li
11*bf2c3715SXin Li#include "Core"
12*bf2c3715SXin Li
13*bf2c3715SXin Li#include "SVD"
14*bf2c3715SXin Li#include "LU"
15*bf2c3715SXin Li#include <limits>
16*bf2c3715SXin Li
17*bf2c3715SXin Li#include "src/Core/util/DisableStupidWarnings.h"
18*bf2c3715SXin Li
19*bf2c3715SXin Li/** \defgroup Geometry_Module Geometry module
20*bf2c3715SXin Li  *
21*bf2c3715SXin Li  * This module provides support for:
22*bf2c3715SXin Li  *  - fixed-size homogeneous transformations
23*bf2c3715SXin Li  *  - translation, scaling, 2D and 3D rotations
24*bf2c3715SXin Li  *  - \link Quaternion quaternions \endlink
25*bf2c3715SXin Li  *  - cross products (\ref MatrixBase::cross, \ref MatrixBase::cross3)
26*bf2c3715SXin Li  *  - orthognal vector generation (\ref MatrixBase::unitOrthogonal)
27*bf2c3715SXin Li  *  - some linear components: \link ParametrizedLine parametrized-lines \endlink and \link Hyperplane hyperplanes \endlink
28*bf2c3715SXin Li  *  - \link AlignedBox axis aligned bounding boxes \endlink
29*bf2c3715SXin Li  *  - \link umeyama least-square transformation fitting \endlink
30*bf2c3715SXin Li  *
31*bf2c3715SXin Li  * \code
32*bf2c3715SXin Li  * #include <Eigen/Geometry>
33*bf2c3715SXin Li  * \endcode
34*bf2c3715SXin Li  */
35*bf2c3715SXin Li
36*bf2c3715SXin Li#include "src/Geometry/OrthoMethods.h"
37*bf2c3715SXin Li#include "src/Geometry/EulerAngles.h"
38*bf2c3715SXin Li
39*bf2c3715SXin Li#include "src/Geometry/Homogeneous.h"
40*bf2c3715SXin Li#include "src/Geometry/RotationBase.h"
41*bf2c3715SXin Li#include "src/Geometry/Rotation2D.h"
42*bf2c3715SXin Li#include "src/Geometry/Quaternion.h"
43*bf2c3715SXin Li#include "src/Geometry/AngleAxis.h"
44*bf2c3715SXin Li#include "src/Geometry/Transform.h"
45*bf2c3715SXin Li#include "src/Geometry/Translation.h"
46*bf2c3715SXin Li#include "src/Geometry/Scaling.h"
47*bf2c3715SXin Li#include "src/Geometry/Hyperplane.h"
48*bf2c3715SXin Li#include "src/Geometry/ParametrizedLine.h"
49*bf2c3715SXin Li#include "src/Geometry/AlignedBox.h"
50*bf2c3715SXin Li#include "src/Geometry/Umeyama.h"
51*bf2c3715SXin Li
52*bf2c3715SXin Li// Use the SSE optimized version whenever possible.
53*bf2c3715SXin Li#if (defined EIGEN_VECTORIZE_SSE) || (defined EIGEN_VECTORIZE_NEON)
54*bf2c3715SXin Li#include "src/Geometry/arch/Geometry_SIMD.h"
55*bf2c3715SXin Li#endif
56*bf2c3715SXin Li
57*bf2c3715SXin Li#include "src/Core/util/ReenableStupidWarnings.h"
58*bf2c3715SXin Li
59*bf2c3715SXin Li#endif // EIGEN_GEOMETRY_MODULE_H
60