Spec-Zone.ru › Eigen3
Eigen::Hyperplane
template<typename _Scalar, int _AmbientDim, int _Options> class Eigen::Hyperplane< _Scalar, _AmbientDim, _Options > A hyperplane.
This is defined in the Geometry module.
#include <Eigen/Geometry>
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.
Template Parameters
_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 \( n \cdot x + d = 0 \) where \( n \) is a unit normal vector of the plane (linear part) and \( d \) is the distance (offset) to the origin.
Scalar
absDistance (const VectorType &p) const
template<typename NewScalarType >
internal::cast_return_type< Hyperplane , Hyperplane < NewScalarType, AmbientDimAtCompileTime, Options > >::type
cast () const
Coefficients &
coeffs ()
const Coefficients &
coeffs () const
Index
dim () const
Hyperplane ()
template<typename OtherScalarType , int OtherOptions>
Hyperplane (const Hyperplane < OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other)
Hyperplane (const ParametrizedLine < Scalar, AmbientDimAtCompileTime > ¶metrized)
Hyperplane (const VectorType &n, const Scalar &d)
Hyperplane (const VectorType &n, const VectorType &e)
Hyperplane (Index _dim)
VectorType
intersection (const Hyperplane &other) const
template<int OtherOptions>
bool
isApprox (const Hyperplane < Scalar, AmbientDimAtCompileTime, OtherOptions > &other, const typename NumTraits < Scalar >::Real &prec=NumTraits < Scalar >::dummy_precision()) const
NormalReturnType
normal ()
ConstNormalReturnType
normal () const
void
normalize (void)
Scalar &
offset ()
const Scalar &
offset () const
VectorType
projection (const VectorType &p) const
Scalar
signedDistance (const VectorType &p) const
template<typename XprType >
Hyperplane &
transform (const MatrixBase < XprType > &mat, TransformTraits traits=Affine )
template<int TrOptions>
Hyperplane &
transform (const Transform < Scalar, AmbientDimAtCompileTime, Affine , TrOptions > &t, TransformTraits traits=Affine )
Index template<typename _Scalar , int _AmbientDim, int _Options>
Hyperplane() [1/6]
template<typename _Scalar , int _AmbientDim, int _Options>
Default constructor without initialization
Hyperplane() [2/6]
template<typename _Scalar , int _AmbientDim, int _Options>
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
Hyperplane() [3/6]
template<typename _Scalar , int _AmbientDim, int _Options>
Construct a plane from its normal n and a point e onto the plane.
Warning
the vector normal is assumed to be normalized.
Hyperplane() [4/6]
template<typename _Scalar , int _AmbientDim, int _Options>
Constructs a plane from its normal n and distance to the origin d such that the algebraic equation of the plane is \( n \cdot x + d = 0 \).
Warning
the vector normal is assumed to be normalized.
Hyperplane() [5/6]
template<typename _Scalar , int _AmbientDim, int _Options>
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.
Hyperplane() [6/6]
template<typename _Scalar , int _AmbientDim, int _Options>
template<typename OtherScalarType , int OtherOptions>
Copy constructor with scalar type conversion
absDistance() template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the absolute distance between the plane *this and a point p .
See also
signedDistance()
cast() template<typename _Scalar , int _AmbientDim, int _Options>
template<typename NewScalarType >
Returns
*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.
coeffs() [1/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
a non-constant reference to the coefficients c_i of the plane equation: \( c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \)
coeffs() [2/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
a constant reference to the coefficients c_i of the plane equation: \( c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \)
dim() template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the dimension in which the plane holds
intersection() template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the intersection of *this with other .
Warning
The ambient space must be a plane, i.e. have dimension 2, so that *this and other are lines.
Note
If other is approximately parallel to *this, this method will return any point on *this.
isApprox() template<typename _Scalar , int _AmbientDim, int _Options>
template<int OtherOptions>
bool Eigen::Hyperplane < _Scalar, _AmbientDim, _Options >::isApprox ( const Hyperplane < Scalar, AmbientDimAtCompileTime, OtherOptions > &
other , const typename NumTraits < Scalar >::Real &
prec = NumTraits <Scalar>::dummy_precision() )
const
inline
Returns
true if *this is approximately equal to other , within the precision determined by prec .
See also
MatrixBase::isApprox()
normal() [1/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
a non-constant reference to the unit normal vector of the plane, which corresponds to the linear part of the implicit equation.
normal() [2/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
a constant reference to the unit normal vector of the plane, which corresponds to the linear part of the implicit equation.
normalize() template<typename _Scalar , int _AmbientDim, int _Options>
offset() [1/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
a non-constant reference to the distance to the origin, which is also the constant part of the implicit equation
offset() [2/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the distance to the origin, which is also the "constant term" of the implicit equation
Warning
the vector normal is assumed to be normalized.
projection() template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the projection of a point p onto the plane *this.
signedDistance() template<typename _Scalar , int _AmbientDim, int _Options>
Returns
the signed distance between the plane *this and a point p .
See also
absDistance()
Through() [1/2]
template<typename _Scalar , int _AmbientDim, int _Options>
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.
Through() [2/2]
template<typename _Scalar , int _AmbientDim, int _Options>
Constructs a hyperplane passing through the three points. The dimension of the ambient space is required to be exactly 3.
transform() [1/2]
template<typename _Scalar , int _AmbientDim, int _Options>
template<typename XprType >
Applies the transformation matrix mat to *this and returns a reference to *this.
Parameters
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 .
transform() [2/2]
template<typename _Scalar , int _AmbientDim, int _Options>
template<int TrOptions>
Applies the transformation t to *this and returns a reference to *this.
Parameters
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.
The documentation for this class was generated from the following file: