mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-02-23 18:20:47 +08:00
NonAffine, Affine (default), contains NoShear, contains NoScaling that allows significant speed improvements. If you like it, this concept could be applied to Transform::extractRotation (or to a more advanced decomposition function) and to Hyperplane::transformed() and maybe to some other places... e.g., I think a Transform::normalMatrix() function would not harm and warn user that the transformation of normals is not that trivial (I saw this mistake much too often)
42 lines
1.0 KiB
Plaintext
42 lines
1.0 KiB
Plaintext
#ifndef EIGEN_GEOMETRY_MODULE_H
|
|
#define EIGEN_GEOMETRY_MODULE_H
|
|
|
|
#include "Core"
|
|
|
|
#ifndef M_PI
|
|
#define M_PI 3.14159265358979323846
|
|
#endif
|
|
|
|
namespace Eigen {
|
|
|
|
/** \defgroup GeometryModule Geometry module
|
|
* This module provides support for:
|
|
* - fixed-size homogeneous transformations
|
|
* - 2D and 3D rotations
|
|
* - quaternions
|
|
* - \ref MatrixBase::cross() "cross product"
|
|
* - \ref MatrixBase::unitOrthogonal() "orthognal vector generation"
|
|
*
|
|
* \code
|
|
* #include <Eigen/Geometry>
|
|
* \endcode
|
|
*/
|
|
|
|
// the Geometry module use cwiseCos and cwiseSin which are defined in the Array module
|
|
#include "src/Array/CwiseOperators.h"
|
|
#include "src/Array/Functors.h"
|
|
#include "src/Array/PartialRedux.h"
|
|
|
|
#include "src/Geometry/OrthoMethods.h"
|
|
#include "src/Geometry/Quaternion.h"
|
|
#include "src/Geometry/AngleAxis.h"
|
|
#include "src/Geometry/Rotation.h"
|
|
#include "src/Geometry/Transform.h"
|
|
#include "src/Geometry/Translation.h"
|
|
#include "src/Geometry/Scaling.h"
|
|
#include "src/Geometry/Hyperplane.h"
|
|
|
|
} // namespace Eigen
|
|
|
|
#endif // EIGEN_GEOMETRY_MODULE_H
|