blob: 78277c0c560892a36da75c7038f0ed851346a284 [file] [log] [blame]
Gael Guennebaud366971b2008-06-02 22:58:36 +00001#ifndef EIGEN_GEOMETRY_MODULE_H
2#define EIGEN_GEOMETRY_MODULE_H
3
Benoit Jacob8106d352008-12-18 20:48:02 +00004#include "Core"
5
Benoit Jacobd8e97ae2011-02-22 09:31:22 -05006#include "src/Core/util/DisableStupidWarnings.h"
Benoit Jacob8106d352008-12-18 20:48:02 +00007
Gael Guennebaud0cd15882009-07-06 11:15:38 +02008#include "SVD"
Gael Guennebaud044dd0c2009-08-15 23:37:20 +02009#include "LU"
Gael Guennebaudca048aa2008-10-26 20:43:05 +000010#include <limits>
Gael Guennebaud366971b2008-06-02 22:58:36 +000011
Gael Guennebauda6d387a2008-08-19 11:06:40 +000012#ifndef M_PI
13#define M_PI 3.14159265358979323846
14#endif
15
Gael Guennebaud366971b2008-06-02 22:58:36 +000016namespace Eigen {
17
Benoit Jacoba79deaf2009-01-26 13:53:43 +000018/** \defgroup Geometry_Module Geometry module
19 *
Benoit Jacobe5de9e52010-06-29 10:10:47 -040020 *
Benoit Jacoba79deaf2009-01-26 13:53:43 +000021 *
Gael Guennebaudce425d92008-07-20 15:18:54 +000022 * This module provides support for:
23 * - fixed-size homogeneous transformations
Gael Guennebaud52406ae2008-09-03 22:35:45 +000024 * - translation, scaling, 2D and 3D rotations
Benoit Jacob13ad8872008-08-12 02:14:02 +000025 * - quaternions
Gael Guennebaudce425d92008-07-20 15:18:54 +000026 * - \ref MatrixBase::cross() "cross product"
Gael Guennebaud00a8d312008-08-26 19:12:23 +000027 * - \ref MatrixBase::unitOrthogonal() "orthognal vector generation"
Gael Guennebaud52406ae2008-09-03 22:35:45 +000028 * - some linear components: parametrized-lines and hyperplanes
Gael Guennebaud00a8d312008-08-26 19:12:23 +000029 *
Gael Guennebaudce425d92008-07-20 15:18:54 +000030 * \code
31 * #include <Eigen/Geometry>
32 * \endcode
33 */
Gael Guennebaud6e2c53e2008-07-19 20:36:41 +000034
Gael Guennebaud02a7efa2008-07-27 14:24:32 +000035#include "src/Geometry/OrthoMethods.h"
Gael Guennebaudfaf942a2008-12-05 15:56:28 +000036#include "src/Geometry/EulerAngles.h"
Gael Guennebaud196f38f2008-06-03 13:43:29 +000037
Benoit Jacobbd12ac42011-01-24 11:21:58 -050038#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
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 #if defined EIGEN_VECTORIZE_SSE
53 #include "src/Geometry/arch/Geometry_SSE.h"
54 #endif
55#endif
56
57#ifdef EIGEN2_SUPPORT
58#include "src/Eigen2Support/Geometry/All.h"
Gael Guennebaude4f64ce2009-03-07 13:52:44 +000059#endif
60
Gael Guennebaud366971b2008-06-02 22:58:36 +000061} // namespace Eigen
62
Benoit Jacobd8e97ae2011-02-22 09:31:22 -050063#include "src/Core/util/ReenableStupidWarnings.h"
Benoit Jacob8106d352008-12-18 20:48:02 +000064
Gael Guennebaud366971b2008-06-02 22:58:36 +000065#endif // EIGEN_GEOMETRY_MODULE_H
Mark Borgerdingff1e9542009-12-01 18:00:29 -050066/* vim: set filetype=cpp et sw=2 ts=2 ai: */
67