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: