blob: 716d529529a7fa5e504c743bcbfe5b959391958f [file] [log] [blame]
Austin Schuh189376f2018-12-20 22:11:15 +11001// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
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/.
7
Brian Silverman72890c22015-09-19 14:37:37 -04008#ifndef EIGEN_GEOMETRY_MODULE_H
9#define EIGEN_GEOMETRY_MODULE_H
10
11#include "Core"
12
13#include "src/Core/util/DisableStupidWarnings.h"
14
15#include "SVD"
16#include "LU"
17#include <limits>
18
Brian Silverman72890c22015-09-19 14:37:37 -040019/** \defgroup Geometry_Module Geometry module
20 *
Brian Silverman72890c22015-09-19 14:37:37 -040021 * This module provides support for:
22 * - fixed-size homogeneous transformations
23 * - translation, scaling, 2D and 3D rotations
Austin Schuh189376f2018-12-20 22:11:15 +110024 * - \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
Brian Silverman72890c22015-09-19 14:37:37 -040030 *
31 * \code
32 * #include <Eigen/Geometry>
33 * \endcode
34 */
35
36#include "src/Geometry/OrthoMethods.h"
37#include "src/Geometry/EulerAngles.h"
38
Austin Schuh189376f2018-12-20 22:11:15 +110039#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"
Brian Silverman72890c22015-09-19 14:37:37 -040051
Austin Schuh189376f2018-12-20 22:11:15 +110052// 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"
Brian Silverman72890c22015-09-19 14:37:37 -040056#endif
57
58#include "src/Core/util/ReenableStupidWarnings.h"
59
60#endif // EIGEN_GEOMETRY_MODULE_H
61/* vim: set filetype=cpp et sw=2 ts=2 ai: */
62