Geometry 1.61 KB
Newer Older
LM's avatar
LM committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#ifndef EIGEN_GEOMETRY_MODULE_H
#define EIGEN_GEOMETRY_MODULE_H

#include "Core"

#include "src/Core/util/DisableStupidWarnings.h"

#include "SVD"
#include "LU"
#include <limits>

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

namespace Eigen {

/** \defgroup Geometry_Module Geometry module
  *
  *
  *
  * This module provides support for:
  *  - fixed-size homogeneous transformations
  *  - translation, scaling, 2D and 3D rotations
  *  - quaternions
  *  - \ref MatrixBase::cross() "cross product"
  *  - \ref MatrixBase::unitOrthogonal() "orthognal vector generation"
  *  - some linear components: parametrized-lines and hyperplanes
  *
  * \code
  * #include <Eigen/Geometry>
  * \endcode
  */

#include "src/Geometry/OrthoMethods.h"
#include "src/Geometry/EulerAngles.h"

#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
  #include "src/Geometry/Homogeneous.h"
  #include "src/Geometry/RotationBase.h"
  #include "src/Geometry/Rotation2D.h"
  #include "src/Geometry/Quaternion.h"
  #include "src/Geometry/AngleAxis.h"
  #include "src/Geometry/Transform.h"
  #include "src/Geometry/Translation.h"
  #include "src/Geometry/Scaling.h"
  #include "src/Geometry/Hyperplane.h"
  #include "src/Geometry/ParametrizedLine.h"
  #include "src/Geometry/AlignedBox.h"
  #include "src/Geometry/Umeyama.h"

  #if defined EIGEN_VECTORIZE_SSE
    #include "src/Geometry/arch/Geometry_SSE.h"
  #endif
#endif

#ifdef EIGEN2_SUPPORT
#include "src/Eigen2Support/Geometry/All.h"
#endif

} // namespace Eigen

#include "src/Core/util/ReenableStupidWarnings.h"

#endif // EIGEN_GEOMETRY_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */