![]() |
Prusa Slicer 2.6.0
|
Collaboration diagram for Geometry_Module:Modules | |
| Global aligned box typedefs | |
Classes | |
| class | Eigen::Map< const Quaternion< _Scalar >, _Options > |
| Quaternion expression mapping a constant memory buffer. More... | |
| class | Eigen::Map< Quaternion< _Scalar >, _Options > |
| Expression of a quaternion from a memory buffer. More... | |
| class | Eigen::AlignedBox< _Scalar, _AmbientDim > |
| An axis aligned box. More... | |
| class | Eigen::AngleAxis< _Scalar > |
| Represents a 3D rotation as a rotation angle around an arbitrary 3D axis. More... | |
| class | Eigen::Homogeneous< MatrixType, _Direction > |
| Expression of one (or a set of) homogeneous vector(s) More... | |
| class | Eigen::Hyperplane< _Scalar, _AmbientDim, _Options > |
| A hyperplane. More... | |
| class | Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options > |
| A parametrized line. More... | |
| class | Eigen::QuaternionBase< Derived > |
| Base class for quaternion expressions. More... | |
| class | Eigen::Quaternion< _Scalar, _Options > |
| The quaternion class used to represent 3D orientations and rotations. More... | |
| class | Eigen::Rotation2D< _Scalar > |
| Represents a rotation/orientation in a 2 dimensional space. More... | |
| class | Scaling |
| Represents a generic uniform scaling transformation. More... | |
| class | Eigen::Transform< _Scalar, _Dim, _Mode, _Options > |
| Represents an homogeneous transformation in a N dimensional space. More... | |
| class | Eigen::Translation< _Scalar, _Dim > |
| Represents a translation transformation. More... | |
| class Eigen::Map< const Quaternion< _Scalar >, _Options > |
Quaternion expression mapping a constant memory buffer.
| _Scalar | the type of the Quaternion coefficients |
| _Options | see class Map |
This is a specialization of class Map for Quaternion. This class allows to view a 4 scalar memory buffer as an Eigen's Quaternion object.
Inheritance diagram for Eigen::Map< const Quaternion< _Scalar >, _Options >:
Collaboration diagram for Eigen::Map< const Quaternion< _Scalar >, _Options >:Public Types | |
| typedef QuaternionBase< Map< const Quaternion< _Scalar >, _Options > > | Base |
| typedef _Scalar | Scalar |
| typedef internal::traits< Map >::Coefficients | Coefficients |
| enum | |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Coefficients::CoeffReturnType | CoeffReturnType |
| typedef internal::conditional< bool(internal::traits< Map< const Quaternion< _Scalar >, _Options > >::Flags &LvalueBit), Scalar &, CoeffReturnType >::type | NonConstCoeffReturnType |
| typedef Matrix< Scalar, 3, 1 > | Vector3 |
| typedef Matrix< Scalar, 3, 3 > | Matrix3 |
| typedef AngleAxis< Scalar > | AngleAxisType |
| enum | { Dim = _Dim } |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Map (const Scalar *coeffs) |
| EIGEN_DEVICE_FUNC const Coefficients & | coeffs () const |
| EIGEN_DEVICE_FUNC CoeffReturnType | x () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | x () |
| EIGEN_DEVICE_FUNC CoeffReturnType | y () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | y () |
| EIGEN_DEVICE_FUNC CoeffReturnType | z () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | z () |
| EIGEN_DEVICE_FUNC CoeffReturnType | w () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | w () |
| EIGEN_DEVICE_FUNC const VectorBlock< const Coefficients, 3 > | vec () const |
| EIGEN_DEVICE_FUNC VectorBlock< Coefficients, 3 > | vec () |
| EIGEN_DEVICE_FUNC internal::traits< Map< const Quaternion< _Scalar >, _Options > >::Coefficients & | coeffs () |
| EIGEN_DEVICE_FUNC QuaternionBase & | setIdentity () |
| EIGEN_DEVICE_FUNC Scalar | squaredNorm () const |
| EIGEN_DEVICE_FUNC Scalar | norm () const |
| EIGEN_DEVICE_FUNC void | normalize () |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | normalized () const |
| EIGEN_DEVICE_FUNC Scalar | dot (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC internal::traits< Map< const Quaternion< _Scalar >, _Options > >::Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Matrix3 | toRotationMatrix () const |
| EIGEN_DEVICE_FUNC Map< const Quaternion< _Scalar >, _Options > & | setFromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > | operator* (const QuaternionBase< OtherDerived > &q) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< typename internal::traits< Map< const Quaternion< _Scalar >, _Options > >::Scalar > | operator* (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Derived, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| template<int Mode, int Options> | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Map< const Quaternion< _Scalar >, _Options > & | operator*= (const QuaternionBase< OtherDerived > &q) |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | inverse () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | conjugate () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Quaternion< typename internal::traits< Map< const Quaternion< _Scalar >, _Options > >::Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC bool | isApprox (const QuaternionBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Vector3 | _transformVector (const Vector3 &v) const |
| template<typename OtherVectorType > | |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Map< const Quaternion< _Scalar >, _Options >, Quaternion< NewScalarType > >::type | cast () const |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Quaternion< Scalar > | Identity () |
Protected Attributes | |
| const Coefficients | m_coeffs |
|
inherited |
the equivalent angle-axis type
| typedef QuaternionBase<Map<const Quaternion<_Scalar>, _Options> > Eigen::Map< const Quaternion< _Scalar >, _Options >::Base |
| typedef internal::traits<Map>::Coefficients Eigen::Map< const Quaternion< _Scalar >, _Options >::Coefficients |
|
inherited |
|
inherited |
the equivalent rotation matrix type
|
inherited |
|
inherited |
|
inherited |
corresponding linear transformation matrix type
| typedef _Scalar Eigen::Map< const Quaternion< _Scalar >, _Options >::Scalar |
|
inherited |
the type of a 3D vector
|
inherited |
|
inherited |
| Enumerator | |
|---|---|
| Dim | |
|
inherited |
|
inlineexplicit |
Constructs a Mapped Quaternion object from the pointer coeffs
The pointer coeffs must reference the four coefficients of Quaternion in the following order:
If the template parameter _Options is set to Aligned, then the pointer coeffs must be aligned.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
return the result vector of v through the rotation
Rotation of a vector by a quaternion.
|
inherited |
|
inlineinherited |
|
inlineinherited |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inlineinherited |
|
inline |
|
inlineinherited |
*this which is equal to the multiplicative inverse if the quaternion is normalized. The conjugate of a quaternion represents the opposite rotation.
|
inlineinherited |
|
inlineinherited |
Referenced by Eigen::RotationBase< Derived, _Dim >::inverse(), Eigen::RotationBase< Derived, _Dim >::matrix(), Eigen::RotationBase< Derived, _Dim >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::QuaternionBase< Derived >::operator*=(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the caller graph for this function:
|
inlineinherited |
*this and other Geometrically speaking, the dot product of two unit quaternions corresponds to the cosine of half the angle between the two rotations.
|
inlinestaticinherited |
|
inlineinherited |
*this Note that in most cases, i.e., if you simply want the opposite rotation, and/or the quaternion is normalized, then it is enough to use the conjugate.
|
inlineinherited |
true if *this is approximately equal to other, within the precision determined by prec.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::derived().
Referenced by Slic3r::Emboss::create_transformation_onto_surface(), and igl::snap_to_fixed_up().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
Normalizes the quaternion *this
|
inlineinherited |
*this
|
inlineinherited |
*this with a generic expression e e can be:References Eigen::EigenBase< Derived >::derived(), and Eigen::RotationBase< Derived, _Dim >::derived().
Here is the call graph for this function:
|
inherited |
|
inherited |
|
inlineinherited |
*this with a transformation t References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
|
inlineinherited |
Sets *this to be a quaternion representing a rotation between the two arbitrary vectors a and b. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin.
*this.Note that the two input vectors do not have to be normalized, and do not need to have the same norm.
|
inlineinherited |
|
inherited |
|
inherited |
*this and other at the parameter t in [0;1].This represents an interpolation for a constant motion between *this and other, see also http://en.wikipedia.org/wiki/Slerp.
|
inlineinherited |
|
inlineinherited |
Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to be normalized, otherwise the result is undefined.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
w coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
w coefficient
|
inlineinherited |
x coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
x coefficient
|
inlineinherited |
y coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
y coefficient
|
inlineinherited |
z coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
z coefficient
|
protected |
| class Eigen::Map< Quaternion< _Scalar >, _Options > |
Expression of a quaternion from a memory buffer.
| _Scalar | the type of the Quaternion coefficients |
| _Options | see class Map |
This is a specialization of class Map for Quaternion. This class allows to view a 4 scalar memory buffer as an Eigen's Quaternion object.
Inheritance diagram for Eigen::Map< Quaternion< _Scalar >, _Options >:
Collaboration diagram for Eigen::Map< Quaternion< _Scalar >, _Options >:Public Types | |
| typedef QuaternionBase< Map< Quaternion< _Scalar >, _Options > > | Base |
| typedef _Scalar | Scalar |
| typedef internal::traits< Map >::Coefficients | Coefficients |
| enum | |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Coefficients::CoeffReturnType | CoeffReturnType |
| typedef internal::conditional< bool(internal::traits< Map< Quaternion< _Scalar >, _Options > >::Flags &LvalueBit), Scalar &, CoeffReturnType >::type | NonConstCoeffReturnType |
| typedef Matrix< Scalar, 3, 1 > | Vector3 |
| typedef Matrix< Scalar, 3, 3 > | Matrix3 |
| typedef AngleAxis< Scalar > | AngleAxisType |
| enum | { Dim = _Dim } |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Map (Scalar *coeffs) |
| EIGEN_DEVICE_FUNC Coefficients & | coeffs () |
| EIGEN_DEVICE_FUNC const Coefficients & | coeffs () const |
| EIGEN_DEVICE_FUNC CoeffReturnType | x () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | x () |
| EIGEN_DEVICE_FUNC CoeffReturnType | y () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | y () |
| EIGEN_DEVICE_FUNC CoeffReturnType | z () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | z () |
| EIGEN_DEVICE_FUNC CoeffReturnType | w () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | w () |
| EIGEN_DEVICE_FUNC const VectorBlock< const Coefficients, 3 > | vec () const |
| EIGEN_DEVICE_FUNC VectorBlock< Coefficients, 3 > | vec () |
| EIGEN_DEVICE_FUNC QuaternionBase & | setIdentity () |
| EIGEN_DEVICE_FUNC Scalar | squaredNorm () const |
| EIGEN_DEVICE_FUNC Scalar | norm () const |
| EIGEN_DEVICE_FUNC void | normalize () |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | normalized () const |
| EIGEN_DEVICE_FUNC Scalar | dot (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC internal::traits< Map< Quaternion< _Scalar >, _Options > >::Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Matrix3 | toRotationMatrix () const |
| EIGEN_DEVICE_FUNC Map< Quaternion< _Scalar >, _Options > & | setFromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > | operator* (const QuaternionBase< OtherDerived > &q) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< typename internal::traits< Map< Quaternion< _Scalar >, _Options > >::Scalar > | operator* (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Derived, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| template<int Mode, int Options> | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Map< Quaternion< _Scalar >, _Options > & | operator*= (const QuaternionBase< OtherDerived > &q) |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | inverse () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | conjugate () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Quaternion< typename internal::traits< Map< Quaternion< _Scalar >, _Options > >::Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC bool | isApprox (const QuaternionBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Vector3 | _transformVector (const Vector3 &v) const |
| template<typename OtherVectorType > | |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Map< Quaternion< _Scalar >, _Options >, Quaternion< NewScalarType > >::type | cast () const |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Quaternion< Scalar > | Identity () |
Protected Attributes | |
| Coefficients | m_coeffs |
|
inherited |
the equivalent angle-axis type
| typedef QuaternionBase<Map<Quaternion<_Scalar>, _Options> > Eigen::Map< Quaternion< _Scalar >, _Options >::Base |
| typedef internal::traits<Map>::Coefficients Eigen::Map< Quaternion< _Scalar >, _Options >::Coefficients |
|
inherited |
|
inherited |
the equivalent rotation matrix type
|
inherited |
|
inherited |
|
inherited |
corresponding linear transformation matrix type
| typedef _Scalar Eigen::Map< Quaternion< _Scalar >, _Options >::Scalar |
|
inherited |
the type of a 3D vector
|
inherited |
|
inherited |
| Enumerator | |
|---|---|
| Dim | |
|
inherited |
|
inlineexplicit |
Constructs a Mapped Quaternion object from the pointer coeffs
The pointer coeffs must reference the four coefficients of Quaternion in the following order:
If the template parameter _Options is set to Aligned, then the pointer coeffs must be aligned.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
return the result vector of v through the rotation
Rotation of a vector by a quaternion.
|
inherited |
|
inlineinherited |
|
inlineinherited |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inline |
|
inline |
|
inlineinherited |
*this which is equal to the multiplicative inverse if the quaternion is normalized. The conjugate of a quaternion represents the opposite rotation.
|
inlineinherited |
|
inlineinherited |
Referenced by Eigen::RotationBase< Derived, _Dim >::inverse(), Eigen::RotationBase< Derived, _Dim >::matrix(), Eigen::RotationBase< Derived, _Dim >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::QuaternionBase< Derived >::operator*=(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the caller graph for this function:
|
inlineinherited |
*this and other Geometrically speaking, the dot product of two unit quaternions corresponds to the cosine of half the angle between the two rotations.
|
inlinestaticinherited |
|
inlineinherited |
*this Note that in most cases, i.e., if you simply want the opposite rotation, and/or the quaternion is normalized, then it is enough to use the conjugate.
|
inlineinherited |
true if *this is approximately equal to other, within the precision determined by prec.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::derived().
Referenced by Slic3r::Emboss::create_transformation_onto_surface(), and igl::snap_to_fixed_up().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
Normalizes the quaternion *this
|
inlineinherited |
|
inlineinherited |
*this with a generic expression e e can be:References Eigen::EigenBase< Derived >::derived(), and Eigen::RotationBase< Derived, _Dim >::derived().
Here is the call graph for this function:
|
inherited |
|
inherited |
|
inlineinherited |
*this with a transformation t References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
|
inlineinherited |
Sets *this to be a quaternion representing a rotation between the two arbitrary vectors a and b. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin.
*this.Note that the two input vectors do not have to be normalized, and do not need to have the same norm.
|
inlineinherited |
|
inherited |
|
inherited |
*this and other at the parameter t in [0;1].This represents an interpolation for a constant motion between *this and other, see also http://en.wikipedia.org/wiki/Slerp.
|
inlineinherited |
|
inlineinherited |
Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to be normalized, otherwise the result is undefined.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
w coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
w coefficient
|
inlineinherited |
x coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
x coefficient
|
inlineinherited |
y coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
y coefficient
|
inlineinherited |
z coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
z coefficient
|
protected |
| class Eigen::AlignedBox |
An axis aligned box.
\geometry_module
| _Scalar | the type of the scalar coefficients |
| _AmbientDim | the dimension of the ambient space, can be a compile time value or Dynamic. |
This class represents an axis aligned box as a pair of the minimal and maximal corners.
Inheritance diagram for Eigen::AlignedBox< _Scalar, _AmbientDim >:
Collaboration diagram for Eigen::AlignedBox< _Scalar, _AmbientDim >:Public Types | |
| enum | { AmbientDimAtCompileTime = _AmbientDim } |
| enum | CornerType { Min =0 , Max =1 , BottomLeft =0 , BottomRight =1 , TopLeft =2 , TopRight =3 , BottomLeftFloor =0 , BottomRightFloor =1 , TopLeftFloor =2 , TopRightFloor =3 , BottomLeftCeil =4 , BottomRightCeil =5 , TopLeftCeil =6 , TopRightCeil =7 } |
| typedef _Scalar | Scalar |
| typedef NumTraits< Scalar > | ScalarTraits |
| typedef Eigen::Index | Index |
| typedef ScalarTraits::Real | RealScalar |
| typedef ScalarTraits::NonInteger | NonInteger |
| typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
| typedef CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const VectorType, const VectorType > | VectorTypeSum |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | AlignedBox () |
| EIGEN_DEVICE_FUNC | AlignedBox (Index _dim) |
| template<typename OtherVectorType1 , typename OtherVectorType2 > | |
| EIGEN_DEVICE_FUNC | AlignedBox (const OtherVectorType1 &_min, const OtherVectorType2 &_max) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | AlignedBox (const MatrixBase< Derived > &p) |
| EIGEN_DEVICE_FUNC | ~AlignedBox () |
| EIGEN_DEVICE_FUNC Index | dim () const |
| EIGEN_DEVICE_FUNC bool | isNull () const |
| EIGEN_DEVICE_FUNC void | setNull () |
| EIGEN_DEVICE_FUNC bool | isEmpty () const |
| EIGEN_DEVICE_FUNC void | setEmpty () |
| EIGEN_DEVICE_FUNC const VectorType &() | min () const |
| EIGEN_DEVICE_FUNC VectorType &() | min () |
| EIGEN_DEVICE_FUNC const VectorType &() | max () const |
| EIGEN_DEVICE_FUNC VectorType &() | max () |
| EIGEN_DEVICE_FUNC const | EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE (VectorTypeSum, RealScalar, quotient) center() const |
| EIGEN_DEVICE_FUNC const CwiseBinaryOp< internal::scalar_difference_op< Scalar, Scalar >, const VectorType, const VectorType > | sizes () const |
| EIGEN_DEVICE_FUNC Scalar | volume () const |
| EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_difference_op< Scalar, Scalar >, const VectorType, const VectorType > | diagonal () const |
| EIGEN_DEVICE_FUNC VectorType | corner (CornerType corner) const |
| EIGEN_DEVICE_FUNC VectorType | sample () const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC bool | contains (const MatrixBase< Derived > &p) const |
| EIGEN_DEVICE_FUNC bool | contains (const AlignedBox &b) const |
| EIGEN_DEVICE_FUNC bool | intersects (const AlignedBox &b) const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AlignedBox & | extend (const MatrixBase< Derived > &p) |
| EIGEN_DEVICE_FUNC AlignedBox & | extend (const AlignedBox &b) |
| EIGEN_DEVICE_FUNC AlignedBox & | clamp (const AlignedBox &b) |
| EIGEN_DEVICE_FUNC AlignedBox | intersection (const AlignedBox &b) const |
| EIGEN_DEVICE_FUNC AlignedBox | merged (const AlignedBox &b) const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AlignedBox & | translate (const MatrixBase< Derived > &a_t) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Scalar | squaredExteriorDistance (const MatrixBase< Derived > &p) const |
| EIGEN_DEVICE_FUNC Scalar | squaredExteriorDistance (const AlignedBox &b) const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC NonInteger | exteriorDistance (const MatrixBase< Derived > &p) const |
| EIGEN_DEVICE_FUNC NonInteger | exteriorDistance (const AlignedBox &b) const |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< AlignedBox, AlignedBox< NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
| template<typename OtherScalarType > | |
| EIGEN_DEVICE_FUNC | AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) |
| EIGEN_DEVICE_FUNC bool | isApprox (const AlignedBox &other, const RealScalar &prec=ScalarTraits::dummy_precision()) const |
Protected Attributes | |
| VectorType | m_min |
| VectorType | m_max |
| typedef Eigen::Index Eigen::AlignedBox< _Scalar, _AmbientDim >::Index |
| typedef ScalarTraits::NonInteger Eigen::AlignedBox< _Scalar, _AmbientDim >::NonInteger |
| typedef ScalarTraits::Real Eigen::AlignedBox< _Scalar, _AmbientDim >::RealScalar |
| typedef _Scalar Eigen::AlignedBox< _Scalar, _AmbientDim >::Scalar |
| typedef NumTraits<Scalar> Eigen::AlignedBox< _Scalar, _AmbientDim >::ScalarTraits |
| typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::AlignedBox< _Scalar, _AmbientDim >::VectorType |
| typedef CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const VectorType, const VectorType> Eigen::AlignedBox< _Scalar, _AmbientDim >::VectorTypeSum |
| anonymous enum |
| Enumerator | |
|---|---|
| AmbientDimAtCompileTime | |
| enum Eigen::AlignedBox::CornerType |
Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box
|
inline |
Default constructor initializing a null box.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::AmbientDimAtCompileTime, Eigen::Dynamic, and Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty().
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::cast(), Eigen::AlignedBox< _Scalar, _AmbientDim >::intersection(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::merged().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineexplicit |
Constructs a null box with _dim the dimension of the ambient space.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty().
Here is the call graph for this function:
|
inline |
|
inlineexplicit |
|
inline |
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min, Eigen::AlignedBox< _Scalar, _AmbientDim >::max(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::min().
Here is the call graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox().
Here is the call graph for this function:
|
inline |
Clamps *this by the box b and returns a reference to *this.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
*this. References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
*this. References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Slic3r::AABBTreeIndirect::Within< Eigen::AlignedBox< CoordType, NumD > >::operator()().
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::corner(), Eigen::AlignedBox< _Scalar, _AmbientDim >::dim(), EIGEN_STATIC_ASSERT, Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::corner().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::sizes().
Referenced by Slic3r::AABBTreeIndirect::Tree< ANumDimensions, ACoordType >::build_recursive(), igl::AABB< DerivedV, DIM >::squared_distance_helper(), and igl::voxel_grid().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::AmbientDimAtCompileTime, Eigen::Dynamic, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::corner(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::sample().
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
Extends *this such that it contains the box b and returns a reference to *this.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
Extends *this such that it contains the point p and returns a reference to *this.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Slic3r::AABBTreeIndirect::Tree< ANumDimensions, ACoordType >::build_recursive(), igl::copyleft::offset_surface(), igl::AABB< DerivedV, DIM >::squared_distance_helper(), Slic3r::TriangleMesh::transformed_bounding_box(), and Slic3r::transformed_its_bbox2d().
Here is the caller graph for this function:
|
inline |
*this, and zero if the boxes intersect. References sqrt(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::squaredExteriorDistance().
Here is the call graph for this function:
|
inline |
*this, and zero if p is inside the box. References sqrt(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::squaredExteriorDistance().
Here is the call graph for this function:
|
inline |
Returns an AlignedBox that is the intersection of b and *this
References Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Here is the call graph for this function:
|
inline |
*this. References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Slic3r::FFFTreeSupport::merge_influence_areas_two_elements(), Slic3r::AABBTreeIndirect::Intersecting< Eigen::AlignedBox< CoordType, NumD > >::operator()(), Slic3r::AABBTreeIndirect::Within< Eigen::AlignedBox< CoordType, NumD > >::operator()(), and Slic3r::verify_update_print_object_regions().
Here is the caller graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::isNull(), and Slic3r::TriangleMesh::transformed_bounding_box().
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::isEmpty().
Here is the call graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max.
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Slic3r::BuildVolume::all_paths_inside_vertices_and_normals_interleaved(), Slic3r::AABBTreeIndirect::BoundingBoxWrapper::centroid(), Slic3r::FFFTreeSupport::SupportElementMerging::centroid(), Slic3r::AABBTreeIndirect::detail::intersect_triangle_epsilon(), Slic3r::FFFTreeSupport::merge_influence_areas_two_elements(), Slic3r::overlap_in_xy(), igl::ray_box_intersect(), Slic3r::AABBTreeIndirect::detail::ray_box_intersect_invdir(), Slic3r::slices_to_regions(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::transformed_its_bbox2d(), and igl::voxel_grid().
Here is the caller graph for this function:
|
inline |
Returns an AlignedBox that is the union of b and *this.
*this. References Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Here is the call graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Slic3r::BuildVolume::all_paths_inside_vertices_and_normals_interleaved(), Slic3r::AABBTreeIndirect::BoundingBoxWrapper::centroid(), Slic3r::FFFTreeSupport::SupportElementMerging::centroid(), Slic3r::sla::hollow_mesh_and_drill(), Slic3r::AABBTreeIndirect::detail::intersect_triangle_epsilon(), Slic3r::FFFTreeSupport::merge_influence_areas_two_elements(), Slic3r::overlap_in_xy(), igl::ray_box_intersect(), Slic3r::AABBTreeIndirect::detail::ray_box_intersect_invdir(), Slic3r::slices_to_regions(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::transformed_its_bbox2d(), and igl::voxel_grid().
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::dim(), Eigen::GenericNumTraits< T >::IsInteger, Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Here is the call graph for this function:
|
inline |
Makes *this an empty box.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min, and Eigen::PlainObjectBase< Derived >::setConstant().
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::setNull().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty().
Here is the call graph for this function:
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::diagonal(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::volume().
Here is the caller graph for this function:
|
inline |
*this, and zero if the boxes intersect.
|
inline |
*this, and zero if p is inside the box. Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::exteriorDistance(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::exteriorDistance().
Here is the caller graph for this function:
|
inline |
Translate *this by the vector t and returns a reference to *this.
References Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max, and Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min.
|
inline |
References Eigen::AlignedBox< _Scalar, _AmbientDim >::sizes().
Here is the call graph for this function:
|
protected |
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::clamp(), Eigen::AlignedBox< _Scalar, _AmbientDim >::contains(), Eigen::AlignedBox< _Scalar, _AmbientDim >::contains(), Eigen::AlignedBox< _Scalar, _AmbientDim >::corner(), Eigen::AlignedBox< _Scalar, _AmbientDim >::EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(), Eigen::AlignedBox< _Scalar, _AmbientDim >::extend(), Eigen::AlignedBox< _Scalar, _AmbientDim >::extend(), Eigen::AlignedBox< _Scalar, _AmbientDim >::intersection(), Eigen::AlignedBox< _Scalar, _AmbientDim >::intersects(), Eigen::AlignedBox< _Scalar, _AmbientDim >::isApprox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::isEmpty(), Eigen::AlignedBox< _Scalar, _AmbientDim >::max(), Eigen::AlignedBox< _Scalar, _AmbientDim >::max(), Eigen::AlignedBox< _Scalar, _AmbientDim >::merged(), Eigen::AlignedBox< _Scalar, _AmbientDim >::sample(), Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty(), Eigen::AlignedBox< _Scalar, _AmbientDim >::sizes(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::translate().
|
protected |
Referenced by Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::clamp(), Eigen::AlignedBox< _Scalar, _AmbientDim >::contains(), Eigen::AlignedBox< _Scalar, _AmbientDim >::contains(), Eigen::AlignedBox< _Scalar, _AmbientDim >::corner(), Eigen::AlignedBox< _Scalar, _AmbientDim >::dim(), Eigen::AlignedBox< _Scalar, _AmbientDim >::EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(), Eigen::AlignedBox< _Scalar, _AmbientDim >::extend(), Eigen::AlignedBox< _Scalar, _AmbientDim >::extend(), Eigen::AlignedBox< _Scalar, _AmbientDim >::intersection(), Eigen::AlignedBox< _Scalar, _AmbientDim >::intersects(), Eigen::AlignedBox< _Scalar, _AmbientDim >::isApprox(), Eigen::AlignedBox< _Scalar, _AmbientDim >::isEmpty(), Eigen::AlignedBox< _Scalar, _AmbientDim >::merged(), Eigen::AlignedBox< _Scalar, _AmbientDim >::min(), Eigen::AlignedBox< _Scalar, _AmbientDim >::min(), Eigen::AlignedBox< _Scalar, _AmbientDim >::sample(), Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty(), Eigen::AlignedBox< _Scalar, _AmbientDim >::sizes(), and Eigen::AlignedBox< _Scalar, _AmbientDim >::translate().
| class Eigen::AngleAxis |
Represents a 3D rotation as a rotation angle around an arbitrary 3D axis.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients. |
The following two typedefs are provided for convenience:
AngleAxisf for float AngleAxisd for double Combined with MatrixBase::Unit{X,Y,Z}, AngleAxis can be used to easily mimic Euler-angles. Here is an example:
Output:
Inheritance diagram for Eigen::AngleAxis< _Scalar >:
Collaboration diagram for Eigen::AngleAxis< _Scalar >:Public Types | |
| enum | { Dim = 3 } |
| typedef _Scalar | Scalar |
| typedef Matrix< Scalar, 3, 3 > | Matrix3 |
| typedef Matrix< Scalar, 3, 1 > | Vector3 |
| typedef Quaternion< Scalar > | QuaternionType |
| enum | |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | AngleAxis () |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | AngleAxis (const Scalar &angle, const MatrixBase< Derived > &axis) |
| template<typename QuatDerived > | |
| EIGEN_DEVICE_FUNC | AngleAxis (const QuaternionBase< QuatDerived > &q) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | AngleAxis (const MatrixBase< Derived > &m) |
| EIGEN_DEVICE_FUNC Scalar | angle () const |
| EIGEN_DEVICE_FUNC Scalar & | angle () |
| EIGEN_DEVICE_FUNC const Vector3 & | axis () const |
| EIGEN_DEVICE_FUNC Vector3 & | axis () |
| EIGEN_DEVICE_FUNC QuaternionType | operator* (const AngleAxis &other) const |
| EIGEN_DEVICE_FUNC QuaternionType | operator* (const QuaternionType &other) const |
| EIGEN_DEVICE_FUNC AngleAxis | inverse () const |
| template<class QuatDerived > | |
| EIGEN_DEVICE_FUNC AngleAxis & | operator= (const QuaternionBase< QuatDerived > &q) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AngleAxis & | operator= (const MatrixBase< Derived > &m) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AngleAxis & | fromRotationMatrix (const MatrixBase< Derived > &m) |
| EIGEN_DEVICE_FUNC Matrix3 | toRotationMatrix (void) const |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< AngleAxis, AngleAxis< NewScalarType > >::type | cast () const |
| template<typename OtherScalarType > | |
| EIGEN_DEVICE_FUNC | AngleAxis (const AngleAxis< OtherScalarType > &other) |
| EIGEN_DEVICE_FUNC bool | isApprox (const AngleAxis &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename QuatDerived > | |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & | operator= (const QuaternionBase< QuatDerived > &q) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & | operator= (const MatrixBase< Derived > &mat) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & | fromRotationMatrix (const MatrixBase< Derived > &mat) |
Sets *this from a 3x3 rotation matrix. | |
| EIGEN_DEVICE_FUNC const AngleAxis< _Scalar > & | derived () const |
| EIGEN_DEVICE_FUNC AngleAxis< _Scalar > & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< AngleAxis< _Scalar >, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC const AngleAxis | Identity () |
Protected Attributes | |
| Vector3 | m_axis |
| Scalar | m_angle |
Private Types | |
| typedef RotationBase< AngleAxis< _Scalar >, 3 > | Base |
Friends | |
| EIGEN_DEVICE_FUNC QuaternionType | operator* (const QuaternionType &a, const AngleAxis &b) |
|
private |
| typedef Matrix<Scalar,3,3> Eigen::AngleAxis< _Scalar >::Matrix3 |
| typedef Quaternion<Scalar> Eigen::AngleAxis< _Scalar >::QuaternionType |
|
inherited |
corresponding linear transformation matrix type
| typedef _Scalar Eigen::AngleAxis< _Scalar >::Scalar |
the scalar type of the coefficients
| typedef Matrix<Scalar,3,1> Eigen::AngleAxis< _Scalar >::Vector3 |
|
inherited |
| anonymous enum |
| Enumerator | |
|---|---|
| Dim | |
|
inherited |
|
inline |
Default constructor without initialization.
Referenced by Eigen::AngleAxis< _Scalar >::Identity(), and Eigen::AngleAxis< _Scalar >::inverse().
Here is the caller graph for this function:
|
inline |
Constructs and initialize the angle-axis rotation from an angle in radian and an axis which must be normalized.
|
inlineexplicit |
Constructs and initialize the angle-axis rotation from a quaternion q. This function implicitly normalizes the quaternion q.
|
inlineexplicit |
Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix.
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::AngleAxis< _Scalar >::angle(), Eigen::AngleAxis< _Scalar >::axis(), Eigen::AngleAxis< _Scalar >::m_angle, and Eigen::AngleAxis< _Scalar >::m_axis.
Here is the call graph for this function:
|
inlineinherited |
|
inline |
References Eigen::AngleAxis< _Scalar >::m_angle.
|
inline |
References Eigen::AngleAxis< _Scalar >::m_angle.
Referenced by Eigen::AngleAxis< _Scalar >::AngleAxis(), Slic3r::GUI::is_rotation_xy_synchronized(), and Eigen::QuaternionBase< Derived >::operator=().
Here is the caller graph for this function:
|
inline |
References Eigen::AngleAxis< _Scalar >::m_axis.
|
inline |
References Eigen::AngleAxis< _Scalar >::m_axis.
Referenced by Eigen::AngleAxis< _Scalar >::AngleAxis(), Slic3r::GUI::is_rotation_xy_synchronized(), and Eigen::QuaternionBase< Derived >::operator=().
Here is the caller graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inlineinherited |
|
inlineinherited |
| EIGEN_DEVICE_FUNC AngleAxis & Eigen::AngleAxis< _Scalar >::fromRotationMatrix | ( | const MatrixBase< Derived > & | m | ) |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & Eigen::AngleAxis< _Scalar >::fromRotationMatrix | ( | const MatrixBase< Derived > & | mat | ) |
Sets *this from a 3x3 rotation matrix.
|
inlinestatic |
|
inline |
References Eigen::AngleAxis< _Scalar >::AngleAxis(), Eigen::AngleAxis< _Scalar >::m_angle, and Eigen::AngleAxis< _Scalar >::m_axis.
Here is the call graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::internal::isApprox(), Eigen::AngleAxis< _Scalar >::m_angle, and Eigen::AngleAxis< _Scalar >::m_axis.
Here is the call graph for this function:
|
inlineinherited |
|
inline |
Concatenates two rotations
|
inlineinherited |
*this with a generic expression e e can be:
|
inline |
Concatenates two rotations
|
inlineinherited |
*this with a transformation t
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s | EIGEN_DEVICE_FUNC AngleAxis & Eigen::AngleAxis< _Scalar >::operator= | ( | const MatrixBase< Derived > & | m | ) |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & Eigen::AngleAxis< _Scalar >::operator= | ( | const MatrixBase< Derived > & | mat | ) |
Set *this from a 3x3 rotation matrix mat.
| EIGEN_DEVICE_FUNC AngleAxis & Eigen::AngleAxis< _Scalar >::operator= | ( | const QuaternionBase< QuatDerived > & | q | ) |
| EIGEN_DEVICE_FUNC AngleAxis< Scalar > & Eigen::AngleAxis< _Scalar >::operator= | ( | const QuaternionBase< QuatDerived > & | q | ) |
Set *this from a unit quaternion.
The resulting axis is normalized, and the computed angle is in the [0,pi] range.
This function implicitly normalizes the quaternion q.
References Eigen::QuaternionBase< Derived >::vec(), and Eigen::QuaternionBase< Derived >::w().
Here is the call graph for this function:| AngleAxis< Scalar >::Matrix3 EIGEN_DEVICE_FUNC Eigen::AngleAxis< Scalar >::toRotationMatrix | ( | void | ) | const |
Constructs and
References Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef(), cos(), and sin().
Referenced by igl::embree::EmbreeIntersector::intersectBeam(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GUI::GLGizmoSlaSupports::render_points(), Slic3r::GUI::GLGizmoHollow::update_hole_raycasters_for_picking_transform(), and Slic3r::GUI::GLGizmoSlaSupports::update_point_raycasters_for_picking_transform().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Concatenates two rotations
|
protected |
|
protected |
| class Eigen::Homogeneous |
Expression of one (or a set of) homogeneous vector(s)
\geometry_module
| MatrixType | the type of the object in which we are making homogeneous |
This class represents an expression of one (or a set of) homogeneous vector(s). It is the return type of MatrixBase::homogeneous() and most of the time this is the only way it is used.
Inheritance diagram for Eigen::Homogeneous< MatrixType, _Direction >:
Collaboration diagram for Eigen::Homogeneous< MatrixType, _Direction >:Public Types | |
| enum | { Direction = _Direction } |
| typedef MatrixType | NestedExpression |
| typedef MatrixBase< Homogeneous > | Base |
| enum | |
| enum | |
| typedef MatrixBase | StorageBaseType |
| typedef internal::traits< Homogeneous< MatrixType, _Direction > >::StorageKind | StorageKind |
| typedef internal::traits< Homogeneous< MatrixType, _Direction > >::StorageIndex | StorageIndex |
| typedef internal::traits< Homogeneous< MatrixType, _Direction > >::Scalar | Scalar |
| typedef internal::packet_traits< Scalar >::type | PacketScalar |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Base::CoeffReturnType | CoeffReturnType |
| typedef Base::ConstTransposeReturnType | ConstTransposeReturnType |
| typedef Base::RowXpr | RowXpr |
| typedef Base::ColXpr | ColXpr |
| typedef Matrix< Scalar, EIGEN_SIZE_MAX(RowsAtCompileTime, ColsAtCompileTime), EIGEN_SIZE_MAX(RowsAtCompileTime, ColsAtCompileTime)> | SquareMatrixType |
| typedef Base::PlainObject | PlainObject |
| typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, PlainObject > | ConstantReturnType |
| typedef internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, ConstTransposeReturnType >, ConstTransposeReturnType >::type | AdjointReturnType |
| typedef Matrix< std::complex< RealScalar >, internal::traits< Homogeneous< MatrixType, _Direction > >::ColsAtCompileTime, 1, ColMajor > | EigenvaluesReturnType |
| typedef CwiseNullaryOp< internal::scalar_identity_op< Scalar >, PlainObject > | IdentityReturnType |
| typedef Block< const CwiseNullaryOp< internal::scalar_identity_op< Scalar >, SquareMatrixType >, internal::traits< Homogeneous< MatrixType, _Direction > >::RowsAtCompileTime, internal::traits< Homogeneous< MatrixType, _Direction > >::ColsAtCompileTime > | BasisReturnType |
| typedef Diagonal< Homogeneous< MatrixType, _Direction > > | DiagonalReturnType |
| typedef internal::add_const< Diagonal< constDerived > >::type | ConstDiagonalReturnType |
| typedef Diagonal< Homogeneous< MatrixType, _Direction >, DynamicIndex > | DiagonalDynamicIndexReturnType |
| typedef internal::add_const< Diagonal< constDerived, DynamicIndex > >::type | ConstDiagonalDynamicIndexReturnType |
| typedef Homogeneous< Homogeneous< MatrixType, _Direction >, HomogeneousReturnTypeDirection > | HomogeneousReturnType |
| typedef Block< const Homogeneous< MatrixType, _Direction >, internal::traits< Homogeneous< MatrixType, _Direction > >::ColsAtCompileTime==1 ? SizeMinusOne :1, internal::traits< Homogeneous< MatrixType, _Direction > >::ColsAtCompileTime==1 ? 1 :SizeMinusOne > | ConstStartMinusOne |
| typedef internal::stem_function< Scalar >::type | StemFunction |
| enum | { RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime , ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime , SizeAtCompileTime , MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime , MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime , MaxSizeAtCompileTime , IsVectorAtCompileTime , Flags = internal::traits<Derived>::Flags , IsRowMajor = int(Flags) & RowMajorBit , InnerSizeAtCompileTime , InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret , OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret } |
| enum | { IsPlainObjectBase = 0 } |
| typedef Eigen::InnerIterator< Derived > | InnerIterator |
| typedef Scalar | value_type |
| typedef Matrix< typename internal::traits< Derived >::Scalar, internal::traits< Derived >::RowsAtCompileTime, internal::traits< Derived >::ColsAtCompileTime, AutoAlign|(internal::traits< Derived >::Flags &RowMajorBit ? RowMajor :ColMajor), internal::traits< Derived >::MaxRowsAtCompileTime, internal::traits< Derived >::MaxColsAtCompileTime > | PlainMatrix |
| typedef Array< typename internal::traits< Derived >::Scalar, internal::traits< Derived >::RowsAtCompileTime, internal::traits< Derived >::ColsAtCompileTime, AutoAlign|(internal::traits< Derived >::Flags &RowMajorBit ? RowMajor :ColMajor), internal::traits< Derived >::MaxRowsAtCompileTime, internal::traits< Derived >::MaxColsAtCompileTime > | PlainArray |
| typedef CwiseNullaryOp< internal::linspaced_op< Scalar, PacketScalar >, PlainObject > | SequentialLinSpacedReturnType |
| typedef CwiseNullaryOp< internal::linspaced_op< Scalar, PacketScalar >, PlainObject > | RandomAccessLinSpacedReturnType |
| typedef Transpose< Derived > | TransposeReturnType |
| typedef internal::add_const_on_value_type< typenameinternal::eval< Derived >::type >::type | EvalReturnType |
| typedef VectorwiseOp< Derived, Horizontal > | RowwiseReturnType |
| typedef const VectorwiseOp< const Derived, Horizontal > | ConstRowwiseReturnType |
| typedef VectorwiseOp< Derived, Vertical > | ColwiseReturnType |
| typedef const VectorwiseOp< const Derived, Vertical > | ConstColwiseReturnType |
| typedef CwiseNullaryOp< internal::scalar_random_op< Scalar >, PlainObject > | RandomReturnType |
| typedef Reverse< Derived, BothDirections > | ReverseReturnType |
| typedef const Reverse< const Derived, BothDirections > | ConstReverseReturnType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | Homogeneous (const MatrixType &matrix) |
| EIGEN_DEVICE_FUNC Index | rows () const |
| EIGEN_DEVICE_FUNC Index | cols () const |
| EIGEN_DEVICE_FUNC const NestedExpression & | nestedExpression () const |
| template<typename Rhs > | |
| EIGEN_DEVICE_FUNC const Product< Homogeneous, Rhs > | operator* (const MatrixBase< Rhs > &rhs) const |
| template<typename Func > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::result_of< Func(Scalar, Scalar)>::type | redux (const Func &func) const |
| EIGEN_DEVICE_FUNC Index | diagonalSize () const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator+= (const MatrixBase< OtherDerived > &other) |
| EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator+= (const MatrixBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC Homogeneous< MatrixType, _Direction > & | operator+= (const EigenBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator-= (const MatrixBase< OtherDerived > &other) |
| EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator-= (const MatrixBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC Homogeneous< MatrixType, _Direction > & | operator-= (const EigenBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC const Product< Homogeneous< MatrixType, _Direction >, OtherDerived > | operator* (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC const Product< Homogeneous< MatrixType, _Direction >, DiagonalDerived, LazyProduct > | operator* (const DiagonalBase< DiagonalDerived > &diagonal) const |
| EIGEN_DEVICE_FUNC const Product< Homogeneous< MatrixType, _Direction >, OtherDerived, LazyProduct > | lazyProduct (const MatrixBase< OtherDerived > &other) const |
| const Product< Homogeneous< MatrixType, _Direction >, OtherDerived, LazyProduct > | lazyProduct (const MatrixBase< OtherDerived > &other) const |
| Homogeneous< MatrixType, _Direction > & | operator*= (const EigenBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator*= (const Scalar &other) |
| void | applyOnTheLeft (const EigenBase< OtherDerived > &other) |
| void | applyOnTheLeft (Index p, Index q, const JacobiRotation< OtherScalar > &j) |
| void | applyOnTheRight (const EigenBase< OtherDerived > &other) |
| void | applyOnTheRight (Index p, Index q, const JacobiRotation< OtherScalar > &j) |
| EIGEN_DEVICE_FUNC ScalarBinaryOpTraits< typenameinternal::traits< Homogeneous< MatrixType, _Direction > >::Scalar, typenameinternal::traits< OtherDerived >::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarBinaryOpTraits< typenameinternal::traits< Homogeneous< MatrixType, _Direction > >::Scalar, typenameinternal::traits< OtherDerived >::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC RealScalar | squaredNorm () const |
| EIGEN_DEVICE_FUNC RealScalar | norm () const |
| RealScalar | stableNorm () const |
| RealScalar | blueNorm () const |
| RealScalar | hypotNorm () const |
| EIGEN_DEVICE_FUNC const PlainObject | normalized () const |
| EIGEN_DEVICE_FUNC const PlainObject | stableNormalized () const |
| EIGEN_DEVICE_FUNC void | normalize () |
| EIGEN_DEVICE_FUNC void | stableNormalize () |
| EIGEN_DEVICE_FUNC const AdjointReturnType | adjoint () const |
| EIGEN_DEVICE_FUNC void | adjointInPlace () |
| EIGEN_DEVICE_FUNC DiagonalReturnType | diagonal () |
| EIGEN_DEVICE_FUNC ConstDiagonalReturnType | diagonal () const |
| EIGEN_DEVICE_FUNC DiagonalIndexReturnType< Index >::Type | diagonal () |
| EIGEN_DEVICE_FUNC ConstDiagonalIndexReturnType< Index >::Type | diagonal () const |
| EIGEN_DEVICE_FUNC DiagonalDynamicIndexReturnType | diagonal (Index index) |
| EIGEN_DEVICE_FUNC ConstDiagonalDynamicIndexReturnType | diagonal (Index index) const |
| EIGEN_DEVICE_FUNC TriangularViewReturnType< Mode >::Type | triangularView () |
| EIGEN_DEVICE_FUNC ConstTriangularViewReturnType< Mode >::Type | triangularView () const |
| MatrixBase< Homogeneous< MatrixType, _Direction > >::template TriangularViewReturnType< Mode >::Type | triangularView () |
| MatrixBase< Homogeneous< MatrixType, _Direction > >::template ConstTriangularViewReturnType< Mode >::Type | triangularView () const |
| EIGEN_DEVICE_FUNC SelfAdjointViewReturnType< UpLo >::Type | selfadjointView () |
| EIGEN_DEVICE_FUNC ConstSelfAdjointViewReturnType< UpLo >::Type | selfadjointView () const |
| MatrixBase< Homogeneous< MatrixType, _Direction > >::template ConstSelfAdjointViewReturnType< UpLo >::Type | selfadjointView () const |
| MatrixBase< Homogeneous< MatrixType, _Direction > >::template SelfAdjointViewReturnType< UpLo >::Type | selfadjointView () |
| const SparseView< Homogeneous< MatrixType, _Direction > > | sparseView (const Scalar &m_reference=Scalar(0), const typename NumTraits< Scalar >::Real &m_epsilon=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC const DiagonalWrapper< const Homogeneous< MatrixType, _Direction > > | asDiagonal () const |
| const PermutationWrapper< const Homogeneous< MatrixType, _Direction > > | asPermutation () const |
| EIGEN_DEVICE_FUNC Homogeneous< MatrixType, _Direction > & | setIdentity () |
| EIGEN_DEVICE_FUNC Homogeneous< MatrixType, _Direction > & | setIdentity (Index rows, Index cols) |
| Resizes to the given size, and writes the identity expression (not necessarily square) into *this. | |
| bool | isIdentity (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isDiagonal (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isUpperTriangular (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isLowerTriangular (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isOrthogonal (const MatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isUnitary (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC bool | operator== (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC bool | operator!= (const MatrixBase< OtherDerived > &other) const |
| NoAlias< Homogeneous< MatrixType, _Direction >, Eigen::MatrixBase > | noalias () |
| const Homogeneous< MatrixType, _Direction > & | forceAlignedAccess () const |
| Homogeneous< MatrixType, _Direction > & | forceAlignedAccess () |
| const Homogeneous< MatrixType, _Direction > & | forceAlignedAccessIf () const |
| Homogeneous< MatrixType, _Direction > & | forceAlignedAccessIf () |
| internal::add_const_on_value_type< typenameinternal::conditional< Enable, ForceAlignedAccess< Homogeneous< MatrixType, _Direction > >, Homogeneous< MatrixType, _Direction > & >::type >::type | forceAlignedAccessIf () const |
| internal::conditional< Enable, ForceAlignedAccess< Homogeneous< MatrixType, _Direction > >, Homogeneous< MatrixType, _Direction > & >::type | forceAlignedAccessIf () |
| EIGEN_DEVICE_FUNC Scalar | trace () const |
| EIGEN_DEVICE_FUNC RealScalar | lpNorm () const |
| NumTraits< typenameinternal::traits< Homogeneous< MatrixType, _Direction > >::Scalar >::Real | lpNorm () const |
| EIGEN_DEVICE_FUNC MatrixBase< Homogeneous< MatrixType, _Direction > > & | matrix () |
| EIGEN_DEVICE_FUNC const MatrixBase< Homogeneous< MatrixType, _Direction > > & | matrix () const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ArrayWrapper< Homogeneous< MatrixType, _Direction > > | array () |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArrayWrapper< const Homogeneous< MatrixType, _Direction > > | array () const |
| const FullPivLU< PlainObject > | fullPivLu () const |
| const PartialPivLU< PlainObject > | partialPivLu () const |
| const PartialPivLU< PlainObject > | lu () const |
| const Inverse< Homogeneous< MatrixType, _Direction > > | inverse () const |
| void | computeInverseAndDetWithCheck (ResultType &inverse, typename ResultType::Scalar &determinant, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const |
| void | computeInverseWithCheck (ResultType &inverse, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const |
| Scalar | determinant () const |
| const LLT< PlainObject > | llt () const |
| const LDLT< PlainObject > | ldlt () const |
| const HouseholderQR< PlainObject > | householderQr () const |
| const ColPivHouseholderQR< PlainObject > | colPivHouseholderQr () const |
| const FullPivHouseholderQR< PlainObject > | fullPivHouseholderQr () const |
| const CompleteOrthogonalDecomposition< PlainObject > | completeOrthogonalDecomposition () const |
| EigenvaluesReturnType | eigenvalues () const |
| Computes the eigenvalues of a matrix. | |
| RealScalar | operatorNorm () const |
| Computes the L2 operator norm. | |
| JacobiSVD< PlainObject > | jacobiSvd (unsigned int computationOptions=0) const |
| BDCSVD< PlainObject > | bdcSvd (unsigned int computationOptions=0) const |
| EIGEN_DEVICE_FUNC cross_product_return_type< OtherDerived >::type | cross (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC MatrixBase< Homogeneous< MatrixType, _Direction > >::template cross_product_return_type< OtherDerived >::type | cross (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC PlainObject | cross3 (const MatrixBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC PlainObject | unitOrthogonal (void) const |
| EIGEN_DEVICE_FUNC Matrix< Scalar, 3, 1 > | eulerAngles (Index a0, Index a1, Index a2) const |
| EIGEN_DEVICE_FUNC HomogeneousReturnType | homogeneous () const |
| typedef | EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE (ConstStartMinusOne, Scalar, quotient) HNormalizedReturnType |
| EIGEN_DEVICE_FUNC const HNormalizedReturnType | hnormalized () const |
| homogeneous normalization | |
| void | makeHouseholderInPlace (Scalar &tau, RealScalar &beta) |
| void | makeHouseholder (EssentialPart &essential, Scalar &tau, RealScalar &beta) const |
| void | applyHouseholderOnTheLeft (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) |
| void | applyHouseholderOnTheRight (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) |
| EIGEN_STRONG_INLINE const SparseMatrixBase< OtherDerived >::template CwiseProductDenseReturnType< Homogeneous< MatrixType, _Direction > >::Type | cwiseProduct (const SparseMatrixBase< OtherDerived > &other) const |
| const MatrixFunctionReturnValue< Homogeneous< MatrixType, _Direction > > | matrixFunction (StemFunction f) const |
| Helper function for the unsupported MatrixFunctions module. | |
| EIGEN_DEVICE_FUNC Homogeneous< MatrixType, _Direction > & | lazyAssign (const DenseBase< OtherDerived > &other) |
| EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | lazyAssign (const DenseBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType | eval () const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Homogeneous< MatrixType, _Direction > & | operator/= (const Scalar &other) |
| EIGEN_DEVICE_FUNC Index | nonZeros () const |
| EIGEN_DEVICE_FUNC Index | outerSize () const |
| EIGEN_DEVICE_FUNC Index | innerSize () const |
| EIGEN_DEVICE_FUNC void | resize (Index newSize) |
| EIGEN_DEVICE_FUNC void | resize (Index rows, Index cols) |
| EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const Scalar &s) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
| template<unsigned int Added, unsigned int Removed> | |
| EIGEN_DEPRECATED const Derived & | flagged () const |
| EIGEN_DEVICE_FUNC TransposeReturnType | transpose () |
| EIGEN_DEVICE_FUNC ConstTransposeReturnType | transpose () const |
| EIGEN_DEVICE_FUNC void | transposeInPlace () |
| template<typename CustomNullaryOp > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
| template<typename CustomNullaryOp > | |
| EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
| template<typename CustomNullaryOp > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
| EIGEN_DEVICE_FUNC void | fill (const Scalar &value) |
| EIGEN_DEVICE_FUNC Derived & | setConstant (const Scalar &value) |
| EIGEN_DEVICE_FUNC Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
| Sets a linearly spaced vector. | |
| EIGEN_DEVICE_FUNC Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
| Sets a linearly spaced vector. | |
| EIGEN_DEVICE_FUNC Derived & | setZero () |
| EIGEN_DEVICE_FUNC Derived & | setOnes () |
| EIGEN_DEVICE_FUNC Derived & | setRandom () |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename OtherDerived > | |
| bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec) const |
| EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename Derived > | |
| bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
| template<typename OtherDerived > | |
| bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec) const |
| EIGEN_DEVICE_FUNC bool | isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC bool | isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | hasNaN () const |
| bool | allFinite () const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC void | swap (const DenseBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC void | swap (PlainObjectBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC const NestByValue< Derived > | nestByValue () const |
| EIGEN_DEVICE_FUNC Scalar | sum () const |
| EIGEN_DEVICE_FUNC Scalar | mean () const |
| EIGEN_DEVICE_FUNC Scalar | prod () const |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
| template<typename IndexType > | |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
| template<typename IndexType > | |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
| template<typename IndexType > | |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
| template<typename IndexType > | |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
| template<typename BinaryOp > | |
| EIGEN_DEVICE_FUNC Scalar | redux (const BinaryOp &func) const |
| template<typename Visitor > | |
| EIGEN_DEVICE_FUNC void | visit (Visitor &func) const |
| const WithFormat< Derived > | format (const IOFormat &fmt) const |
| EIGEN_DEVICE_FUNC CoeffReturnType | value () const |
| EIGEN_DEVICE_FUNC bool | all () const |
| EIGEN_DEVICE_FUNC bool | any () const |
| EIGEN_DEVICE_FUNC Index | count () const |
| EIGEN_DEVICE_FUNC ConstRowwiseReturnType | rowwise () const |
| EIGEN_DEVICE_FUNC RowwiseReturnType | rowwise () |
| EIGEN_DEVICE_FUNC ConstColwiseReturnType | colwise () const |
| EIGEN_DEVICE_FUNC ColwiseReturnType | colwise () |
| template<typename ThenDerived , typename ElseDerived > | |
| const Select< Derived, ThenDerived, ElseDerived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const |
| template<typename ThenDerived > | |
| const Select< Derived, ThenDerived, typename ThenDerived::ConstantReturnType > | select (const DenseBase< ThenDerived > &thenMatrix, const typename ThenDerived::Scalar &elseScalar) const |
| template<typename ElseDerived > | |
| const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
| template<int RowFactor, int ColFactor> | |
| EIGEN_DEVICE_FUNC const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
| EIGEN_DEVICE_FUNC const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFactor, Index colFactor) const |
| template<int RowFactor, int ColFactor> | |
| const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
| EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
| EIGEN_DEVICE_FUNC ConstReverseReturnType | reverse () const |
| EIGEN_DEVICE_FUNC void | reverseInPlace () |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | evalTo (Dest &) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC const IdentityReturnType | Identity () |
| static EIGEN_DEVICE_FUNC const IdentityReturnType | Identity (Index rows, Index cols) |
| static EIGEN_DEVICE_FUNC const BasisReturnType | Unit (Index size, Index i) |
| static EIGEN_DEVICE_FUNC const BasisReturnType | Unit (Index i) |
| static EIGEN_DEVICE_FUNC const BasisReturnType | UnitX () |
| static EIGEN_DEVICE_FUNC const BasisReturnType | UnitY () |
| static EIGEN_DEVICE_FUNC const BasisReturnType | UnitZ () |
| static EIGEN_DEVICE_FUNC const BasisReturnType | UnitW () |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (Index rows, Index cols, const Scalar &value) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (Index size, const Scalar &value) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (const Scalar &value) |
| static EIGEN_DEVICE_FUNC const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high) |
| static EIGEN_DEVICE_FUNC const RandomAccessLinSpacedReturnType | LinSpaced (Index size, const Scalar &low, const Scalar &high) |
| Sets a linearly spaced vector. | |
| static EIGEN_DEVICE_FUNC const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, const Scalar &low, const Scalar &high) |
| static EIGEN_DEVICE_FUNC const RandomAccessLinSpacedReturnType | LinSpaced (const Scalar &low, const Scalar &high) |
| Sets a linearly spaced vector. | |
| template<typename CustomNullaryOp > | |
| static EIGEN_DEVICE_FUNC const CwiseNullaryOp< CustomNullaryOp, PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
| template<typename CustomNullaryOp > | |
| static EIGEN_DEVICE_FUNC const CwiseNullaryOp< CustomNullaryOp, PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
| template<typename CustomNullaryOp > | |
| static EIGEN_DEVICE_FUNC const CwiseNullaryOp< CustomNullaryOp, PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero (Index rows, Index cols) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero (Index size) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero () |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones (Index rows, Index cols) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones (Index size) |
| static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones () |
| static const RandomReturnType | Random (Index rows, Index cols) |
| static const RandomReturnType | Random (Index size) |
| static const RandomReturnType | Random () |
Protected Member Functions | |
| Homogeneous< MatrixType, _Direction > & | operator+= (const ArrayBase< OtherDerived > &) |
| Homogeneous< MatrixType, _Direction > & | operator-= (const ArrayBase< OtherDerived > &) |
Protected Attributes | |
| MatrixType::Nested | m_matrix |
Friends | |
| template<typename Lhs > | |
| EIGEN_DEVICE_FUNC const Product< Lhs, Homogeneous > | operator* (const MatrixBase< Lhs > &lhs, const Homogeneous &rhs) |
| template<typename Scalar , int Dim, int Mode, int Options> | |
| EIGEN_DEVICE_FUNC const Product< Transform< Scalar, Dim, Mode, Options >, Homogeneous > | operator* (const Transform< Scalar, Dim, Mode, Options > &lhs, const Homogeneous &rhs) |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<typename Derived > | |
| std::ostream & | operator<< (std::ostream &s, const DenseBase< Derived > &m) |
|
inherited |
| typedef MatrixBase<Homogeneous> Eigen::Homogeneous< MatrixType, _Direction >::Base |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Inner iterator type to iterate over the coefficients of a row or column.
| typedef MatrixType Eigen::Homogeneous< MatrixType, _Direction >::NestedExpression |
|
inherited |
|
inherited |
The plain array type corresponding to this expression.
|
inherited |
The plain matrix type corresponding to this expression.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
type of the equivalent square matrix
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
The numeric type of the expression' coefficients, e.g. float, double, int or std::complex<float>, etc.
It is an alias for the Scalar type
|
inherited |
| Enumerator | |
|---|---|
| RowsAtCompileTime | The number of rows at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
| ColsAtCompileTime | The number of columns at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
| SizeAtCompileTime | This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.
|
| MaxRowsAtCompileTime | This value is equal to the maximum possible number of rows that this expression might have. If this expression might have an arbitrarily high number of rows, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
| MaxColsAtCompileTime | This value is equal to the maximum possible number of columns that this expression might have. If this expression might have an arbitrarily high number of columns, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
| MaxSizeAtCompileTime | This value is equal to the maximum possible number of coefficients that this expression might have. If this expression might have an arbitrarily high number of coefficients, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
| IsVectorAtCompileTime | This is set to true if either the number of rows or the number of columns is known at compile-time to be equal to 1. Indeed, in that case, we are dealing with a column-vector (if there is only one column) or with a row-vector (if there is only one row). |
| Flags | This stores expression Flags flags which may or may not be inherited by new expressions constructed from this one. See the list of flags. |
| IsRowMajor | True if this expression has row-major storage order. |
| InnerSizeAtCompileTime | |
| InnerStrideAtCompileTime | |
| OuterStrideAtCompileTime | |
|
inherited |
| Enumerator | |
|---|---|
| IsPlainObjectBase | |
|
inherited |
|
inherited |
| anonymous enum |
| Enumerator | |
|---|---|
| Direction | |
|
inlineexplicit |
|
inlineinherited |
Example:
Output:
|
inlineinherited |
This is the "in place" version of adjoint(): it replaces *this by its own transpose. Thus, doing
has the same effect on m as doing
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own adjoint. If you just need the adjoint of a matrix, use adjoint().
*this must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.
|
inlineinherited |
Example:
Output:
References Eigen::Dynamic, and EIGEN_UNROLLING_LIMIT.
|
inlineinherited |
*this contains only finite numbers, i.e., no NaN and no +/-INF values.
|
inlineinherited |
References Eigen::Dynamic, and EIGEN_UNROLLING_LIMIT.
|
inherited |
Apply the elementary reflector H given by
On input:
| essential | the essential part of the vector v |
| tau | the scaling factor of the Householder transformation |
| workspace | a pointer to working space with at least this->cols() * essential.size() entries |
|
inherited |
Apply the elementary reflector H given by
On input:
| essential | the essential part of the vector v |
| tau | the scaling factor of the Householder transformation |
| workspace | a pointer to working space with at least this->cols() * essential.size() entries |
|
inlineinherited |
replaces *this by other * *this.
Example:
Output:
|
inlineinherited |
\jacobi_module Applies the rotation in the plane j to the rows p and q of *this, i.e., it computes B = J * B, with
|
inlineinherited |
replaces *this by *this * other. It is equivalent to MatrixBase::operator*=().
Example:
Output:
|
inlineinherited |
Applies the rotation in the plane j to the columns p and q of *this, i.e., it computes B = B * J with
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
\only_for_vectors
Example:
Output:
|
inherited |
|
inlineinherited |
\svd_module
*this computed by Divide & Conquer algorithm
|
inlineinherited |
*this using the Blue's algorithm. A Portable Fortran Program to Find the Euclidean Norm of a Vector, ACM TOMS, Vol 4, Issue 1, 1978.For architecture/scalar types without vectorization, this version is much faster than stableNorm(). Otherwise the stableNorm() is faster.
|
inlineinherited |
*this.
|
inline |
References Eigen::Horizontal.
Referenced by Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Vertical >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run(), and Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Horizontal >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run().
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
Example:
Output:
Referenced by igl::bounding_box(), igl::copyleft::offset_surface(), and Eigen::umeyama().
Here is the caller graph for this function:
|
inlineinherited |
*this.
|
inlineinherited |
\lu_module
Computation of matrix inverse and determinant, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| inverse | Reference to the matrix in which to store the inverse. |
| determinant | Reference to the variable in which to store the determinant. |
| invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
| absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
|
inlineinherited |
\lu_module
Computation of matrix inverse, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| inverse | Reference to the matrix in which to store the inverse. |
| invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
| absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
|
staticinherited |
This variant is only for fixed-size DenseBase types. For dynamic-size types, you need to use the variants taking size arguments.
The template parameter CustomNullaryOp is the type of the functor.
References EIGEN_STATIC_ASSERT_FIXED_SIZE, and Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
staticinherited |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this DenseBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
References Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
staticinherited |
The parameter size is the size of the returned vector. Must be compatible with this DenseBase type.
\only_for_vectors
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
References Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
\geometry_module
*this and other Here is a very good explanation of cross-product: http://xkcd.com/199/
With complex numbers, the cross product is implemented as
|
inlineinherited |
\geometry_module
*this and other using only the x, y, and z coefficientsThe size of *this and other must be four. This function is especially useful when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
|
inlineinherited |
|
inlineinherited |
\lu_module
|
inlineinherited |
*this *this is not required to be square.
Example:
Output:
*this *this is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
|
inherited |
|
inlineinherited |
This is the const version of diagonal().
This is the const version of diagonal<int>().
|
inherited |
|
inlineinherited |
*this *this is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
|
inlineinherited |
This is the const version of diagonal(Index).
|
inlineinherited |
|
inherited |
|
inherited |
\only_for_vectors
|
inherited |
|
inlineinherited |
Computes the eigenvalues of a matrix.
\eigenvalues_module This function computes the eigenvalues with the help of the EigenSolver class (for real matrices) or the ComplexEigenSolver class (for complex matrices).
The eigenvalues are repeated according to their algebraic multiplicity, so there are as many eigenvalues as rows in the matrix.
The SelfAdjointView class provides a better algorithm for selfadjoint matrices.
Example:
Output:
|
inlineinherited |
\geometry_module
*this using the convention defined by the triplet (a0,a1,a2)Each of the three parameters a0,a1,a2 represents the respective rotation axis as an integer in {0,1,2}. For instance, in:
"2" represents the z axis and "0" the x axis, etc. The returned angles are such that we have the following equality:
This corresponds to the right-multiply conventions (with right hand side frames).
The returned angles are in the ranges [0:pi]x[-pi:pi]x[-pi:pi].
|
inlineinherited |
Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy.
|
inlineinherited |
References EIGEN_STATIC_ASSERT.
|
inherited |
Alias for setConstant(): sets all coefficients in this expression to val.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
See class IOFormat for some examples.
Referenced by igl::matlab_format(), and igl::writeOBJ().
Here is the caller graph for this function:
|
inlineinherited |
*this.
|
inlineinherited |
|
inlineinherited |
*this contains at least one Not A Number (NaN).
|
inlineinherited |
homogeneous normalization
\geometry_module
*this divided by that last coefficient.This can be used to convert homogeneous coordinates to affine coordinates.
It is essentially a shortcut for:
Example:
Output:
|
inlineinherited |
\geometry_module
This can be used to convert affine coordinates to homogeneous coordinates.
\only_for_vectors
Example:
Output:
|
inlineinherited |
*this.
|
inlineinherited |
*this avoiding undeflow and overflow. This version use a concatenation of hypot() calls, and it is very slow.
|
staticinherited |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variant taking size arguments.
Example:
Output:
|
staticinherited |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Identity() should be used instead.
Example:
Output:
|
inlineinherited |
References Eigen::DenseBase< Derived >::IsRowMajor, and Eigen::DenseBase< Derived >::IsVectorAtCompileTime.
|
inlineinherited |
\lu_module
For small fixed sizes up to 4x4, this method uses cofactors. In the general case, this method uses class PartialPivLU.
|
inherited |
true if *this is approximately equal to other, within the precision determined by prec.
*this is approximately equal to the zero matrix or vector. Indeed, isApprox(zero) returns false unless *this itself is exactly the zero matrix or vector. If you want to test whether *this is zero, use internal::isMuchSmallerThan(const
RealScalar&, RealScalar) instead.References Eigen::internal::isApprox_selector< Derived, OtherDerived, is_integer >::run().
Here is the call graph for this function:
|
inherited |
|
inherited |
References Eigen::internal::isApprox().
Here is the call graph for this function:
|
inherited |
This is just an alias for isApproxToConstant().
|
inherited |
Example:
Output:
|
inherited |
Example:
Output:
|
inherited |
|
inherited |
true if the norm of *this is much smaller than the norm of other, within the precision determined by prec.
References Eigen::internal::isMuchSmallerThan_object_selector< Derived, OtherDerived, is_integer >::run().
Here is the call graph for this function:
|
inherited |
|
inherited |
|
inherited |
true if the norm of *this is much smaller than other, within the precision determined by prec.
For matrices, the comparison is done using the Hilbert-Schmidt norm. For this reason, the value of the reference scalar other should come from the Hilbert-Schmidt norm of a reference matrix of same dimensions.
References Eigen::internal::isMuchSmallerThan_scalar_selector< Derived, is_integer >::run().
Here is the call graph for this function:
|
inherited |
Example:
Output:
|
inherited |
Example:
Output:
|
inherited |
m.isUnitary() returns true if and only if the columns (equivalently, the rows) of m form an orthonormal basis.Example:
Output:
|
inherited |
|
inherited |
Example:
Output:
References Eigen::internal::isMuchSmallerThan().
Here is the call graph for this function:
|
inlineinherited |
\svd_module
*this computed by two-sided Jacobi transformations.
|
inherited |
|
inherited |
|
inherited |
*this and other without implicit evaluation.The returned product will behave like any other expressions: the coefficients of the product will be computed once at a time as requested. This might be useful in some extremely rare cases when only a small and no coherent fraction of the result's coefficients have to be computed.
|
inherited |
|
inlineinherited |
\cholesky_module
*this
|
staticinherited |
Special version for fixed size types which does not require the size parameter.
References EIGEN_STATIC_ASSERT_FIXED_SIZE, EIGEN_STATIC_ASSERT_VECTOR_ONLY, and Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
staticinherited |
Sets a linearly spaced vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
\only_for_vectors
Example:
Output:
For integer scalar types, an even spacing is possible if and only if the length of the range, i.e., high-low is a scalar multiple of size-1, or if size is a scalar multiple of the number of values high-low+1 (meaning each value can be repeated the same number of time). If one of these two considions is not satisfied, then high is lowered to the largest value satisfying one of this constraint. Here are some examples:
Example:
Output:
|
staticinherited |
References EIGEN_STATIC_ASSERT_FIXED_SIZE, EIGEN_STATIC_ASSERT_VECTOR_ONLY, and Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
staticinherited |
References EIGEN_STATIC_ASSERT_VECTOR_ONLY, and Eigen::DenseBase< Derived >::NullaryExpr().
Here is the call graph for this function:
|
inlineinherited |
\cholesky_module
*this
|
inlineinherited |
*this, that is, returns the p-th root of the sum of the p-th powers of the absolute values of the coefficients of *this. If p is the special value Eigen::Infinity, this function returns the *this.In all cases, if *this is empty, then the value 0 is returned.
*this is a matrix, then its coefficients are interpreted as a 1D vector. Nonetheless, you can easily compute the 1-norm and
|
inherited |
|
inlineinherited |
\lu_module
Synonym of partialPivLu().
*this.
|
inherited |
Computes the elementary reflector H such that:
On output:
| essential | the essential part of the vector v |
| tau | the scaling factor of the Householder transformation |
| beta | the result of H * *this |
|
inherited |
Computes the elementary reflector H such that:
The essential part of the vector v is stored in *this.
On output:
| tau | the scaling factor of the Householder transformation |
| beta | the result of H * *this |
|
inlineinherited |
|
inlineinherited |
|
inherited |
Helper function for the unsupported MatrixFunctions module.
|
inherited |
*this. *this contains NaN. Referenced by igl::copyleft::cgal::half_space_box(), igl::isolines(), igl::min_quad_with_fixed_precompute(), igl::octree(), Eigen::internal::lpNorm_selector< Derived, Infinity >::run(), and igl::slice().
Here is the caller graph for this function:
|
inherited |
*this contains NaN.References Eigen::internal::coeff_visitor< Derived >::col, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::internal::coeff_visitor< Derived >::res, and Eigen::internal::coeff_visitor< Derived >::row.
|
inherited |
*this contains NaN.References Eigen::internal::coeff_visitor< Derived >::col, Eigen::internal::coeff_visitor< Derived >::res, and Eigen::internal::coeff_visitor< Derived >::row.
|
inherited |
|
inherited |
*this. *this contains NaN. Referenced by igl::copyleft::cgal::half_space_box(), igl::isolines(), igl::min_quad_with_fixed_precompute(), igl::octree(), and igl::slice().
Here is the caller graph for this function:
|
inherited |
*this contains NaN.References Eigen::internal::coeff_visitor< Derived >::col, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::internal::coeff_visitor< Derived >::res, and Eigen::internal::coeff_visitor< Derived >::row.
|
inherited |
*this contains NaN.References Eigen::internal::coeff_visitor< Derived >::col, Eigen::internal::coeff_visitor< Derived >::res, and Eigen::internal::coeff_visitor< Derived >::row.
|
inlineinherited |
|
inline |
Referenced by Eigen::internal::generic_product_impl< Homogeneous< LhsArg, Horizontal >, Rhs, HomogeneousShape, DenseShape, ProductTag >::evalTo(), Eigen::internal::generic_product_impl< Lhs, Homogeneous< RhsArg, Vertical >, DenseShape, HomogeneousShape, ProductTag >::evalTo(), Eigen::internal::generic_product_impl< Transform< Scalar, Dim, Mode, Options >, Homogeneous< RhsArg, Vertical >, DenseShape, HomogeneousShape, ProductTag >::evalTo(), Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Vertical >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run(), and Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Horizontal >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run().
Here is the caller graph for this function:
|
inherited |
*this with an operator= assuming no aliasing between *this and the source expression.More precisely, noalias() allows to bypass the EvalBeforeAssignBit flag. Currently, even though several expressions may alias, only product expressions have this flag. Therefore, noalias() is only usefull when the source expression contains a matrix product.
Here are some examples where noalias is usefull:
On the other hand the following example will lead to a wrong result:
because the result matrix A is also an operand of the matrix product. Therefore, there is no alternative than evaluating A * B in a temporary, that is the default behavior when you write:
|
inlineinherited |
|
inherited |
*this, and for matrices the Frobenius norm. In both cases, it consists in the square root of the sum of the square of all the matrix entries. For vectors, this is also equals to the square root of the dot product of *this with itself.
|
inherited |
Normalizes the vector, i.e. divides it by its own norm.
\only_for_vectors
*this is left unchanged.
|
inherited |
*this by its own norm.\only_for_vectors
|
inherited |
This variant is only for fixed-size DenseBase types. For dynamic-size types, you need to use the variants taking size arguments.
The template parameter CustomNullaryOp is the type of the functor.
|
staticinherited |
|
inherited |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
|
staticinherited |
Referenced by Eigen::DenseBase< Derived >::Constant(), Eigen::DenseBase< Derived >::Constant(), Eigen::DenseBase< Derived >::Constant(), Eigen::MatrixBase< Derived >::Identity(), Eigen::MatrixBase< Derived >::Identity(), Eigen::DenseBase< Derived >::LinSpaced(), Eigen::DenseBase< Derived >::LinSpaced(), and Eigen::DenseBase< Derived >::LinSpaced().
Here is the caller graph for this function:
|
inherited |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
Here is an example with C++11 random generators:
Output:
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
|
staticinherited |
|
staticinherited |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
|
staticinherited |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Ones() should be used instead.
Example:
Output:
|
staticinherited |
The parameter newSize is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Ones() should be used instead.
Example:
Output:
|
inlineinherited |
*this and other are not exactly equal to each other.
|
inherited |
|
inherited |
|
inline |
References eigen_assert, and Eigen::Horizontal.
|
inlineinherited |
replaces *this by *this * other.
*this Example:
Output:
|
inherited |
|
inlineprotectedinherited |
|
inherited |
|
inherited |
replaces *this by *this + other.
*this
|
inherited |
|
inlineprotectedinherited |
|
inherited |
|
inherited |
replaces *this by *this - other.
*this
|
inherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
Convenient operator to set the coefficients of a matrix.
The coefficients must be provided in a row major order and exactly match the size of the matrix. Otherwise an assertion is raised.
Example:
Output:
|
inlineinherited |
*this and other are all exactly equal.
|
inlineinherited |
Computes the L2 operator norm.
\eigenvalues_module This function computes the L2 operator norm of a matrix, which is also known as the spectral norm. The norm of a matrix
where the maximum is over all vectors and the norm on the right is the Euclidean vector norm. The norm equals the largest singular value, which is the square root of the largest eigenvalue of the positive semi-definite matrix
The current implementation uses the eigenvalues of
Example:
Output:
|
inlineinherited |
References Eigen::DenseBase< Derived >::IsRowMajor, and Eigen::DenseBase< Derived >::IsVectorAtCompileTime.
|
inlineinherited |
|
inherited |
Example:
Output:
References Eigen::Dynamic.
|
inlinestaticinherited |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary matrix whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
\not_reentrant
|
inlinestaticinherited |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
\not_reentrant
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Random() should be used instead.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary matrix whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
See DenseBase::NullaryExpr(Index, const CustomNullaryOp&) for an example using C++11 random generators.
|
inlinestaticinherited |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors \not_reentrant
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Random() should be used instead.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary vector whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
|
inherited |
Referenced by Eigen::internal::member_redux< BinaryOp, Scalar >::operator()().
Here is the caller graph for this function:
|
inline |
|
inherited |
|
inherited |
*this Example:
Output:
|
inlineinherited |
*this Example:
Output:
|
inlineinherited |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does nothing else.
References eigen_assert, and EIGEN_ONLY_USED_FOR_DEBUG.
Referenced by Eigen::TriangularBase< Derived >::evalToLazy(), igl::find(), and igl::slice_tets().
Here is the caller graph for this function:
|
inlineinherited |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does nothing else.
References eigen_assert, and EIGEN_ONLY_USED_FOR_DEBUG.
|
inlineinherited |
Example:
Output:
|
inlineinherited |
This is the const version of reverse().
|
inlineinherited |
This is the "in place" version of reverse: it reverses *this.
In most cases it is probably better to simply use the reversed expression of a matrix. However, when reversing the matrix data itself is really needed, then this "in-place" version is probably the right choice because it provides the following additional benefits:
References bottomRows(), col(), leftCols(), rightCols(), row(), tail(), and topRows().
Here is the call graph for this function:
|
inline |
References Eigen::Vertical.
Referenced by Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Vertical >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run(), and Eigen::internal::Assignment< DstXprType, Homogeneous< ArgType, Horizontal >, internal::assign_op< Scalar, typename ArgType::Scalar >, Dense2Dense >::run().
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
Example:
Output:
Referenced by igl::normalize_row_sums(), and Eigen::umeyama().
Here is the caller graph for this function:
|
inlineinherited |
*this(i,j), and elseMatrix(i,j) otherwise.Example:
Output:
|
inlineinherited |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value.
|
inlineinherited |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value.
|
inherited |
|
inherited |
The parameter UpLo can be either Upper or Lower
Example:
Output:
|
inherited |
|
inherited |
This is the const version of MatrixBase::selfadjointView()
|
inherited |
Sets all coefficients in this expression to value val.
Referenced by Eigen::ArrayBase< Derived >::operator=().
Here is the caller graph for this function:
|
inherited |
Writes the identity expression (not necessarily square) into *this.
Example:
Output:
|
inherited |
Resizes to the given size, and writes the identity expression (not necessarily square) into *this.
| rows | the new number of rows |
| cols | the new number of columns |
Example:
Output:
|
inherited |
Sets a linearly spaced vector.
The function fills *this with equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
\only_for_vectors
For integer scalar types, do not miss the explanations on the definition of even spacing .
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
|
inherited |
Sets a linearly spaced vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
\only_for_vectors
Example:
Output:
For integer scalar types, do not miss the explanations on the definition of even spacing .
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
|
inherited |
Sets all coefficients in this expression to one.
Example:
Output:
|
inlineinherited |
Sets all coefficients in this expression to random values.
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
\not_reentrant
Example:
Output:
|
inherited |
Sets all coefficients in this expression to zero.
Example:
Output:
Referenced by Eigen::SPQR< _MatrixType >::_solve_impl(), Eigen::PermutationBase< Derived >::evalTo(), and Eigen::InverseImpl< PermutationType, PermutationStorage >::evalTo().
Here is the caller graph for this function:
|
inherited |
*this with values smaller than reference * epsilon removed.This method is typically used when prototyping to convert a quickly assembled dense Matrix D to a SparseMatrix S:
where reference is a meaningful non zero reference value, and epsilon is a tolerance factor defaulting to NumTraits<Scalar>::dummy_precision().
|
inherited |
*this, and for matrices the Frobenius norm. In both cases, it consists in the sum of the square of all the matrix entries. For vectors, this is also equals to the dot product of *this with itself.
|
inlineinherited |
*this avoiding underflow and overflow. This version use a blockwise two passes algorithm: 1 - find the absolute largest coefficient s 2 - compute For architecture/scalar types supporting vectorization, this version is faster than blueNorm(). Otherwise the blueNorm() is much faster.
|
inherited |
Normalizes the vector while avoid underflow and overflow
\only_for_vectors
This method is analogue to the normalize() method, but it reduces the risk of underflow and overflow when computing the norm.
*this is left unchanged.
|
inherited |
*this by its own norm while avoiding underflow and overflow.\only_for_vectors
This method is analogue to the normalized() method, but it reduces the risk of underflow and overflow when computing the norm.
|
inherited |
*this If *this is empty, then the value 0 is returned.
References Eigen::Dynamic.
Referenced by igl::normalize_row_sums(), and Eigen::internal::lpNorm_selector< Derived, 1 >::run().
Here is the caller graph for this function:
|
inlineinherited |
swaps *this with the expression other.
References eigen_assert, and EIGEN_STATIC_ASSERT.
Referenced by Eigen::internal::conservative_resize_like_impl< Derived, OtherDerived, IsVector >::run(), and Eigen::internal::conservative_resize_like_impl< Derived, OtherDerived, IsVector >::run().
Here is the caller graph for this function:
|
inlineinherited |
swaps *this with the matrix or array other.
References Eigen::PlainObjectBase< Derived >::cols(), eigen_assert, and Eigen::PlainObjectBase< Derived >::rows().
Here is the call graph for this function:
|
inherited |
*this, i.e. the sum of the coefficients on the main diagonal.*this can be any matrix, not necessarily square.
|
inlineinherited |
Example:
Output:
Referenced by igl::AABB< DerivedV, DIM >::find(), igl::AABB< DerivedV, DIM >::init(), igl::project(), igl::signed_distance_winding_number(), and igl::unproject().
Here is the caller graph for this function:
|
inlineinherited |
This is the const version of transpose().
Make sure you read the warning for transpose() !
|
inlineinherited |
This is the "in place" version of transpose(): it replaces *this by its own transpose. Thus, doing
has the same effect on m as doing
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own transpose. If you just need the transpose of a matrix, use transpose().
*this must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.References Eigen::Dynamic, and eigen_assert.
|
inherited |
|
inherited |
The parameter Mode can have the following values: Upper, StrictlyUpper, UnitUpper, Lower, StrictlyLower, UnitLower.
Example:
Output:
|
inherited |
|
inherited |
This is the const version of MatrixBase::triangularView()
|
staticinherited |
\only_for_vectors
This variant is for fixed-size vector only.
|
staticinherited |
\only_for_vectors
|
inlineinherited |
\geometry_module
*this The size of *this must be at least 2. If the size is exactly 2, then the returned vector is a counter clock wise rotation of *this, i.e., (-y,x).normalized().
|
staticinherited |
\only_for_vectors
|
staticinherited |
\only_for_vectors
|
staticinherited |
\only_for_vectors
|
staticinherited |
\only_for_vectors
|
inlineinherited |
References eigen_assert, and EIGEN_STATIC_ASSERT_SIZE_1x1.
Referenced by igl::find(), and Eigen::ArrayBase< Derived >::operator=().
Here is the caller graph for this function:
|
inherited |
Applies the visitor visitor to the whole coefficients of the matrix or vector.
The template parameter Visitor is the type of the visitor and provides the following interface:
References Eigen::Dynamic, and EIGEN_UNROLLING_LIMIT.
|
staticinherited |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
|
staticinherited |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
Example:
Output:
|
staticinherited |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
Example:
Output:
|
friend |
|
friend |
|
related |
Outputs the matrix, to the given stream.
If you wish to print the matrix with a format different than the default, use DenseBase::format().
It is also possible to change the default format by defining EIGEN_DEFAULT_IO_FORMAT before including Eigen headers. If not defined, this will automatically be defined to Eigen::IOFormat(), that is the Eigen::IOFormat with default parameters.
References EIGEN_DEFAULT_IO_FORMAT, and Eigen::internal::print_matrix().
Here is the call graph for this function:
|
protected |
| class Eigen::Hyperplane |
A hyperplane.
\geometry_module
A hyperplane is an affine subspace of dimension n-1 in a space of dimension n. For example, a hyperplane in a plane is a line; a hyperplane in 3-space is a plane.
| _Scalar | the scalar type, i.e., the type of the coefficients |
| _AmbientDim | the dimension of the ambient space, can be a compile time value or Dynamic. Notice that the dimension of the hyperplane is _AmbientDim-1. |
This class represents an hyperplane as the zero set of the implicit equation
Collaboration diagram for Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >:Public Types | |
| enum | { AmbientDimAtCompileTime = _AmbientDim , Options = _Options } |
| typedef _Scalar | Scalar |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Eigen::Index | Index |
| typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
| typedef Matrix< Scalar, Index(AmbientDimAtCompileTime)==Dynamic ? Dynamic :Index(AmbientDimAtCompileTime)+1, 1, Options > | Coefficients |
| typedef Block< Coefficients, AmbientDimAtCompileTime, 1 > | NormalReturnType |
| typedef const Block< const Coefficients, AmbientDimAtCompileTime, 1 > | ConstNormalReturnType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | Hyperplane () |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC | Hyperplane (const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > &other) |
| EIGEN_DEVICE_FUNC | Hyperplane (Index _dim) |
| EIGEN_DEVICE_FUNC | Hyperplane (const VectorType &n, const VectorType &e) |
| EIGEN_DEVICE_FUNC | Hyperplane (const VectorType &n, const Scalar &d) |
| EIGEN_DEVICE_FUNC | Hyperplane (const ParametrizedLine< Scalar, AmbientDimAtCompileTime > ¶metrized) |
| EIGEN_DEVICE_FUNC | ~Hyperplane () |
| EIGEN_DEVICE_FUNC Index | dim () const |
| EIGEN_DEVICE_FUNC void | normalize (void) |
| EIGEN_DEVICE_FUNC Scalar | signedDistance (const VectorType &p) const |
| EIGEN_DEVICE_FUNC Scalar | absDistance (const VectorType &p) const |
| EIGEN_DEVICE_FUNC VectorType | projection (const VectorType &p) const |
| EIGEN_DEVICE_FUNC ConstNormalReturnType | normal () const |
| EIGEN_DEVICE_FUNC NormalReturnType | normal () |
| EIGEN_DEVICE_FUNC const Scalar & | offset () const |
| EIGEN_DEVICE_FUNC Scalar & | offset () |
| EIGEN_DEVICE_FUNC const Coefficients & | coeffs () const |
| EIGEN_DEVICE_FUNC Coefficients & | coeffs () |
| EIGEN_DEVICE_FUNC VectorType | intersection (const Hyperplane &other) const |
| template<typename XprType > | |
| EIGEN_DEVICE_FUNC Hyperplane & | transform (const MatrixBase< XprType > &mat, TransformTraits traits=Affine) |
| template<int TrOptions> | |
| EIGEN_DEVICE_FUNC Hyperplane & | transform (const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > &t, TransformTraits traits=Affine) |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Hyperplane, Hyperplane< NewScalarType, AmbientDimAtCompileTime, Options > >::type | cast () const |
| template<typename OtherScalarType , int OtherOptions> | |
| EIGEN_DEVICE_FUNC | Hyperplane (const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other) |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC bool | isApprox (const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Hyperplane | Through (const VectorType &p0, const VectorType &p1) |
| static EIGEN_DEVICE_FUNC Hyperplane | Through (const VectorType &p0, const VectorType &p1, const VectorType &p2) |
Protected Attributes | |
| Coefficients | m_coeffs |
| typedef Matrix<Scalar,Index(AmbientDimAtCompileTime)==Dynamic ? Dynamic : Index(AmbientDimAtCompileTime)+1,1,Options> Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Coefficients |
| typedef const Block<const Coefficients,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::ConstNormalReturnType |
| typedef Eigen::Index Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Index |
| typedef Block<Coefficients,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::NormalReturnType |
| typedef NumTraits<Scalar>::Real Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::RealScalar |
| typedef _Scalar Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Scalar |
| typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::VectorType |
| anonymous enum |
| Enumerator | |
|---|---|
| AmbientDimAtCompileTime | |
| Options | |
|
inline |
Default constructor without initialization
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::cast().
Here is the caller graph for this function:
|
inline |
|
inlineexplicit |
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
|
inline |
Construct a plane from its normal n and a point e onto the plane.
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the call graph for this function:
|
inline |
Constructs a plane from its normal n and distance to the origin d such that the algebraic equation of the plane is
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the call graph for this function:
|
inlineexplicit |
Constructs a hyperplane passing through the parametrized line parametrized. If the dimension of the ambient space is greater than 2, then there isn't uniqueness, so an arbitrary choice is made.
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin().
Here is the call graph for this function:
|
inline |
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Here is the call graph for this function:
|
inline |
*this and a point p. References Eigen::numext::abs(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::signedDistance().
Referenced by Slic3r::Measure::get_measurement().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane().
Here is the call graph for this function:
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::intersection().
Here is the caller graph for this function:
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::AmbientDimAtCompileTime, Eigen::Dynamic, and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the caller graph for this function:
|
inline |
*this and other are lines.References Eigen::numext::abs(), Eigen::PlainObjectBase< Derived >::coeff(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs(), EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::internal::isMuchSmallerThan().
Referenced by Slic3r::Measure::angle_edge_edge().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Here is the call graph for this function:
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::intersectionParameter(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normalize(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::projection(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::signedDistance(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
normalizes *this
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs, and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal().
Here is the call graph for this function:
|
inline |
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Here is the call graph for this function:
|
inline |
References Eigen::PlainObjectBase< Derived >::coeff(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::intersectionParameter(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::signedDistance(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this. References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::signedDistance().
Referenced by Slic3r::Measure::angle_edge_edge(), Slic3r::sla::DrainHole::get_intersections(), and Slic3r::Measure::get_measurement().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this and a point p. References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::absDistance(), Slic3r::sla::DrainHole::get_intersections(), Slic3r::sla::DrainHole::is_inside(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::projection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Constructs a hyperplane passing through the two points. If the dimension of the ambient space is greater than 2, then there isn't uniqueness, so an arbitrary choice is made.
References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Referenced by Slic3r::Measure::angle_edge_edge().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Constructs a hyperplane passing through the three points. The dimension of the ambient space is required to be exactly 3.
References Eigen::ComputeFullV, EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, Eigen::SVDBase< Derived >::matrixV(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the call graph for this function:
|
inline |
Applies the transformation matrix mat to *this and returns a reference to *this.
| mat | the Dim x Dim transformation matrix |
| traits | specifies whether the matrix mat represents an Isometry or a more generic Affine transformation. The default is Affine. |
References Eigen::Affine, eigen_assert, Eigen::MatrixBase< Derived >::inverse(), Eigen::Isometry, Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::m_coeffs, and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal().
Referenced by Slic3r::GUI::MeshClipper::recalculate_triangles(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Applies the transformation t to *this and returns a reference to *this.
| t | the transformation of dimension Dim |
| traits | specifies whether the transformation t represents an Isometry or a more generic Affine transformation. The default is Affine. Other kind of transformations are not supported. |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation().
Here is the call graph for this function:
|
protected |
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::isApprox(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normalize(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform().
| class Eigen::ParametrizedLine |
A parametrized line.
\geometry_module
A parametrized line is defined by an origin point
| _Scalar | the scalar type, i.e., the type of the coefficients |
| _AmbientDim | the dimension of the ambient space, can be a compile time value or Dynamic. |
Collaboration diagram for Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >:Public Types | |
| enum | { AmbientDimAtCompileTime = _AmbientDim , Options = _Options } |
| typedef _Scalar | Scalar |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Eigen::Index | Index |
| typedef Matrix< Scalar, AmbientDimAtCompileTime, 1, Options > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | ParametrizedLine () |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC | ParametrizedLine (const ParametrizedLine< Scalar, AmbientDimAtCompileTime, OtherOptions > &other) |
| EIGEN_DEVICE_FUNC | ParametrizedLine (Index _dim) |
| EIGEN_DEVICE_FUNC | ParametrizedLine (const VectorType &origin, const VectorType &direction) |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC | ParametrizedLine (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) |
| EIGEN_DEVICE_FUNC | ~ParametrizedLine () |
| EIGEN_DEVICE_FUNC Index | dim () const |
| EIGEN_DEVICE_FUNC const VectorType & | origin () const |
| EIGEN_DEVICE_FUNC VectorType & | origin () |
| EIGEN_DEVICE_FUNC const VectorType & | direction () const |
| EIGEN_DEVICE_FUNC VectorType & | direction () |
| EIGEN_DEVICE_FUNC RealScalar | squaredDistance (const VectorType &p) const |
| EIGEN_DEVICE_FUNC RealScalar | distance (const VectorType &p) const |
| EIGEN_DEVICE_FUNC VectorType | projection (const VectorType &p) const |
| EIGEN_DEVICE_FUNC VectorType | pointAt (const Scalar &t) const |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC Scalar | intersectionParameter (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC Scalar | intersection (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC VectorType | intersectionPoint (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< ParametrizedLine, ParametrizedLine< NewScalarType, AmbientDimAtCompileTime, Options > >::type | cast () const |
| template<typename OtherScalarType , int OtherOptions> | |
| EIGEN_DEVICE_FUNC | ParametrizedLine (const ParametrizedLine< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other) |
| EIGEN_DEVICE_FUNC bool | isApprox (const ParametrizedLine &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC _Scalar | intersectionParameter (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC _Scalar | intersection (const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC ParametrizedLine | Through (const VectorType &p0, const VectorType &p1) |
Protected Attributes | |
| VectorType | m_origin |
| VectorType | m_direction |
| typedef Eigen::Index Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::Index |
| typedef NumTraits<Scalar>::Real Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::RealScalar |
| typedef _Scalar Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::Scalar |
| typedef Matrix<Scalar,AmbientDimAtCompileTime,1,Options> Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::VectorType |
| anonymous enum |
| Enumerator | |
|---|---|
| AmbientDimAtCompileTime | |
| Options | |
|
inline |
Default constructor without initialization
Referenced by Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::cast(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::Through().
Here is the caller graph for this function:
|
inline |
|
inlineexplicit |
Constructs a dynamic-size line with _dim the dimension of the ambient space
|
inline |
Initializes a parametrized line of direction direction and origin origin.
|
inlineexplicit |
Constructs a parametrized line from a 2D hyperplane
References EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the call graph for this function:
|
inline |
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_direction, Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_origin, and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin().
Here is the call graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine().
Here is the call graph for this function:
|
inline |
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_direction.
|
inline |
|
inline |
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_direction.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Slic3r::sla::DrainHole::get_intersections(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::projection(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::squaredDistance().
Here is the caller graph for this function:
|
inline |
*this. References sqrt(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::squaredDistance().
Referenced by Slic3r::Measure::get_measurement().
Here is the call graph for this function:
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Scalar Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::intersection | ( | const Hyperplane< _Scalar, _AmbientDim, OtherOptions > & | hyperplane | ) | const |
|
inline |
*this and the given hyperplane | EIGEN_DEVICE_FUNC Scalar Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::intersectionParameter | ( | const Hyperplane< _Scalar, _AmbientDim, OtherOptions > & | hyperplane | ) | const |
Referenced by Slic3r::sla::DrainHole::get_intersections().
Here is the caller graph for this function:
|
inline |
*this and the given hyperplane References Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal(), and Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset().
Here is the call graph for this function:
|
inline |
*this and the given hyperplane Referenced by Slic3r::Measure::angle_edge_plane(), Slic3r::sla::DrainHole::get_intersections(), and Slic3r::Measure::get_measurement().
Here is the caller graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_direction, and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_origin.
|
inline |
|
inline |
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::m_origin.
Referenced by Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Slic3r::sla::DrainHole::get_intersections(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::projection(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::squaredDistance().
Here is the caller graph for this function:
|
inline |
Referenced by Slic3r::sla::DrainHole::get_intersections().
Here is the caller graph for this function:
|
inline |
*this. References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin().
Referenced by Slic3r::Measure::angle_plane_plane(), Slic3r::sla::DrainHole::get_intersections(), and Slic3r::Measure::get_measurement().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this. References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin().
Referenced by Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::distance(), Slic3r::sla::DrainHole::get_intersections(), and Slic3r::sla::DrainHole::is_inside().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Constructs a parametrized line going from p0 to p1.
References Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine().
Referenced by Slic3r::Measure::angle_edge_plane(), and Slic3r::Measure::get_measurement().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Referenced by Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::dim(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::direction(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::isApprox().
|
protected |
Referenced by Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::ParametrizedLine(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::isApprox(), Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin(), and Eigen::ParametrizedLine< _Scalar, _AmbientDim, _Options >::origin().
| class Eigen::QuaternionBase |
Base class for quaternion expressions.
\geometry_module
| Derived | derived type (CRTP) |
Inheritance diagram for Eigen::QuaternionBase< Derived >:
Collaboration diagram for Eigen::QuaternionBase< Derived >:Public Types | |
| enum | { Flags = Eigen::internal::traits<Derived>::Flags } |
| typedef RotationBase< Derived, 3 > | Base |
| typedef internal::traits< Derived >::Scalar | Scalar |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef internal::traits< Derived >::Coefficients | Coefficients |
| typedef Coefficients::CoeffReturnType | CoeffReturnType |
| typedef internal::conditional< bool(internal::traits< Derived >::Flags &LvalueBit), Scalar &, CoeffReturnType >::type | NonConstCoeffReturnType |
| typedef Matrix< Scalar, 3, 1 > | Vector3 |
| typedef Matrix< Scalar, 3, 3 > | Matrix3 |
| typedef AngleAxis< Scalar > | AngleAxisType |
| enum | |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC CoeffReturnType | x () const |
| EIGEN_DEVICE_FUNC CoeffReturnType | y () const |
| EIGEN_DEVICE_FUNC CoeffReturnType | z () const |
| EIGEN_DEVICE_FUNC CoeffReturnType | w () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | x () |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | y () |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | z () |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | w () |
| EIGEN_DEVICE_FUNC const VectorBlock< const Coefficients, 3 > | vec () const |
| EIGEN_DEVICE_FUNC VectorBlock< Coefficients, 3 > | vec () |
| EIGEN_DEVICE_FUNC const internal::traits< Derived >::Coefficients & | coeffs () const |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Coefficients & | coeffs () |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE QuaternionBase< Derived > & | operator= (const QuaternionBase< Derived > &other) |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const QuaternionBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC Derived & | operator= (const AngleAxisType &aa) |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC Derived & | operator= (const MatrixBase< OtherDerived > &m) |
| EIGEN_DEVICE_FUNC QuaternionBase & | setIdentity () |
| EIGEN_DEVICE_FUNC Scalar | squaredNorm () const |
| EIGEN_DEVICE_FUNC Scalar | norm () const |
| EIGEN_DEVICE_FUNC void | normalize () |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | normalized () const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC Scalar | dot (const QuaternionBase< OtherDerived > &other) const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Matrix3 | toRotationMatrix () const |
| template<typename Derived1 , typename Derived2 > | |
| EIGEN_DEVICE_FUNC Derived & | setFromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > | operator* (const QuaternionBase< OtherDerived > &q) const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator*= (const QuaternionBase< OtherDerived > &q) |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | inverse () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | conjugate () const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC bool | isApprox (const QuaternionBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Vector3 | _transformVector (const Vector3 &v) const |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Derived, Quaternion< NewScalarType > >::type | cast () const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< typename internal::traits< Derived >::Scalar > | operator* (const QuaternionBase< OtherDerived > &other) const |
| template<class MatrixDerived > | |
| EIGEN_DEVICE_FUNC Derived & | operator= (const MatrixBase< MatrixDerived > &xpr) |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| template<class OtherDerived > | |
| EIGEN_DEVICE_FUNC Quaternion< typename internal::traits< Derived >::Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Derived, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Quaternion< Scalar > | Identity () |
| typedef AngleAxis<Scalar> Eigen::QuaternionBase< Derived >::AngleAxisType |
the equivalent angle-axis type
| typedef RotationBase<Derived, 3> Eigen::QuaternionBase< Derived >::Base |
| typedef internal::traits<Derived>::Coefficients Eigen::QuaternionBase< Derived >::Coefficients |
| typedef Coefficients::CoeffReturnType Eigen::QuaternionBase< Derived >::CoeffReturnType |
| typedef Matrix<Scalar,3,3> Eigen::QuaternionBase< Derived >::Matrix3 |
the equivalent rotation matrix type
| typedef internal::conditional<bool(internal::traits<Derived>::Flags&LvalueBit),Scalar&,CoeffReturnType>::type Eigen::QuaternionBase< Derived >::NonConstCoeffReturnType |
| typedef NumTraits<Scalar>::Real Eigen::QuaternionBase< Derived >::RealScalar |
|
inherited |
corresponding linear transformation matrix type
| typedef internal::traits<Derived>::Scalar Eigen::QuaternionBase< Derived >::Scalar |
| typedef Matrix<Scalar,3,1> Eigen::QuaternionBase< Derived >::Vector3 |
the type of a 3D vector
|
inherited |
|
inherited |
|
inlineinherited |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE QuaternionBase< Derived >::Vector3 Eigen::QuaternionBase< Derived >::_transformVector | ( | const Vector3 & | v | ) | const |
return the result vector of v through the rotation
Rotation of a vector by a quaternion.
| EIGEN_DEVICE_FUNC Scalar Eigen::QuaternionBase< Derived >::angularDistance | ( | const QuaternionBase< OtherDerived > & | other | ) | const |
|
inline |
References Eigen::numext::abs(), and Eigen::QuaternionBase< Derived >::conjugate().
Here is the call graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
References Eigen::RotationBase< Derived, 3 >::derived().
Referenced by Eigen::QuaternionBase< Derived >::dot(), Eigen::QuaternionBase< Derived >::isApprox(), Eigen::QuaternionBase< Derived >::norm(), Eigen::QuaternionBase< Derived >::normalize(), Eigen::QuaternionBase< Derived >::normalized(), Eigen::QuaternionBase< Derived >::operator=(), Eigen::QuaternionBase< Derived >::operator=(), Eigen::internal::quat_product< Architecture::SSE, Derived, OtherDerived, float >::run(), Eigen::internal::quat_product< Architecture::SSE, Derived, OtherDerived, double >::run(), Eigen::internal::quat_conj< Architecture::SSE, Derived, float >::run(), Eigen::internal::quat_conj< Architecture::SSE, Derived, double >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 3, 3 >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 4, 1 >::run(), Eigen::QuaternionBase< Derived >::setIdentity(), Eigen::QuaternionBase< Derived >::slerp(), Eigen::QuaternionBase< Derived >::squaredNorm(), Eigen::QuaternionBase< Derived >::vec(), and Eigen::QuaternionBase< Derived >::vec().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this which is equal to the multiplicative inverse if the quaternion is normalized. The conjugate of a quaternion represents the opposite rotation.References Eigen::Architecture::Target.
Referenced by Eigen::QuaternionBase< Derived >::angularDistance(), igl::opengl2::MouseController::drag(), igl::opengl2::RotateWidget::drag(), igl::opengl2::RotateWidget::draw_guide(), igl::Camera::orbit(), Slic3r::GUI::Camera::rotate_local_around_target(), and igl::Camera::turn_eye().
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inline |
*this and other Geometrically speaking, the dot product of two unit quaternions corresponds to the cosine of half the angle between the two rotations. References Eigen::QuaternionBase< Derived >::coeffs().
Referenced by igl::angular_distance().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inline |
*this Note that in most cases, i.e., if you simply want the opposite rotation, and/or the quaternion is normalized, then it is enough to use the conjugate.References conjugate().
Here is the call graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::QuaternionBase< Derived >::coeffs().
Here is the call graph for this function:
|
inlineinherited |
|
inline |
References Eigen::QuaternionBase< Derived >::coeffs().
Referenced by igl::angular_distance().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Normalizes the quaternion *this
References Eigen::QuaternionBase< Derived >::coeffs().
Referenced by igl::opengl2::RotateWidget::drag(), Slic3r::GUI::Camera::look_at(), Slic3r::GUI::Camera::rotate_local_around_target(), Slic3r::GUI::Camera::rotate_on_sphere(), Slic3r::GUI::Camera::set_default_orientation(), and igl::two_axis_valuator_fixed_up().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this References Eigen::QuaternionBase< Derived >::coeffs(), and Eigen::QuaternionBase< Derived >::normalized().
Referenced by Eigen::QuaternionBase< Derived >::normalized().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
*this with a generic expression e e can be:| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< typename internal::traits< Derived >::Scalar > Eigen::QuaternionBase< Derived >::operator* | ( | const QuaternionBase< OtherDerived > & | other | ) | const |
References EIGEN_STATIC_ASSERT, and Eigen::Architecture::Target.
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > Eigen::QuaternionBase< Derived >::operator* | ( | const QuaternionBase< OtherDerived > & | q | ) | const |
|
inlineinherited |
*this with a transformation t
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::QuaternionBase< Derived >::operator*= | ( | const QuaternionBase< OtherDerived > & | other | ) |
References Eigen::RotationBase< Derived, _Dim >::derived().
Here is the call graph for this function:| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::QuaternionBase< Derived >::operator= | ( | const AngleAxisType & | aa | ) |
Set *this from an angle-axis aa and returns a reference to *this
References Eigen::AngleAxis< _Scalar >::angle(), Eigen::AngleAxis< _Scalar >::axis(), cos(), and sin().
Here is the call graph for this function:
|
inline |
Set *this from the expression xpr:
References EIGEN_STATIC_ASSERT.
| EIGEN_DEVICE_FUNC Derived & Eigen::QuaternionBase< Derived >::operator= | ( | const MatrixBase< OtherDerived > & | m | ) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE QuaternionBase< Derived > & Eigen::QuaternionBase< Derived >::operator= | ( | const QuaternionBase< Derived > & | other | ) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::QuaternionBase< Derived >::operator= | ( | const QuaternionBase< OtherDerived > & | other | ) |
|
inline |
Sets *this to be a quaternion representing a rotation between the two arbitrary vectors a and b. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin.
*this.Note that the two input vectors do not have to be normalized, and do not need to have the same norm.
References Eigen::ComputeFullV, Eigen::SVDBase< Derived >::matrixV(), Eigen::numext::maxi(), and sqrt().
Referenced by igl::opengl2::RotateWidget::draw(), igl::opengl2::draw_skeleton_3d(), Slic3r::Measure::MeasuringImpl::extract_features(), Eigen::Quaternion< _Scalar, _Options >::FromTwoVectors(), Slic3r::GUI::GLGizmoCut3D::process_cut_line(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GUI::GLGizmoSlaSupports::render_points(), igl::opengl2::MouseController::set_selection(), Slic3r::sla::DrainHole::to_mesh(), Slic3r::GUI::GLGizmoHollow::update_hole_raycasters_for_picking_transform(), Slic3r::GUI::GLGizmoFlatten::update_planes(), and Slic3r::GUI::GLGizmoSlaSupports::update_point_raycasters_for_picking_transform().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > Eigen::QuaternionBase< Derived >::slerp | ( | const Scalar & | t, |
| const QuaternionBase< OtherDerived > & | other | ||
| ) | const |
| EIGEN_DEVICE_FUNC Quaternion< typename internal::traits< Derived >::Scalar > Eigen::QuaternionBase< Derived >::slerp | ( | const Scalar & | t, |
| const QuaternionBase< OtherDerived > & | other | ||
| ) | const |
*this and other at the parameter t in [0;1].This represents an interpolation for a constant motion between *this and other, see also http://en.wikipedia.org/wiki/Slerp.
References Eigen::numext::abs(), acos(), Eigen::QuaternionBase< Derived >::coeffs(), and sin().
Here is the call graph for this function:
|
inline |
References Eigen::QuaternionBase< Derived >::coeffs().
Here is the call graph for this function:
|
inline |
Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to be normalized, otherwise the result is undefined.
References Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef().
Referenced by Slic3r::FillAdaptive::build_octree(), and Slic3r::PrintObject::prepare_adaptive_infill_data().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::QuaternionBase< Derived >::coeffs().
Here is the call graph for this function:
|
inline |
References Eigen::QuaternionBase< Derived >::coeffs().
Referenced by Eigen::AngleAxis< _Scalar >::operator=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
w coefficient (if Derived is a non-const lvalue) References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
w coefficient References Eigen::RotationBase< Derived, 3 >::derived().
Referenced by igl::serialization::deserialize(), Eigen::AngleAxis< _Scalar >::operator=(), Eigen::internal::quat_conj< Arch, Derived, Scalar >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 3, 3 >::run(), igl::matlab::MatlabWorkspace::save(), and igl::serialization::serialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
x coefficient (if Derived is a non-const lvalue) References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
x coefficient References Eigen::RotationBase< Derived, 3 >::derived().
Referenced by igl::serialization::deserialize(), Eigen::internal::quat_product< Architecture::SSE, Derived, OtherDerived, float >::run(), Eigen::internal::quat_product< Architecture::SSE, Derived, OtherDerived, double >::run(), Eigen::internal::quat_conj< Architecture::SSE, Derived, float >::run(), Eigen::internal::quat_conj< Architecture::SSE, Derived, double >::run(), Eigen::internal::quat_conj< Arch, Derived, Scalar >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 3, 3 >::run(), igl::matlab::MatlabWorkspace::save(), and igl::serialization::serialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
y coefficient (if Derived is a non-const lvalue) References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
y coefficient References Eigen::RotationBase< Derived, 3 >::derived().
Referenced by igl::serialization::deserialize(), Eigen::internal::quat_conj< Arch, Derived, Scalar >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 3, 3 >::run(), igl::matlab::MatlabWorkspace::save(), and igl::serialization::serialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
z coefficient (if Derived is a non-const lvalue) References Eigen::RotationBase< Derived, 3 >::derived().
Here is the call graph for this function:
|
inline |
z coefficient References Eigen::RotationBase< Derived, 3 >::derived().
Referenced by igl::serialization::deserialize(), Eigen::internal::quat_product< Architecture::SSE, Derived, OtherDerived, double >::run(), Eigen::internal::quat_conj< Architecture::SSE, Derived, double >::run(), Eigen::internal::quat_conj< Arch, Derived, Scalar >::run(), Eigen::internal::quaternionbase_assign_impl< Other, 3, 3 >::run(), igl::matlab::MatlabWorkspace::save(), and igl::serialization::serialize().
Here is the call graph for this function:
Here is the caller graph for this function:| class Eigen::Quaternion |
The quaternion class used to represent 3D orientations and rotations.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients |
| _Options | controls the memory alignment of the coefficients. Can be # AutoAlign or # DontAlign. Default is AutoAlign. |
This class represents a quaternion
The following two typedefs are provided for convenience:
Quaternionf for float Quaterniond for double
Inheritance diagram for Eigen::Quaternion< _Scalar, _Options >:
Collaboration diagram for Eigen::Quaternion< _Scalar, _Options >:Public Types | |
| enum | |
| typedef QuaternionBase< Quaternion< _Scalar, _Options > > | Base |
| typedef _Scalar | Scalar |
| typedef internal::traits< Quaternion >::Coefficients | Coefficients |
| typedef Base::AngleAxisType | AngleAxisType |
| enum | |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef Coefficients::CoeffReturnType | CoeffReturnType |
| typedef internal::conditional< bool(internal::traits< Quaternion< _Scalar, _Options > >::Flags &LvalueBit), Scalar &, CoeffReturnType >::type | NonConstCoeffReturnType |
| typedef Matrix< Scalar, 3, 1 > | Vector3 |
| typedef Matrix< Scalar, 3, 3 > | Matrix3 |
| enum | { Dim = _Dim } |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | Quaternion () |
| EIGEN_DEVICE_FUNC | Quaternion (const Scalar &w, const Scalar &x, const Scalar &y, const Scalar &z) |
| EIGEN_DEVICE_FUNC | Quaternion (const Scalar *data) |
| template<class Derived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Quaternion (const QuaternionBase< Derived > &other) |
| EIGEN_DEVICE_FUNC | Quaternion (const AngleAxisType &aa) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | Quaternion (const MatrixBase< Derived > &other) |
| template<typename OtherScalar , int OtherOptions> | |
| EIGEN_DEVICE_FUNC | Quaternion (const Quaternion< OtherScalar, OtherOptions > &other) |
| EIGEN_DEVICE_FUNC Coefficients & | coeffs () |
| EIGEN_DEVICE_FUNC const Coefficients & | coeffs () const |
| template<typename Derived1 , typename Derived2 > | |
| EIGEN_DEVICE_FUNC Quaternion< Scalar, Options > | FromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| EIGEN_DEVICE_FUNC CoeffReturnType | x () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | x () |
| EIGEN_DEVICE_FUNC CoeffReturnType | y () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | y () |
| EIGEN_DEVICE_FUNC CoeffReturnType | z () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | z () |
| EIGEN_DEVICE_FUNC CoeffReturnType | w () const |
| EIGEN_DEVICE_FUNC NonConstCoeffReturnType | w () |
| EIGEN_DEVICE_FUNC const VectorBlock< const Coefficients, 3 > | vec () const |
| EIGEN_DEVICE_FUNC VectorBlock< Coefficients, 3 > | vec () |
| EIGEN_DEVICE_FUNC QuaternionBase & | setIdentity () |
| EIGEN_DEVICE_FUNC Scalar | squaredNorm () const |
| EIGEN_DEVICE_FUNC Scalar | norm () const |
| EIGEN_DEVICE_FUNC void | normalize () |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | normalized () const |
| EIGEN_DEVICE_FUNC Scalar | dot (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC internal::traits< Quaternion< _Scalar, _Options > >::Scalar | angularDistance (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Matrix3 | toRotationMatrix () const |
| EIGEN_DEVICE_FUNC Quaternion< _Scalar, _Options > & | setFromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > | operator* (const QuaternionBase< OtherDerived > &q) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< typename internal::traits< Quaternion< _Scalar, _Options > >::Scalar > | operator* (const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Derived, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| template<int Mode, int Options> | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< _Scalar, _Options > & | operator*= (const QuaternionBase< OtherDerived > &q) |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | inverse () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | conjugate () const |
| EIGEN_DEVICE_FUNC Quaternion< Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC Quaternion< typename internal::traits< Quaternion< _Scalar, _Options > >::Scalar > | slerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const |
| EIGEN_DEVICE_FUNC bool | isApprox (const QuaternionBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Vector3 | _transformVector (const Vector3 &v) const |
| template<typename OtherVectorType > | |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Quaternion< _Scalar, _Options >, Quaternion< NewScalarType > >::type | cast () const |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Quaternion | UnitRandom () |
| template<typename Derived1 , typename Derived2 > | |
| static EIGEN_DEVICE_FUNC Quaternion | FromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b) |
| static EIGEN_DEVICE_FUNC Quaternion< Scalar > | Identity () |
Static Protected Member Functions | |
| static EIGEN_STRONG_INLINE void | _check_template_params () |
Protected Attributes | |
| Coefficients | m_coeffs |
| typedef Base::AngleAxisType Eigen::Quaternion< _Scalar, _Options >::AngleAxisType |
| typedef QuaternionBase<Quaternion<_Scalar,_Options> > Eigen::Quaternion< _Scalar, _Options >::Base |
| typedef internal::traits<Quaternion>::Coefficients Eigen::Quaternion< _Scalar, _Options >::Coefficients |
|
inherited |
|
inherited |
the equivalent rotation matrix type
|
inherited |
|
inherited |
|
inherited |
corresponding linear transformation matrix type
| typedef _Scalar Eigen::Quaternion< _Scalar, _Options >::Scalar |
|
inherited |
the type of a 3D vector
|
inherited |
|
inherited |
| Enumerator | |
|---|---|
| Dim | |
|
inherited |
| anonymous enum |
|
inline |
Default constructor leaving the quaternion uninitialized.
|
inline |
Constructs and initializes the quaternion
x, y, z, w]
|
inlineexplicit |
Constructs and initialize a quaternion from the array data
|
inline |
Copy constructor
References Eigen::QuaternionBase< Quaternion< _Scalar, _Options > >::operator=().
Here is the call graph for this function:
|
inlineexplicit |
Constructs and initializes a quaternion from the angle-axis aa
|
inlineexplicit |
Constructs and initializes a quaternion from either:
|
inlineexplicit |
Explicit copy constructor with scalar conversion
References Eigen::Quaternion< _Scalar, _Options >::coeffs(), and Eigen::Quaternion< _Scalar, _Options >::m_coeffs.
Here is the call graph for this function:
|
inlinestaticprotected |
References Eigen::DontAlign, and EIGEN_STATIC_ASSERT.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
return the result vector of v through the rotation
Rotation of a vector by a quaternion.
|
inherited |
|
inlineinherited |
|
inlineinherited |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inline |
References Eigen::Quaternion< _Scalar, _Options >::m_coeffs.
Referenced by Eigen::Quaternion< _Scalar, _Options >::Quaternion(), igl::opengl2::RotateWidget::drag(), igl::opengl2::MouseController::set_selection(), igl::snap_to_canonical_view_quat(), and igl::trackball().
Here is the caller graph for this function:
|
inline |
References Eigen::Quaternion< _Scalar, _Options >::m_coeffs.
|
inlineinherited |
*this which is equal to the multiplicative inverse if the quaternion is normalized. The conjugate of a quaternion represents the opposite rotation.
|
inlineinherited |
|
inlineinherited |
Referenced by Eigen::RotationBase< Derived, _Dim >::inverse(), Eigen::RotationBase< Derived, _Dim >::matrix(), Eigen::RotationBase< Derived, _Dim >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::QuaternionBase< Derived >::operator*=(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the caller graph for this function:
|
inlineinherited |
*this and other Geometrically speaking, the dot product of two unit quaternions corresponds to the cosine of half the angle between the two rotations.
|
static |
Referenced by Slic3r::Measure::angle_edge_edge(), Slic3r::sla::find_min_z_height_rotation(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::get_chull_rotations(), Slic3r::GUI::on_mouse_surface_drag(), Slic3r::GUI::GLGizmoMeasure::on_render(), Slic3r::GUI::GLGizmoMeasure::render_dimensioning(), and igl::copyleft::cgal::wire_mesh().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Quaternion< Scalar, Options > Eigen::Quaternion< _Scalar, _Options >::FromTwoVectors | ( | const MatrixBase< Derived1 > & | a, |
| const MatrixBase< Derived2 > & | b | ||
| ) |
Returns a quaternion representing a rotation between the two arbitrary vectors a and b. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin.
Note that the two input vectors do not have to be normalized, and do not need to have the same norm.
References Eigen::QuaternionBase< Derived >::setFromTwoVectors().
Here is the call graph for this function:
|
inlinestaticinherited |
|
inlineinherited |
*this Note that in most cases, i.e., if you simply want the opposite rotation, and/or the quaternion is normalized, then it is enough to use the conjugate.
|
inlineinherited |
true if *this is approximately equal to other, within the precision determined by prec.
|
inlineinherited |
References Eigen::RotationBase< Derived, _Dim >::derived().
Referenced by Slic3r::Emboss::create_transformation_onto_surface(), and igl::snap_to_fixed_up().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
Normalizes the quaternion *this
|
inlineinherited |
|
inlineinherited |
*this with a generic expression e e can be:References Eigen::EigenBase< Derived >::derived(), and Eigen::RotationBase< Derived, _Dim >::derived().
Here is the call graph for this function:
|
inherited |
|
inherited |
|
inlineinherited |
*this with a transformation t References Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inherited |
|
inlineinherited |
Sets *this to be a quaternion representing a rotation between the two arbitrary vectors a and b. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin.
*this.Note that the two input vectors do not have to be normalized, and do not need to have the same norm.
|
inlineinherited |
|
inherited |
|
inherited |
*this and other at the parameter t in [0;1].This represents an interpolation for a constant motion between *this and other, see also http://en.wikipedia.org/wiki/Slerp.
|
inlineinherited |
|
inlineinherited |
Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to be normalized, otherwise the result is undefined.
|
static |
References cos(), EIGEN_PI, sin(), and sqrt().
Here is the call graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
w coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
w coefficient
|
inlineinherited |
x coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
x coefficient
|
inlineinherited |
y coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
y coefficient
|
inlineinherited |
z coefficient (if Derived is a non-const lvalue)
|
inlineinherited |
z coefficient
|
protected |
| class Eigen::Rotation2D |
Represents a rotation/orientation in a 2 dimensional space.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients |
This class is equivalent to a single scalar representing a counter clock wise rotation as a single angle in radian. It provides some additional features such as the automatic conversion from/to a 2x2 rotation matrix. Moreover this class aims to provide a similar interface to Quaternion in order to facilitate the writing of generic algorithms dealing with rotations.
Inheritance diagram for Eigen::Rotation2D< _Scalar >:
Collaboration diagram for Eigen::Rotation2D< _Scalar >:Public Types | |
| enum | { Dim = 2 } |
| typedef _Scalar | Scalar |
| typedef Matrix< Scalar, 2, 1 > | Vector2 |
| typedef Matrix< Scalar, 2, 2 > | Matrix2 |
| enum | |
| typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | Rotation2D (const Scalar &a) |
| EIGEN_DEVICE_FUNC | Rotation2D () |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | Rotation2D (const MatrixBase< Derived > &m) |
| EIGEN_DEVICE_FUNC Scalar | angle () const |
| EIGEN_DEVICE_FUNC Scalar & | angle () |
| EIGEN_DEVICE_FUNC Scalar | smallestPositiveAngle () const |
| EIGEN_DEVICE_FUNC Scalar | smallestAngle () const |
| EIGEN_DEVICE_FUNC Rotation2D | inverse () const |
| EIGEN_DEVICE_FUNC Rotation2D | operator* (const Rotation2D &other) const |
| EIGEN_DEVICE_FUNC Rotation2D & | operator*= (const Rotation2D &other) |
| EIGEN_DEVICE_FUNC Vector2 | operator* (const Vector2 &vec) const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Rotation2D & | fromRotationMatrix (const MatrixBase< Derived > &m) |
| EIGEN_DEVICE_FUNC Matrix2 | toRotationMatrix () const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Rotation2D & | operator= (const MatrixBase< Derived > &m) |
| EIGEN_DEVICE_FUNC Rotation2D | slerp (const Scalar &t, const Rotation2D &other) const |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Rotation2D, Rotation2D< NewScalarType > >::type | cast () const |
| template<typename OtherScalarType > | |
| EIGEN_DEVICE_FUNC | Rotation2D (const Rotation2D< OtherScalarType > &other) |
| EIGEN_DEVICE_FUNC bool | isApprox (const Rotation2D &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Rotation2D< Scalar > & | fromRotationMatrix (const MatrixBase< Derived > &mat) |
| EIGEN_DEVICE_FUNC const Rotation2D< _Scalar > & | derived () const |
| EIGEN_DEVICE_FUNC Rotation2D< _Scalar > & | derived () |
| EIGEN_DEVICE_FUNC RotationMatrixType | matrix () const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > | operator* (const Translation< Scalar, Dim > &t) const |
| EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const UniformScaling< Scalar > &s) const |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Rotation2D< _Scalar >, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType | operator* (const EigenBase< OtherDerived > &e) const |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > | operator* (const Transform< Scalar, Dim, Mode, Options > &t) const |
| EIGEN_DEVICE_FUNC VectorType | _transformVector (const OtherVectorType &v) const |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC Rotation2D | Identity () |
Protected Attributes | |
| Scalar | m_angle |
Private Types | |
| typedef RotationBase< Rotation2D< _Scalar >, 2 > | Base |
|
private |
| typedef Matrix<Scalar,2,2> Eigen::Rotation2D< _Scalar >::Matrix2 |
|
inherited |
corresponding linear transformation matrix type
| typedef _Scalar Eigen::Rotation2D< _Scalar >::Scalar |
the scalar type of the coefficients
| typedef Matrix<Scalar,2,1> Eigen::Rotation2D< _Scalar >::Vector2 |
|
inherited |
| anonymous enum |
| Enumerator | |
|---|---|
| Dim | |
|
inherited |
|
inlineexplicit |
Construct a 2D counter clock wise rotation from the angle a in radian.
|
inline |
Default constructor wihtout initialization. The represented rotation is undefined.
Referenced by Eigen::Rotation2D< _Scalar >::Identity(), Eigen::Rotation2D< _Scalar >::inverse(), Eigen::Rotation2D< _Scalar >::operator*(), and Eigen::Rotation2D< _Scalar >::slerp().
Here is the caller graph for this function:
|
inlineexplicit |
Construct a 2D rotation from a 2x2 rotation matrix mat.
References Eigen::Rotation2D< _Scalar >::fromRotationMatrix().
Here is the call graph for this function:
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::Rotation2D< _Scalar >::angle(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inlineinherited |
|
inline |
References Eigen::Rotation2D< _Scalar >::m_angle.
|
inline |
References Eigen::Rotation2D< _Scalar >::m_angle.
Referenced by Eigen::Rotation2D< _Scalar >::Rotation2D().
Here is the caller graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inlineinherited |
|
inlineinherited |
| EIGEN_DEVICE_FUNC Rotation2D & Eigen::Rotation2D< _Scalar >::fromRotationMatrix | ( | const MatrixBase< Derived > & | m | ) |
Referenced by Eigen::Rotation2D< _Scalar >::Rotation2D(), Eigen::Rotation2D< _Scalar >::operator=(), and igl::procrustes().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Rotation2D< Scalar > & Eigen::Rotation2D< _Scalar >::fromRotationMatrix | ( | const MatrixBase< Derived > & | mat | ) |
Set *this from a 2x2 rotation matrix mat. In other words, this function extract the rotation angle from the rotation matrix.
References EIGEN_STATIC_ASSERT.
|
inlinestatic |
|
inline |
References Eigen::Rotation2D< _Scalar >::Rotation2D(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::internal::isApprox(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inlineinherited |
|
inlineinherited |
*this with a generic expression e e can be:
|
inline |
Concatenates two rotations
References Eigen::Rotation2D< _Scalar >::Rotation2D(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inlineinherited |
*this with a transformation t
|
inlineinherited |
*this with a translation t
|
inlineinherited |
*this with a uniform scaling s
|
inline |
Applies the rotation to a 2D vector
References Eigen::Rotation2D< _Scalar >::toRotationMatrix().
Here is the call graph for this function:
|
inline |
|
inline |
Set *this from a 2x2 rotation matrix mat. In other words, this function extract the rotation angle from the rotation matrix.
This method is an alias for fromRotationMatrix()
References Eigen::Rotation2D< _Scalar >::fromRotationMatrix().
Here is the call graph for this function:
|
inline |
*this and other using parameter t. It is in fact equivalent to a linear interpolation. References Eigen::Rotation2D< _Scalar >::Rotation2D(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inline |
References EIGEN_PI, Eigen::numext::fmod(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:
|
inline |
References EIGEN_PI, Eigen::numext::fmod(), and Eigen::Rotation2D< _Scalar >::m_angle.
Here is the call graph for this function:| Rotation2D< Scalar >::Matrix2 EIGEN_DEVICE_FUNC Eigen::Rotation2D< Scalar >::toRotationMatrix | ( | void | ) | const |
Constructs and
Referenced by Eigen::Rotation2D< _Scalar >::operator*(), and Eigen::internal::toRotationMatrix().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Referenced by Eigen::Rotation2D< _Scalar >::Rotation2D(), Eigen::Rotation2D< _Scalar >::angle(), Eigen::Rotation2D< _Scalar >::angle(), Eigen::Rotation2D< _Scalar >::inverse(), Eigen::Rotation2D< _Scalar >::isApprox(), Eigen::Rotation2D< _Scalar >::operator*(), Eigen::Rotation2D< _Scalar >::operator*=(), Eigen::Rotation2D< _Scalar >::slerp(), Eigen::Rotation2D< _Scalar >::smallestAngle(), and Eigen::Rotation2D< _Scalar >::smallestPositiveAngle().
| class Scaling |
Represents a generic uniform scaling transformation.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients. |
This class represent a uniform scaling transformation. It is the return type of Scaling(Scalar), and most of the time this is the only way it is used. In particular, this class is not aimed to be used to store a scaling transformation, but rather to make easier the constructions and updates of Transform objects.
To represent an axis aligned scaling, use the DiagonalMatrix class.
| class Eigen::Transform |
Represents an homogeneous transformation in a N dimensional space.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients |
| _Dim | the dimension of the space |
| _Mode | the type of the transformation. Can be:
|
| _Options | has the same meaning as in class Matrix. It allows to specify DontAlign and/or RowMajor. These Options are passed directly to the underlying matrix type. |
The homography is internally represented and stored by a matrix which is available through the matrix() method. To understand the behavior of this class you have to think a Transform object as its internal matrix representation. The chosen convention is right multiply:
Therefore, an affine transformation matrix M is shaped like this:
Note that for a projective transformation the last row can be anything, and then the interpretation of different parts might be sightly different.
However, unlike a plain matrix, the Transform class provides many features simplifying both its assembly and usage. In particular, it can be composed with any other transformations (Transform,Translation,RotationBase,DiagonalMatrix) and can be directly used to transform implicit homogeneous vectors. All these operations are handled via the operator*. For the composition of transformations, its principle consists to first convert the right/left hand sides of the product to a compatible (Dim+1)^2 matrix and then perform a pure matrix product. Of course, internally, operator* tries to perform the minimal number of operations according to the nature of each terms. Likewise, when applying the transform to points, the latters are automatically promoted to homogeneous vectors before doing the matrix product. The conventions to homogeneous representations are performed as follow:
Translation t (Dim)x(1):
Rotation R (Dim)x(Dim):
Scaling DiagonalMatrix S (Dim)x(Dim):
Column point v (Dim)x(1):
Set of column points V1...Vn (Dim)x(n):
The concatenation of a Transform object with any kind of other transformation always returns a Transform object.
A little exception to the "as pure matrix product" rule is the case of the transformation of non homogeneous vectors by an affine transformation. In that case the last matrix row can be ignored, and the product returns non homogeneous vectors.
Since, for instance, a Dim x Dim matrix is interpreted as a linear transformation, it is not possible to directly transform Dim vectors stored in a Dim x Dim matrix. The solution is either to use a Dim x Dynamic matrix or explicitly request a vector transformation by making the vector homogeneous:
Note that there is zero overhead.
Conversion methods from/to Qt's QMatrix and QTransform are available if the preprocessor token EIGEN_QT_SUPPORT is defined.
This class can be extended with the help of the plugin mechanism described on the page TopicCustomizing_Plugins by defining the preprocessor symbol EIGEN_TRANSFORM_PLUGIN.
Inheritance diagram for Eigen::Transform< _Scalar, _Dim, _Mode, _Options >:
Collaboration diagram for Eigen::Transform< _Scalar, _Dim, _Mode, _Options >:Public Types | |
| enum | { TransformTimeDiagonalMode = ((Mode==int(Isometry))?Affine:int(Mode)) } |
| typedef _Scalar | Scalar |
| typedef Eigen::Index | StorageIndex |
| typedef Eigen::Index | Index |
| typedef internal::make_proper_matrix_type< Scalar, Rows, HDim, Options >::type | MatrixType |
| typedef const MatrixType | ConstMatrixType |
| typedef Matrix< Scalar, Dim, Dim, Options > | LinearMatrixType |
| typedef Block< MatrixType, Dim, Dim, int(Mode)==(AffineCompact) &&(Options &RowMajor)==0 > | LinearPart |
| typedef const Block< ConstMatrixType, Dim, Dim, int(Mode)==(AffineCompact) &&(Options &RowMajor)==0 > | ConstLinearPart |
| typedef internal::conditional< int(Mode)==int(AffineCompact), MatrixType &, Block< MatrixType, Dim, HDim > >::type | AffinePart |
| typedef internal::conditional< int(Mode)==int(AffineCompact), constMatrixType &, constBlock< constMatrixType, Dim, HDim > >::type | ConstAffinePart |
| typedef Matrix< Scalar, Dim, 1 > | VectorType |
| typedef Block< MatrixType, Dim, 1,!(internal::traits< MatrixType >::Flags &RowMajorBit)> | TranslationPart |
| typedef const Block< ConstMatrixType, Dim, 1,!(internal::traits< MatrixType >::Flags &RowMajorBit)> | ConstTranslationPart |
| typedef Translation< Scalar, Dim > | TranslationType |
| typedef Transform< Scalar, Dim, TransformTimeDiagonalMode > | TransformTimeDiagonalReturnType |
| typedef internal::transform_take_affine_part< Transform > | take_affine_part |
Public Member Functions | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE (_Scalar, _Dim==Dynamic ? Dynamic :(_Dim+1) *(_Dim+1)) enum | |
| EIGEN_DEVICE_FUNC | Transform () |
| EIGEN_DEVICE_FUNC | Transform (const Transform &other) |
| EIGEN_DEVICE_FUNC | Transform (const TranslationType &t) |
| EIGEN_DEVICE_FUNC | Transform (const UniformScaling< Scalar > &s) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC | Transform (const RotationBase< Derived, Dim > &r) |
| EIGEN_DEVICE_FUNC Transform & | operator= (const Transform &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC | Transform (const EigenBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | operator= (const EigenBase< OtherDerived > &other) |
| template<int OtherOptions> | |
| EIGEN_DEVICE_FUNC | Transform (const Transform< Scalar, Dim, Mode, OtherOptions > &other) |
| template<int OtherMode, int OtherOptions> | |
| EIGEN_DEVICE_FUNC | Transform (const Transform< Scalar, Dim, OtherMode, OtherOptions > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC | Transform (const ReturnByValue< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | operator= (const ReturnByValue< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC Index | rows () const |
| EIGEN_DEVICE_FUNC Index | cols () const |
| EIGEN_DEVICE_FUNC Scalar | operator() (Index row, Index col) const |
| EIGEN_DEVICE_FUNC Scalar & | operator() (Index row, Index col) |
| EIGEN_DEVICE_FUNC const MatrixType & | matrix () const |
| EIGEN_DEVICE_FUNC MatrixType & | matrix () |
| EIGEN_DEVICE_FUNC ConstLinearPart | linear () const |
| EIGEN_DEVICE_FUNC LinearPart | linear () |
| EIGEN_DEVICE_FUNC ConstAffinePart | affine () const |
| EIGEN_DEVICE_FUNC AffinePart | affine () |
| EIGEN_DEVICE_FUNC ConstTranslationPart | translation () const |
| EIGEN_DEVICE_FUNC TranslationPart | translation () |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const internal::transform_right_product_impl< Transform, OtherDerived >::ResultType | operator* (const EigenBase< OtherDerived > &other) const |
| template<typename DiagonalDerived > | |
| EIGEN_DEVICE_FUNC const TransformTimeDiagonalReturnType | operator* (const DiagonalBase< DiagonalDerived > &b) const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | operator*= (const EigenBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC const Transform | operator* (const Transform &other) const |
| template<int OtherMode, int OtherOptions> | |
| EIGEN_DEVICE_FUNC internal::transform_transform_product_impl< Transform, Transform< Scalar, Dim, OtherMode, OtherOptions > >::ResultType | operator* (const Transform< Scalar, Dim, OtherMode, OtherOptions > &other) const |
| EIGEN_DEVICE_FUNC void | setIdentity () |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | scale (const MatrixBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | prescale (const MatrixBase< OtherDerived > &other) |
| EIGEN_DEVICE_FUNC Transform & | scale (const Scalar &s) |
| EIGEN_DEVICE_FUNC Transform & | prescale (const Scalar &s) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | translate (const MatrixBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform & | pretranslate (const MatrixBase< OtherDerived > &other) |
| template<typename RotationType > | |
| EIGEN_DEVICE_FUNC Transform & | rotate (const RotationType &rotation) |
| template<typename RotationType > | |
| EIGEN_DEVICE_FUNC Transform & | prerotate (const RotationType &rotation) |
| EIGEN_DEVICE_FUNC Transform & | shear (const Scalar &sx, const Scalar &sy) |
| EIGEN_DEVICE_FUNC Transform & | preshear (const Scalar &sx, const Scalar &sy) |
| EIGEN_DEVICE_FUNC Transform & | operator= (const TranslationType &t) |
| EIGEN_DEVICE_FUNC Transform & | operator*= (const TranslationType &t) |
| EIGEN_DEVICE_FUNC Transform | operator* (const TranslationType &t) const |
| EIGEN_DEVICE_FUNC Transform & | operator= (const UniformScaling< Scalar > &t) |
| EIGEN_DEVICE_FUNC Transform & | operator*= (const UniformScaling< Scalar > &s) |
| EIGEN_DEVICE_FUNC TransformTimeDiagonalReturnType | operator* (const UniformScaling< Scalar > &s) const |
| EIGEN_DEVICE_FUNC Transform & | operator*= (const DiagonalMatrix< Scalar, Dim > &s) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Transform & | operator= (const RotationBase< Derived, Dim > &r) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Transform & | operator*= (const RotationBase< Derived, Dim > &r) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Transform | operator* (const RotationBase< Derived, Dim > &r) const |
| EIGEN_DEVICE_FUNC const LinearMatrixType | rotation () const |
| template<typename RotationMatrixType , typename ScalingMatrixType > | |
| EIGEN_DEVICE_FUNC void | computeRotationScaling (RotationMatrixType *rotation, ScalingMatrixType *scaling) const |
| template<typename ScalingMatrixType , typename RotationMatrixType > | |
| EIGEN_DEVICE_FUNC void | computeScalingRotation (ScalingMatrixType *scaling, RotationMatrixType *rotation) const |
| template<typename PositionDerived , typename OrientationType , typename ScaleDerived > | |
| EIGEN_DEVICE_FUNC Transform & | fromPositionOrientationScale (const MatrixBase< PositionDerived > &position, const OrientationType &orientation, const MatrixBase< ScaleDerived > &scale) |
| EIGEN_DEVICE_FUNC Transform | inverse (TransformTraits traits=(TransformTraits) Mode) const |
| EIGEN_DEVICE_FUNC const Scalar * | data () const |
| EIGEN_DEVICE_FUNC Scalar * | data () |
| template<typename NewScalarType > | |
| EIGEN_DEVICE_FUNC internal::cast_return_type< Transform, Transform< NewScalarType, Dim, Mode, Options > >::type | cast () const |
| template<typename OtherScalarType > | |
| EIGEN_DEVICE_FUNC | Transform (const Transform< OtherScalarType, Dim, Mode, Options > &other) |
| EIGEN_DEVICE_FUNC bool | isApprox (const Transform &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const |
| EIGEN_DEVICE_FUNC void | makeAffine () |
| EIGEN_DEVICE_FUNC Block< MatrixType, int(Mode)==int(Projective)?HDim:Dim, Dim > | linearExt () |
| EIGEN_DEVICE_FUNC const Block< MatrixType, int(Mode)==int(Projective)?HDim:Dim, Dim > | linearExt () const |
| EIGEN_DEVICE_FUNC Block< MatrixType, int(Mode)==int(Projective)?HDim:Dim, 1 > | translationExt () |
| EIGEN_DEVICE_FUNC const Block< MatrixType, int(Mode)==int(Projective)?HDim:Dim, 1 > | translationExt () const |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | scale (const MatrixBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | prescale (const MatrixBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | translate (const MatrixBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | pretranslate (const MatrixBase< OtherDerived > &other) |
| template<typename RotationType > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | rotate (const RotationType &rotation) |
| template<typename RotationType > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | prerotate (const RotationType &rotation) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | operator= (const RotationBase< Derived, Dim > &r) |
| template<typename Derived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > | operator* (const RotationBase< Derived, Dim > &r) const |
| template<typename PositionDerived , typename OrientationType , typename ScaleDerived > | |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & | fromPositionOrientationScale (const MatrixBase< PositionDerived > &position, const OrientationType &orientation, const MatrixBase< ScaleDerived > &scale) |
Static Public Member Functions | |
| static EIGEN_DEVICE_FUNC const Transform | Identity () |
| Returns an identity transformation. | |
Static Protected Member Functions | |
| static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | check_template_params () |
Protected Attributes | |
| MatrixType | m_matrix |
Friends | |
| template<typename OtherDerived > | |
| EIGEN_DEVICE_FUNC const internal::transform_left_product_impl< OtherDerived, Mode, Options, _Dim, _Dim+1 >::ResultType | operator* (const EigenBase< OtherDerived > &a, const Transform &b) |
| template<typename DiagonalDerived > | |
| EIGEN_DEVICE_FUNC friend TransformTimeDiagonalReturnType | operator* (const DiagonalBase< DiagonalDerived > &a, const Transform &b) |
| typedef internal::conditional<int(Mode)==int(AffineCompact),MatrixType&,Block<MatrixType,Dim,HDim>>::type Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::AffinePart |
type of read/write reference to the affine part of the transformation
| typedef internal::conditional<int(Mode)==int(AffineCompact),constMatrixType&,constBlock<constMatrixType,Dim,HDim>>::type Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::ConstAffinePart |
type of read reference to the affine part of the transformation
| typedef const Block<ConstMatrixType,Dim,Dim,int(Mode)==(AffineCompact) && (Options&RowMajor)==0> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::ConstLinearPart |
type of read reference to the linear part of the transformation
| typedef const MatrixType Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::ConstMatrixType |
constified MatrixType
| typedef const Block<ConstMatrixType,Dim,1,!(internal::traits<MatrixType>::Flags & RowMajorBit)> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::ConstTranslationPart |
type of a read reference to the translation part of the rotation
| typedef Eigen::Index Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Index |
| typedef Matrix<Scalar,Dim,Dim,Options> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::LinearMatrixType |
type of the matrix used to represent the linear part of the transformation
| typedef Block<MatrixType,Dim,Dim,int(Mode)==(AffineCompact) && (Options&RowMajor)==0> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::LinearPart |
type of read/write reference to the linear part of the transformation
| typedef internal::make_proper_matrix_type<Scalar,Rows,HDim,Options>::type Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::MatrixType |
type of the matrix used to represent the transformation
| typedef _Scalar Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Scalar |
the scalar type of the coefficients
| typedef Eigen::Index Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::StorageIndex |
| typedef internal::transform_take_affine_part<Transform> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::take_affine_part |
| typedef Transform<Scalar,Dim,TransformTimeDiagonalMode> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::TransformTimeDiagonalReturnType |
The return type of the product between a diagonal matrix and a transform
| typedef Block<MatrixType,Dim,1,!(internal::traits<MatrixType>::Flags & RowMajorBit)> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::TranslationPart |
type of a read/write reference to the translation part of the rotation
| typedef Translation<Scalar,Dim> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::TranslationType |
corresponding translation type
| typedef Matrix<Scalar,Dim,1> Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::VectorType |
type of a vector
| anonymous enum |
|
inline |
Default constructor without initialization of the meaningful coefficients. If Mode==Affine, then the last row is set to [0 ... 0 1]
References Eigen::Affine, Eigen::AffineCompact, Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Identity().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Here is the call graph for this function:
|
inlineexplicit |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params().
Here is the call graph for this function:
|
inlineexplicit |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params().
Here is the call graph for this function:
|
inlineexplicit |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params().
Here is the call graph for this function:
|
inlineexplicit |
Constructs and initializes a transformation from a Dim^2 or a (Dim+1)^2 matrix.
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), Eigen::EigenBase< Derived >::derived(), and EIGEN_STATIC_ASSERT.
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix().
Here is the call graph for this function:
|
inline |
References Eigen::Affine, Eigen::AffineCompact, Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), EIGEN_IMPLIES, EIGEN_STATIC_ASSERT, Eigen::Isometry, Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::makeAffine(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::Projective, and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation().
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), and Eigen::ReturnByValue< Derived >::evalTo().
Here is the call graph for this function:
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::check_template_params(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix().
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and Eigen::internal::transform_take_affine_part< TransformType >::run().
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and Eigen::internal::transform_take_affine_part< TransformType >::run().
Referenced by Eigen::internal::transform_left_product_impl< Other, Mode, Options, Dim, HDim, Dim, HDim >::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
Referenced by Slic3r::GUI::GLGizmoFdmSupports::apply_data_from_backend(), Slic3r::TextConfigurationSerialization::create_fix_and_store(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::from_transform3f(), Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), Slic3r::GUI::GLGizmoSlaSupports::gizmo_event(), Slic3r::GUI::SceneRaycaster::hit(), Slic3r::is_volume_sinking(), Slic3r::multi_material_segmentation_by_painting(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::on_update(), Slic3r::GUI::GCodeViewer::SequentialView::Marker::render(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GLShaderProgram::set_uniform(), Slic3r::trafo_for_bbox(), Slic3r::transform_mesh_vertices_for_slicing(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::sla::transformed_support_points(), Slic3r::GUI::update_arrangepoly_slaprint(), Slic3r::GUI::GLGizmoHollow::update_hole_raycasters_for_picking_transform(), and Slic3r::ModelObject::update_instances_print_volume_state().
Here is the caller graph for this function:
|
inlinestaticprotected |
References Eigen::DontAlign, EIGEN_STATIC_ASSERT, and Eigen::RowMajor.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform().
Here is the caller graph for this function:
|
inline |
References Eigen::PlainObjectBase< Derived >::cols(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Here is the call graph for this function:| EIGEN_DEVICE_FUNC void Eigen::Transform< Scalar, Dim, Mode, Options >::computeRotationScaling | ( | RotationMatrixType * | rotation, |
| ScalingMatrixType * | scaling | ||
| ) | const |
decomposes the linear part of the transformation as a product rotation x scaling, the scaling being not necessarily positive.
If either pointer is zero, the corresponding computation is skipped.
\svd_module
References Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef(), Eigen::ComputeFullU, Eigen::ComputeFullV, Eigen::SVDBase< Derived >::matrixU(), Eigen::SVDBase< Derived >::matrixV(), and Eigen::SVDBase< Derived >::singularValues().
Referenced by Slic3r::Geometry::contains_skew(), Slic3r::Geometry::extract_rotation_matrix(), Slic3r::Geometry::extract_rotation_scale(), Slic3r::Geometry::extract_scale(), and Slic3r::GUI::Selection::scale_and_translate().
Here is the call graph for this function:
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC void Eigen::Transform< Scalar, Dim, Mode, Options >::computeScalingRotation | ( | ScalingMatrixType * | scaling, |
| RotationMatrixType * | rotation | ||
| ) | const |
decomposes the linear part of the transformation as a product scaling x rotation, the scaling being not necessarily positive.
If either pointer is zero, the corresponding computation is skipped.
\svd_module
References Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef(), Eigen::ComputeFullU, Eigen::ComputeFullV, Eigen::SVDBase< Derived >::matrixU(), Eigen::SVDBase< Derived >::matrixV(), and Eigen::SVDBase< Derived >::singularValues().
Here is the call graph for this function:
|
inline |
References Eigen::PlainObjectBase< Derived >::data(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Here is the call graph for this function:
|
inline |
References Eigen::PlainObjectBase< Derived >::data(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Slic3r::print_objects_from_model_object(), Slic3r::transform3d_equal(), and Slic3r::transform3d_lower().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
< space dimension in which the transformation holds
< size of a respective homogeneous vector
| EIGEN_DEVICE_FUNC Transform & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::fromPositionOrientationScale | ( | const MatrixBase< PositionDerived > & | position, |
| const OrientationType & | orientation, | ||
| const MatrixBase< ScaleDerived > & | scale | ||
| ) |
Referenced by Slic3r::GUI::Camera::rotate_local_around_target(), Slic3r::GUI::Camera::rotate_on_sphere(), and Slic3r::GUI::Camera::set_default_orientation().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::fromPositionOrientationScale | ( | const MatrixBase< PositionDerived > & | position, |
| const OrientationType & | orientation, | ||
| const MatrixBase< ScaleDerived > & | scale | ||
| ) |
Convenient method to set *this from a position, orientation and scale of a 3D object.
References scale().
Here is the call graph for this function:
|
inlinestatic |
Returns an identity transformation.
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform().
Referenced by Slic3r::identity().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
*this.| hint | allows to optimize the inversion process when the transformation is known to be not a general transformation (optional). The possible values are:
|
References Eigen::Affine, eigen_assert, Eigen::Isometry, Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::makeAffine(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::Projective, and Eigen::internal::projective_transform_inverse< TransformType, Mode >::run().
Referenced by priv::apply_camera_dir(), Slic3r::GUI::GLGizmoFdmSupports::apply_data_from_backend(), Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::GUI::calc_surface_offset(), Slic3r::GUI::RaycastManager::closest(), Slic3r::GUI::RaycastManager::closest_hit(), Slic3r::TextConfigurationSerialization::create_fix_and_store(), Slic3r::GUI::GLGizmoEmboss::create_volume(), Slic3r::ModelObject::cut(), priv::cut_surface(), Slic3r::GUI::Plater::export_stl_obj(), Slic3r::Measure::MeasuringImpl::extract_features(), Slic3r::GUI::RaycastManager::first_hit(), Slic3r::Measure::get_center_and_radius(), Slic3r::GUI::GLGizmoPainterBase::get_clipping_plane_in_volume_coordinates(), Slic3r::GUI::MeshRaycaster::get_unobscured_idxs(), Slic3r::GUI::GLGizmoPainterBase::gizmo_event(), Slic3r::GUI::MeshRaycaster::is_valid_intersection(), Slic3r::GUI::MeshRaycaster::line_from_mouse_pos(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::GLVolumeCollection::load_object_auxiliary(), Slic3r::GUI::GLGizmoRotate::mouse_position_in_local_plane(), Slic3r::GUI::GLGizmoCut3D::mouse_position_in_local_plane(), Slic3r::GUI::on_mouse_surface_drag(), Slic3r::GUI::GLGizmoMeasure::on_render(), Slic3r::GUI::CommonGizmosDataObjects::Raycaster::on_update(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::on_update(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::GLGizmoEmboss::process(), Slic3r::GUI::GLGizmoCut3D::process_cut_line(), Slic3r::ModelObject::process_volume_cut(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::GUI::Plater::priv::reload_from_disk(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_sphere(), Slic3r::GUI::CommonGizmosDataObjects::SupportsClipper::render_cut(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GUI::GLGizmoSlaSupports::render_points(), Slic3r::ModelObject::reset_instance_transformation(), Slic3r::GUI::Selection::reset_skew(), Slic3r::GUI::Selection::rotate(), Slic3r::GUI::Selection::scale_and_translate(), Slic3r::TriangleSelector::seed_fill_select_triangles(), Slic3r::GUI::GLGizmoFdmSupports::select_facets_by_angle(), Slic3r::TriangleSelector::select_patch(), Slic3r::GUI::GLGizmoCut3D::set_center_pos(), priv::start_create_volume_on_surface_job(), Slic3r::GUI::Selection::transform_volume_relative(), Slic3r::GUI::GLGizmoCut3D::transformed_bounding_box(), Slic3r::GUI::Selection::translate(), Slic3r::GUI::MeshRaycaster::unproject_on_mesh(), Slic3r::GUI::GLGizmoHollow::update_hole_raycasters_for_picking_transform(), Slic3r::GUI::GLGizmoFlatten::update_planes(), Slic3r::GUI::GLGizmoSlaSupports::update_point_raycasters_for_picking_transform(), Slic3r::GUI::GLGizmoSlaBase::update_volumes(), and Slic3r::GUI::world_matrix_fixed().
Here is the call graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Slic3r::_3MF_Importer::_generate_volumes(), Slic3r::SLAPrint::apply(), Slic3r::TextConfigurationSerialization::create_fix_and_store(), Slic3r::AMFParserContext::endElement(), Slic3r::csg::is_same(), Slic3r::model_volume_list_changed(), Slic3r::GUI::GLGizmoMeasure::VolumeCacheItem::operator==(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::GLGizmoCut3D::render_cut_plane_input_window(), and Slic3r::GUI::MeshClipper::set_transformation().
Here is the caller graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Slic3r::TriangleSelector::Cursor::Cursor(), Slic3r::GUI::GLGizmoCut3D::PartSelection::PartSelection(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Slic3r::Geometry::TransformationSVD::TransformationSVD(), priv::apply_camera_dir(), Slic3r::GUI::calc_surface_offset(), Slic3r::Emboss::calc_up(), Slic3r::GUI::GLGizmoEmboss::calculate_scale(), Slic3r::GUI::RaycastManager::closest_hit(), priv::create_projection_for_cut(), Slic3r::GUI::RaycastManager::first_hit(), Slic3r::GUI::GLGizmoPainterBase::get_clipping_plane_in_volume_coordinates(), Slic3r::Geometry::Transformation::is_left_handed(), Slic3r::GUI::is_left_handed(), Slic3r::GUI::is_rotation_xy_synchronized(), Slic3r::GUI::MeshRaycaster::line_from_mouse_pos(), Slic3r::GUI::on_mouse_surface_drag(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::UniformScaling< _Scalar >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Slic3r::Geometry::rotation_diff_z(), Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, LhsMode, LhsOptions >, Transform< Scalar, Dim, RhsMode, RhsOptions >, false >::run(), Eigen::internal::rotation_base_generic_product_selector< RotationDerived, DiagonalMatrix< Scalar, Dim, MaxDim >, false >::run(), Slic3r::SLAPrint::sla_trafo(), igl::swept_volume_signed_distance(), Slic3r::GUI::Selection::synchronize_unselected_instances(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform(), Slic3r::GUI::MeshRaycaster::unproject_on_mesh(), and Slic3r::ModelObject::update_min_max_z().
Here is the caller graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*=().
Here is the caller graph for this function:
|
inline |
|
inline |
Sets the last row to [0 ... 0 1]
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::inverse(), and Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, LhsMode, LhsOptions >, Transform< Scalar, Dim, RhsMode, RhsOptions >, false >::run().
Here is the caller graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Slic3r::Geometry::TransformationSVD::TransformationSVD(), Slic3r::GUI::GLCanvas3D::_mouse_to_3d(), Slic3r::GUI::GLCanvas3D::_render_thumbnail_internal(), Slic3r::GUI::Camera::apply_projection(), Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::Geometry::contains_skew(), Slic3r::GUI::GLGizmoEmboss::draw_window(), Slic3r::GUI::Selection::flattening_rotate(), Slic3r::GUI::Camera::get_dir_forward(), Slic3r::GUI::Camera::get_dir_right(), Slic3r::GUI::Camera::get_dir_up(), Slic3r::GUI::Camera::get_fov(), Slic3r::GUI::Camera::get_near_bottom(), Slic3r::GUI::Camera::get_near_height(), Slic3r::GUI::Camera::get_near_left(), Slic3r::GUI::Camera::get_near_right(), Slic3r::GUI::Camera::get_near_top(), Slic3r::GUI::Camera::get_near_width(), Slic3r::ModelObject::get_object_stl_stats(), Slic3r::GUI::Camera::get_position(), Slic3r::GUI::Selection::get_screen_space_bounding_box(), Slic3r::GUI::SceneRaycaster::hit(), Slic3r::GUI::init_torus_data(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::inverse(), Slic3r::is_identity(), its_transform(), Slic3r::GUI::GCodeViewer::load_toolpaths(), Slic3r::GUI::Camera::look_at(), Slic3r::GUI::GLGizmoMeasure::on_render(), Slic3r::GUI::GLGizmoSimplify::on_render(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::UniformScaling< _Scalar >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Slic3r::GUI::GLGizmoCut3D::process_cut_line(), Slic3r::GUI::CameraUtils::project(), Slic3r::project_triangles_to_slabs(), Slic3r::GUI::CameraUtils::ray_from_ortho_screen_pos(), Slic3r::GUI::CameraUtils::ray_from_persp_screen_pos(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::GUI::GCodeViewer::COG::render(), Slic3r::GUI::GCodeViewer::SequentialView::Marker::render(), Slic3r::GUI::CoordAxes::render(), Slic3r::GLVolumeCollection::render(), Slic3r::GUI::GLGizmoBase::Grabber::render(), Slic3r::GUI::TriangleSelectorMmGui::render(), Slic3r::GUI::GLGizmoMeasure::render_dimensioning(), Slic3r::GUI::Bed3D::render_model(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GUI::GLGizmoSlaSupports::render_points(), Slic3r::GUI::Selection::render_sidebar_position_hints(), Slic3r::GUI::Selection::render_sidebar_rotation_hints(), Slic3r::GUI::Selection::render_sidebar_scale_hints(), Slic3r::GUI::GLGizmoPainterBase::render_triangles(), Slic3r::GUI::GLGizmoMmuSegmentation::render_triangles(), Slic3r::GUI::GLCanvas3D::LayersEditing::render_volumes(), Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, LhsMode, LhsOptions >, Transform< Scalar, Dim, RhsMode, RhsOptions >, true >::run(), Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, AffineCompact, LhsOptions >, Transform< Scalar, Dim, Projective, RhsOptions >, true >::run(), Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, Projective, LhsOptions >, Transform< Scalar, Dim, AffineCompact, RhsOptions >, true >::run(), Eigen::internal::transform_left_product_impl< Other, Mode, Options, Dim, HDim, HDim, HDim >::run(), Eigen::internal::transform_left_product_impl< Other, AffineCompact, Options, Dim, HDim, HDim, HDim >::run(), Eigen::internal::transform_left_product_impl< Other, Mode, Options, Dim, HDim, Dim, HDim >::run(), Eigen::internal::transform_left_product_impl< Other, AffineCompact, Options, Dim, HDim, Dim, HDim >::run(), Eigen::internal::transform_left_product_impl< Other, Mode, Options, Dim, HDim, Dim, Dim >::run(), cereal::serialize(), Slic3r::GLShaderProgram::set_uniform(), Slic3r::GUI::Sidebar::show_info_sizer(), Slic3r::slice_mesh_slabs(), stl_transform(), Slic3r::Geometry::trafos_differ_in_rotation_by_z_and_mirroring_by_xy_only(), Slic3r::trafos_differ_in_rotation_by_z_and_mirroring_by_xy_only(), Slic3r::TriangleMesh::transform(), and Slic3r::GUI::GLGizmoFlatten::update_planes().
|
inline |
shortcut for m_matrix(row,col);
References col(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and row().
Here is the call graph for this function:
|
inline |
shortcut for m_matrix(row,col);
References col(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and row().
Here is the call graph for this function:
|
inline |
The rhs diagonal matrix is interpreted as an affine scaling transformation. The product results in a Transform of the same type (mode) as the lhs only if the lhs mode is no isometry. In that case, the returned transform is an affinity.
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linearExt().
Here is the call graph for this function:
|
inline |
*this and a matrix expression other.The right-hand-side other can be either:
Moreover, if *this represents an affine transformation (i.e., Mode!=Projective), then other can also be:
In all cases, the return type is a matrix or vector of same sizes as the right-hand-side other.
If you want to interpret other as a linear or affine transformation, then first convert it to a Transform<> type, or do your own cooking.
Finally, if you want to apply Affine transformations to vectors, then explicitly apply the linear part only:
References Eigen::EigenBase< Derived >::derived().
Here is the call graph for this function:
|
inline |
|
inline |
References Eigen::RotationBase< Derived, _Dim >::derived(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::rotate().
Here is the call graph for this function:
|
inline |
Concatenates two transformations
|
inline |
Concatenates two different transformations
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translate(), and Eigen::Translation< _Scalar, _Dim >::vector().
Here is the call graph for this function:
|
inline |
References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::scale().
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linearExt().
Here is the call graph for this function:
|
inline |
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::rotate(), and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().
Here is the call graph for this function:
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translate(), and Eigen::Translation< _Scalar, _Dim >::vector().
Here is the call graph for this function:
|
inline |
References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::scale().
Here is the call graph for this function:
|
inline |
Set *this from a Dim^2 or (Dim+1)^2 matrix.
References Eigen::EigenBase< Derived >::derived(), and EIGEN_STATIC_ASSERT.
Here is the call graph for this function:
|
inline |
References Eigen::ReturnByValue< Derived >::evalTo().
Here is the call graph for this function:
|
inline |
|
inline |
|
inline |
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::setIdentity(), and Eigen::Translation< _Scalar, _Dim >::vector().
Here is the call graph for this function:
|
inline |
References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::PlainObjectBase< Derived >::setZero().
Here is the call graph for this function:
|
inline |
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::prerotate | ( | const RotationType & | rotation | ) |
|
inline |
Referenced by Slic3r::mesh_to_grid(), Eigen::UniformScaling< _Scalar >::operator*(), and Slic3r::transform_mesh_vertices_for_slicing().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::prescale | ( | const MatrixBase< OtherDerived > & | other | ) |
Applies on the left the non uniform scale transformation represented by the vector other to *this and returns a reference to *this.
References Eigen::MatrixBase< Derived >::asDiagonal(), EIGEN_STATIC_ASSERT, EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::Isometry.
Here is the call graph for this function:
|
inline |
Applies on the left a uniform scale of a factor c to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT, and Eigen::Isometry.
| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< Scalar, Dim, Mode, Options >::preshear | ( | const Scalar & | sx, |
| const Scalar & | sy | ||
| ) |
Applies on the left the shear transformation represented by the vector other to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT, and Eigen::Isometry.
|
inline |
Referenced by priv::create_emboss_projection(), Eigen::Translation< _Scalar, _Dim >::operator*(), Slic3r::GUI::MeshClipper::recalculate_triangles(), and Slic3r::PrintObject::trafo_centered().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::pretranslate | ( | const MatrixBase< OtherDerived > & | other | ) |
Applies on the left the translation matrix represented by the vector other to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::Projective.
|
inline |
Referenced by igl::Camera::affine(), Slic3r::Measure::MeasuringImpl::extract_features(), igl::Camera::inverse(), Slic3r::GUI::GLGizmoRotate::mouse_position_in_local_plane(), Slic3r::GUI::GLGizmoCut3D::mouse_position_in_local_plane(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*=(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::TriangleMesh::rotate(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::to_transform3f(), and igl::Camera::up().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::rotate | ( | const RotationType & | rotation | ) |
Applies on the right the rotation represented by the rotation rotation to *this and returns a reference to *this.
The template parameter RotationType is the type of the rotation which must be known by internal::toRotationMatrix<>.
Natively supported types includes:
This mechanism is easily extendable to support user types such as Euler angles, or a pair of Quaternion for 4D rotations.
| EIGEN_DEVICE_FUNC const Transform< Scalar, Dim, Mode, Options >::LinearMatrixType Eigen::Transform< Scalar, Dim, Mode, Options >::rotation |
\svd_module
Referenced by Slic3r::GUI::GLGizmoCut3D::dragging_grabber_xy().
Here is the caller graph for this function:
|
inline |
References Eigen::PlainObjectBase< Derived >::cols(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix, and Eigen::Projective.
Here is the call graph for this function:
|
inline |
Referenced by priv::create_projection_for_cut(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*=(), and Slic3r::GUI::CoordAxes::render().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::scale | ( | const MatrixBase< OtherDerived > & | other | ) |
Applies on the right the non uniform scale transformation represented by the vector other to *this and returns a reference to *this.
References Eigen::MatrixBase< Derived >::asDiagonal(), EIGEN_STATIC_ASSERT, EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::Isometry.
Here is the call graph for this function:
|
inline |
Applies on the right a uniform scale of a factor c to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT, and Eigen::Isometry.
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator=().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< Scalar, Dim, Mode, Options >::shear | ( | const Scalar & | sx, |
| const Scalar & | sy | ||
| ) |
Applies on the right the shear transformation represented by the vector other to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT, and Eigen::Isometry.
|
inline |
Referenced by igl::Camera::affine(), Slic3r::Emboss::apply_transformation(), Slic3r::TextConfigurationSerialization::create_fix_and_store(), priv::create_projection_for_cut(), igl::Camera::inverse(), Slic3r::GUI::GLGizmoRotate::mouse_position_in_local_plane(), Slic3r::GUI::GLGizmoCut3D::mouse_position_in_local_plane(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*=(), Slic3r::GUI::Camera::set_distance(), and Slic3r::GUI::Camera::set_target().
Here is the caller graph for this function:| EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode, Options > & Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translate | ( | const MatrixBase< OtherDerived > & | other | ) |
Applies on the right the translation matrix represented by the vector other to *this and returns a reference to *this.
References EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE.
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
|
inline |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::m_matrix.
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Slic3r::TriangleSelectorWrapper::enforce_spot(), Slic3r::GUI::Selection::get_full_scaled_instance_bounding_box(), Slic3r::GUI::Selection::get_full_unscaled_instance_bounding_box(), Slic3r::GUI::Selection::get_full_unscaled_instance_local_bounding_box(), Slic3r::Geometry::Transformation::get_offset(), Slic3r::GUI::Selection::get_scaled_instance_bounding_box(), Slic3r::GUI::Selection::get_unscaled_instance_bounding_box(), Slic3r::GUI::on_mouse_surface_drag(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::UniformScaling< _Scalar >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::GUI::GLGizmoHollow::render_points(), Slic3r::GUI::GLGizmoSlaSupports::render_points(), Slic3r::GUI::Selection::render_sidebar_hints(), Slic3r::GUI::Camera::rotate_local_around_target(), Slic3r::GUI::Camera::rotate_on_sphere(), Eigen::internal::transform_transform_product_impl< Transform< Scalar, Dim, LhsMode, LhsOptions >, Transform< Scalar, Dim, RhsMode, RhsOptions >, false >::run(), Eigen::internal::transform_left_product_impl< Other, AffineCompact, Options, Dim, HDim, Dim, HDim >::run(), Slic3r::Geometry::Transformation::set_mirror(), Slic3r::Geometry::Transformation::set_mirror(), Slic3r::Geometry::Transformation::set_offset(), Slic3r::Geometry::Transformation::set_offset(), Slic3r::Geometry::Transformation::set_rotation(), Slic3r::Geometry::Transformation::set_rotation(), Slic3r::Geometry::Transformation::set_scaling_factor(), Slic3r::Geometry::Transformation::set_scaling_factor(), igl::swept_volume_signed_distance(), Slic3r::GUI::Selection::synchronize_unselected_instances(), Slic3r::trafo_for_bbox(), Slic3r::Geometry::trafos_differ_in_rotation_by_z_and_mirroring_by_xy_only(), Slic3r::trafos_differ_in_rotation_by_z_and_mirroring_by_xy_only(), Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform(), Slic3r::sla::transformed_drainhole_points(), Slic3r::GUI::GLGizmoSlaBase::unproject_on_mesh(), Slic3r::ModelObject::update_min_max_z(), Slic3r::GUI::GLCanvas3D::update_sequential_clearance(), and Slic3r::GLVolume::world_matrix().
Here is the caller graph for this function:
|
inline |
|
inline |
|
friend |
The lhs diagonal matrix is interpreted as an affine scaling transformation. The product results in a Transform of the same type (mode) as the lhs only if the lhs mode is no isometry. In that case, the returned transform is an affinity.
|
friend |
The left hand side other can be either:
|
protected |
Referenced by Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::affine(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::affine(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::cols(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::data(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::data(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::isApprox(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linearExt(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linearExt(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::makeAffine(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator()(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator()(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator=(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::rows(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::setIdentity(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translationExt(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translationExt().
| class Eigen::Translation |
Represents a translation transformation.
\geometry_module
| _Scalar | the scalar type, i.e., the type of the coefficients. |
| _Dim | the dimension of the space, can be a compile time value or Dynamic |
Collaboration diagram for Eigen::Translation< _Scalar, _Dim >:corresponding affine transformation type
corresponding isometric transformation type
corresponding linear transformation matrix type
| typedef _Scalar Eigen::Translation< _Scalar, _Dim >::Scalar |
the scalar type of the coefficients
corresponding vector type
|
inline |
Default constructor without initialization.
Referenced by Eigen::Translation< _Scalar, _Dim >::Identity(), Eigen::Translation< _Scalar, _Dim >::inverse(), and Eigen::Translation< _Scalar, _Dim >::operator*().
Here is the caller graph for this function:
|
inline |
References Eigen::Translation< _Scalar, _Dim >::Dim, eigen_assert, and Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inline |
References Eigen::Translation< _Scalar, _Dim >::Dim, eigen_assert, and Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inlineexplicit |
|
inlineexplicit |
Copy constructor with scalar type conversion
References Eigen::Translation< _Scalar, _Dim >::m_coeffs, and Eigen::Translation< _Scalar, _Dim >::vector().
Here is the call graph for this function:
|
inline |
*this with scalar type casted to NewScalarType Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.
|
inlinestatic |
References Eigen::Translation< _Scalar, _Dim >::Translation().
Here is the call graph for this function:
|
inline |
References Eigen::Translation< _Scalar, _Dim >::Translation(), and Eigen::Translation< _Scalar, _Dim >::m_coeffs.
Here is the call graph for this function:
|
inline |
true if *this is approximately equal to other, within the precision determined by prec.References Eigen::Translation< _Scalar, _Dim >::m_coeffs, and Eigen::Translation< _Scalar, _Dim >::vector().
Here is the call graph for this function:
|
inline |
Concatenates a translation and a linear transformation
References Eigen::EigenBase< Derived >::derived(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::PlainObjectBase< Derived >::setZero(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation().
Here is the call graph for this function:
|
inline |
|
inline |
Concatenates a translation and a rotation
|
inline |
Concatenates a translation and a transformation
References Eigen::Translation< _Scalar, _Dim >::m_coeffs, and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::pretranslate().
Here is the call graph for this function:
|
inline |
Concatenates two translation
References Eigen::Translation< _Scalar, _Dim >::Translation(), and Eigen::Translation< _Scalar, _Dim >::m_coeffs.
Here is the call graph for this function:
|
inline |
Concatenates a translation and a uniform scaling
References Eigen::UniformScaling< _Scalar >::factor(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::PlainObjectBase< Derived >::setZero(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation().
Here is the call graph for this function:
|
inline |
References Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inline |
References Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inline |
References Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inline |
References Eigen::Translation< _Scalar, _Dim >::m_coeffs.
|
inline |
References Eigen::Translation< _Scalar, _Dim >::m_coeffs.
Referenced by Eigen::Translation< _Scalar, _Dim >::Translation(), Eigen::Translation< _Scalar, _Dim >::isApprox(), Eigen::UniformScaling< _Scalar >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*=(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator=().
Here is the caller graph for this function:
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
protected |
Referenced by Eigen::Translation< _Scalar, _Dim >::Translation(), Eigen::Translation< _Scalar, _Dim >::Translation(), Eigen::Translation< _Scalar, _Dim >::Translation(), Eigen::Translation< _Scalar, _Dim >::inverse(), Eigen::Translation< _Scalar, _Dim >::isApprox(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator=(), Eigen::Translation< _Scalar, _Dim >::translation(), Eigen::Translation< _Scalar, _Dim >::translation(), Eigen::Translation< _Scalar, _Dim >::vector(), Eigen::Translation< _Scalar, _Dim >::vector(), Eigen::Translation< _Scalar, _Dim >::x(), Eigen::Translation< _Scalar, _Dim >::x(), Eigen::Translation< _Scalar, _Dim >::y(), Eigen::Translation< _Scalar, _Dim >::y(), Eigen::Translation< _Scalar, _Dim >::z(), and Eigen::Translation< _Scalar, _Dim >::z().
| typedef Transform<double,2,Affine> Eigen::Affine2d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,2,Affine> Eigen::Affine2f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,3,Affine> Eigen::Affine3d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,3,Affine> Eigen::Affine3f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,2,AffineCompact> Eigen::AffineCompact2d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,2,AffineCompact> Eigen::AffineCompact2f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,3,AffineCompact> Eigen::AffineCompact3d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,3,AffineCompact> Eigen::AffineCompact3f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef AngleAxis<double> Eigen::AngleAxisd |
#include <src/eigen/Eigen/src/Geometry/AngleAxis.h>
double precision angle-axis type
| typedef AngleAxis<float> Eigen::AngleAxisf |
#include <src/eigen/Eigen/src/Geometry/AngleAxis.h>
single precision angle-axis type
| typedef Transform<double,2,Isometry> Eigen::Isometry2d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,2,Isometry> Eigen::Isometry2f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,3,Isometry> Eigen::Isometry3d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,3,Isometry> Eigen::Isometry3f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,2,Projective> Eigen::Projective2d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,2,Projective> Eigen::Projective2f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<double,3,Projective> Eigen::Projective3d |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Transform<float,3,Projective> Eigen::Projective3f |
#include <src/eigen/Eigen/src/Geometry/Transform.h>
| typedef Quaternion<double> Eigen::Quaterniond |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
double precision quaternion type
| typedef Quaternion<float> Eigen::Quaternionf |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
single precision quaternion type
| typedef Map<Quaternion<double>, Aligned> Eigen::QuaternionMapAlignedd |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
Map a 16-byte aligned array of double precision scalars as a quaternion
| typedef Map<Quaternion<float>, Aligned> Eigen::QuaternionMapAlignedf |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
Map a 16-byte aligned array of single precision scalars as a quaternion
| typedef Map<Quaternion<double>, 0> Eigen::QuaternionMapd |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
Map an unaligned array of double precision scalars as a quaternion
| typedef Map<Quaternion<float>, 0> Eigen::QuaternionMapf |
#include <src/eigen/Eigen/src/Geometry/Quaternion.h>
Map an unaligned array of single precision scalars as a quaternion
| typedef Rotation2D<double> Eigen::Rotation2Dd |
#include <src/eigen/Eigen/src/Geometry/Rotation2D.h>
double precision 2D rotation type
| typedef Rotation2D<float> Eigen::Rotation2Df |
#include <src/eigen/Eigen/src/Geometry/Rotation2D.h>
single precision 2D rotation type
| EIGEN_DEVICE_FUNC const VectorwiseOp< ExpressionType, Direction >::CrossReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const |
#include <src/eigen/Eigen/src/Core/VectorwiseOp.h>
\geometry_module
The referenced matrix must have one dimension equal to 3. The result matrix has the same dimensions than the referenced one.
References conjugate(), eigen_assert, EIGEN_STATIC_ASSERT, EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::Vertical.
Here is the call graph for this function:
|
inline |
#include <src/eigen/Eigen/src/Geometry/OrthoMethods.h>
\geometry_module
*this and other Here is a very good explanation of cross-product: http://xkcd.com/199/
With complex numbers, the cross product is implemented as
References EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE.
|
inline |
#include <src/eigen/Eigen/src/Core/MatrixBase.h>
\geometry_module
*this and other using only the x, y, and z coefficientsThe size of *this and other must be four. This function is especially useful when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
References EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, and Eigen::Architecture::Target.
|
inline |
#include <src/eigen/Eigen/src/Core/MatrixBase.h>
\geometry_module
*this using the convention defined by the triplet (a0,a1,a2)Each of the three parameters a0,a1,a2 represents the respective rotation axis as an integer in {0,1,2}. For instance, in:
"2" represents the z axis and "0" the x axis, etc. The returned angles are such that we have the following equality:
This corresponds to the right-multiply conventions (with right hand side frames).
The returned angles are in the ranges [0:pi]x[-pi:pi]x[-pi:pi].
References cos(), EIGEN_PI, EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE, and sin().
Here is the call graph for this function:
|
inline |
#include <src/eigen/Eigen/src/Core/MatrixBase.h>
homogeneous normalization
\geometry_module
*this divided by that last coefficient.This can be used to convert homogeneous coordinates to affine coordinates.
It is essentially a shortcut for:
Example:
Output:
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
|
inline |
#include <src/eigen/Eigen/src/Core/VectorwiseOp.h>
column or row-wise homogeneous normalization
\geometry_module
*this divided by the last coefficient of each column (or row).This can be used to convert homogeneous coordinates to affine coordinates.
It is conceptually equivalent to calling MatrixBase::hnormalized() to each column (or row) of *this.
Example:
Output:
References cwiseQuotient(), Eigen::Horizontal, and Eigen::Vertical.
Here is the call graph for this function:
|
inline |
#include <src/eigen/Eigen/src/Core/MatrixBase.h>
\geometry_module
This can be used to convert affine coordinates to homogeneous coordinates.
\only_for_vectors
Example:
Output:
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
|
inline |
#include <src/eigen/Eigen/src/Core/VectorwiseOp.h>
\geometry_module
This can be used to convert affine coordinates to homogeneous coordinates.
Example:
Output:
| internal::umeyama_transform_matrix_type< Derived, OtherDerived >::type Eigen::umeyama | ( | const MatrixBase< Derived > & | src, |
| const MatrixBase< OtherDerived > & | dst, | ||
| bool | with_scaling = true |
||
| ) |
#include <src/eigen/Eigen/src/Geometry/Umeyama.h>
Returns the transformation between two point sets.
\geometry_module
The algorithm is based on: "Least-squares estimation of transformation parameters between two point patterns", Shinji Umeyama, PAMI 1991, DOI: 10.1109/34.88573
It estimates parameters
is minimized.
The algorithm is based on the analysis of the covariance matrix
Currently the method is working only for floating point matrices.
| src | Source points |
| dst | Destination points |
| with_scaling | Sets false is passed. |
References Eigen::DenseBase< Derived >::colwise(), Eigen::ComputeFullU, Eigen::ComputeFullV, EIGEN_SIZE_MIN_PREFER_DYNAMIC, EIGEN_STATIC_ASSERT, Eigen::SVDBase< Derived >::matrixU(), Eigen::SVDBase< Derived >::matrixV(), Eigen::DenseBase< Derived >::rowwise(), Eigen::SVDBase< Derived >::singularValues(), and Eigen::VectorwiseOp< ExpressionType, Direction >::sum().
Here is the call graph for this function:
|
inline |
#include <src/eigen/Eigen/src/Core/MatrixBase.h>
\geometry_module
*this The size of *this must be at least 2. If the size is exactly 2, then the returned vector is a counter clock wise rotation of *this, i.e., (-y,x).normalized().
References EIGEN_STATIC_ASSERT_VECTOR_ONLY, and Eigen::internal::unitOrthogonal_selector< Derived, Size >::run().
Here is the call graph for this function: