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