1 // 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 8 #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 19 /** \defgroup Geometry_Module Geometry module 20 * 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 30 * 31 * \code 32 * #include <Eigen/Geometry> 33 * \endcode 34 */ 35 36 #include "src/Geometry/OrthoMethods.h" 37 #include "src/Geometry/EulerAngles.h" 38 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" 51 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" 56 #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 63