A hyperplane. More...
#include <Hyperplane.h>
A hyperplane.
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 where is a unit normal vector of the plane (linear part) and is the distance (offset) to the origin.
Definition at line 33 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,int(AmbientDimAtCompileTime)==Dynamic ? Dynamic : int(AmbientDimAtCompileTime)+1,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::Coefficients |
Definition at line 43 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,Index(AmbientDimAtCompileTime)==Dynamic ? Dynamic : Index(AmbientDimAtCompileTime)+1,1,Options> Eigen::Hyperplane< _Scalar, _AmbientDim >::Coefficients |
Definition at line 48 of file Geometry/Hyperplane.h.
typedef const Block<const Coefficients,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::ConstNormalReturnType |
Definition at line 50 of file Geometry/Hyperplane.h.
typedef DenseIndex Eigen::Hyperplane< _Scalar, _AmbientDim >::Index |
Definition at line 44 of file Geometry/Hyperplane.h.
typedef Block<Coefficients,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::NormalReturnType |
Definition at line 44 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Block<Coefficients,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::NormalReturnType |
Definition at line 49 of file Geometry/Hyperplane.h.
typedef NumTraits<Scalar>::Real Eigen::Hyperplane< _Scalar, _AmbientDim >::RealScalar |
Definition at line 39 of file Eigen2Support/Geometry/Hyperplane.h.
typedef NumTraits<Scalar>::Real Eigen::Hyperplane< _Scalar, _AmbientDim >::RealScalar |
Definition at line 43 of file Geometry/Hyperplane.h.
typedef _Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::Scalar |
Definition at line 38 of file Eigen2Support/Geometry/Hyperplane.h.
typedef _Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::Scalar |
Definition at line 42 of file Geometry/Hyperplane.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::VectorType |
Definition at line 40 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::Hyperplane< _Scalar, _AmbientDim >::VectorType |
Definition at line 45 of file Geometry/Hyperplane.h.
anonymous enum |
Definition at line 37 of file Eigen2Support/Geometry/Hyperplane.h.
anonymous enum |
Definition at line 38 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | ) | [inline, explicit] |
Default constructor without initialization
Definition at line 47 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | int | _dim | ) | [inline, explicit] |
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
Definition at line 51 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const VectorType & | n, |
const VectorType & | e | ||
) | [inline] |
Construct a plane from its normal n and a point e onto the plane.
Definition at line 56 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const VectorType & | n, |
Scalar | d | ||
) | [inline] |
Constructs a plane from its normal n and distance to the origin d such that the algebraic equation of the plane is .
Definition at line 67 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const ParametrizedLine< Scalar, AmbientDimAtCompileTime > & | parametrized | ) | [inline, explicit] |
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.
Definition at line 102 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::~Hyperplane | ( | ) | [inline] |
Definition at line 108 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< OtherScalarType, AmbientDimAtCompileTime > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 239 of file Eigen2Support/Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | ) | [inline, explicit] |
Default constructor without initialization
Definition at line 53 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > & | other | ) | [inline] |
Definition at line 56 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | Index | _dim | ) | [inline, explicit] |
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
Definition at line 62 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const VectorType & | n, |
const VectorType & | e | ||
) | [inline] |
Construct a plane from its normal n and a point e onto the plane.
Definition at line 67 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const VectorType & | n, |
Scalar | d | ||
) | [inline] |
Constructs a plane from its normal n and distance to the origin d such that the algebraic equation of the plane is .
Definition at line 78 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const ParametrizedLine< Scalar, AmbientDimAtCompileTime > & | parametrized | ) | [inline, explicit] |
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.
Definition at line 113 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::~Hyperplane | ( | ) | [inline] |
Definition at line 119 of file Geometry/Hyperplane.h.
Eigen::Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 251 of file Geometry/Hyperplane.h.
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::absDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 127 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::absDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 138 of file Geometry/Hyperplane.h.
internal::cast_return_type<Hyperplane, Hyperplane<NewScalarType,AmbientDimAtCompileTime> >::type Eigen::Hyperplane< _Scalar, _AmbientDim >::cast | ( | ) | const [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
.
Definition at line 231 of file Eigen2Support/Geometry/Hyperplane.h.
internal::cast_return_type<Hyperplane, Hyperplane<NewScalarType,AmbientDimAtCompileTime,Options> >::type Eigen::Hyperplane< _Scalar, _AmbientDim >::cast | ( | ) | const [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
.
Definition at line 243 of file Geometry/Hyperplane.h.
const Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | const [inline] |
Definition at line 155 of file Eigen2Support/Geometry/Hyperplane.h.
Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | [inline] |
Definition at line 160 of file Eigen2Support/Geometry/Hyperplane.h.
const Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | const [inline] |
Definition at line 166 of file Geometry/Hyperplane.h.
Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | [inline] |
Definition at line 171 of file Geometry/Hyperplane.h.
int Eigen::Hyperplane< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 111 of file Eigen2Support/Geometry/Hyperplane.h.
Index Eigen::Hyperplane< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 122 of file Geometry/Hyperplane.h.
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim >::intersection | ( | const Hyperplane< _Scalar, _AmbientDim > & | other | ) | [inline] |
*this
and other are lines.Definition at line 168 of file Eigen2Support/Geometry/Hyperplane.h.
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim >::intersection | ( | const Hyperplane< _Scalar, _AmbientDim > & | other | ) | const [inline] |
*this
and other are lines.Definition at line 179 of file Geometry/Hyperplane.h.
bool Eigen::Hyperplane< _Scalar, _AmbientDim >::isApprox | ( | const Hyperplane< _Scalar, _AmbientDim > & | other, |
typename NumTraits< Scalar >::Real | prec = precision<Scalar>() |
||
) | const [inline] |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 246 of file Eigen2Support/Geometry/Hyperplane.h.
bool Eigen::Hyperplane< _Scalar, _AmbientDim >::isApprox | ( | const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > & | other, |
typename NumTraits< Scalar >::Real | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 259 of file Geometry/Hyperplane.h.
const NormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | const [inline] |
Definition at line 136 of file Eigen2Support/Geometry/Hyperplane.h.
NormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | [inline] |
Definition at line 141 of file Eigen2Support/Geometry/Hyperplane.h.
ConstNormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | const [inline] |
Definition at line 147 of file Geometry/Hyperplane.h.
NormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | [inline] |
Definition at line 152 of file Geometry/Hyperplane.h.
void Eigen::Hyperplane< _Scalar, _AmbientDim >::normalize | ( | void | ) | [inline] |
normalizes *this
Definition at line 114 of file Eigen2Support/Geometry/Hyperplane.h.
void Eigen::Hyperplane< _Scalar, _AmbientDim >::normalize | ( | void | ) | [inline] |
normalizes *this
Definition at line 125 of file Geometry/Hyperplane.h.
const Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | const [inline] |
Definition at line 146 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | [inline] |
Definition at line 150 of file Eigen2Support/Geometry/Hyperplane.h.
const Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | const [inline] |
Definition at line 157 of file Geometry/Hyperplane.h.
Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | [inline] |
Definition at line 161 of file Geometry/Hyperplane.h.
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim >::projection | ( | const VectorType & | p | ) | const [inline] |
*this
. Definition at line 131 of file Eigen2Support/Geometry/Hyperplane.h.
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim >::projection | ( | const VectorType & | p | ) | const [inline] |
*this
. Definition at line 142 of file Geometry/Hyperplane.h.
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::signedDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 122 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim >::signedDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 133 of file Geometry/Hyperplane.h.
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim >::Through | ( | const VectorType & | p0, |
const VectorType & | p1 | ||
) | [inline, static] |
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.
Definition at line 77 of file Eigen2Support/Geometry/Hyperplane.h.
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim >::Through | ( | const VectorType & | p0, |
const VectorType & | p1, | ||
const VectorType & | p2 | ||
) | [inline, static] |
Constructs a hyperplane passing through the three points. The dimension of the ambient space is required to be exactly 3.
Definition at line 88 of file Eigen2Support/Geometry/Hyperplane.h.
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim >::Through | ( | const VectorType & | p0, |
const VectorType & | p1 | ||
) | [inline, static] |
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.
Definition at line 88 of file Geometry/Hyperplane.h.
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim >::Through | ( | const VectorType & | p0, |
const VectorType & | p1, | ||
const VectorType & | p2 | ||
) | [inline, static] |
Constructs a hyperplane passing through the three points. The dimension of the ambient space is required to be exactly 3.
Definition at line 99 of file Geometry/Hyperplane.h.
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim >::transform | ( | const MatrixBase< XprType > & | mat, |
TransformTraits | traits = Affine |
||
) | [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. |
Definition at line 196 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim >::transform | ( | const MatrixBase< XprType > & | mat, |
TransformTraits | traits = Affine |
||
) | [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. |
Definition at line 207 of file Geometry/Hyperplane.h.
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim >::transform | ( | const Transform< Scalar, AmbientDimAtCompileTime > & | t, |
TransformTraits | traits = Affine |
||
) | [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. |
Definition at line 216 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim >::transform | ( | const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > & | t, |
TransformTraits | traits = Affine |
||
) | [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. |
Definition at line 228 of file Geometry/Hyperplane.h.
Coefficients Eigen::Hyperplane< _Scalar, _AmbientDim >::m_coeffs [protected] |
Definition at line 251 of file Eigen2Support/Geometry/Hyperplane.h.