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 46 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,int(AmbientDimAtCompileTime)==Dynamic ? Dynamic : int(AmbientDimAtCompileTime)+1,1> Hyperplane< _Scalar, _AmbientDim >::Coefficients |
Definition at line 56 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,Index(AmbientDimAtCompileTime)==Dynamic ? Dynamic : Index(AmbientDimAtCompileTime)+1,1,Options> Hyperplane< _Scalar, _AmbientDim >::Coefficients |
Definition at line 61 of file Geometry/Hyperplane.h.
typedef const Block<const Coefficients,AmbientDimAtCompileTime,1> Hyperplane< _Scalar, _AmbientDim >::ConstNormalReturnType |
Definition at line 63 of file Geometry/Hyperplane.h.
typedef DenseIndex Hyperplane< _Scalar, _AmbientDim >::Index |
Definition at line 57 of file Geometry/Hyperplane.h.
typedef Block<Coefficients,AmbientDimAtCompileTime,1> Hyperplane< _Scalar, _AmbientDim >::NormalReturnType |
Definition at line 57 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Block<Coefficients,AmbientDimAtCompileTime,1> Hyperplane< _Scalar, _AmbientDim >::NormalReturnType |
Definition at line 62 of file Geometry/Hyperplane.h.
typedef NumTraits<Scalar>::Real Hyperplane< _Scalar, _AmbientDim >::RealScalar |
Definition at line 52 of file Eigen2Support/Geometry/Hyperplane.h.
typedef NumTraits<Scalar>::Real Hyperplane< _Scalar, _AmbientDim >::RealScalar |
Definition at line 56 of file Geometry/Hyperplane.h.
typedef _Scalar Hyperplane< _Scalar, _AmbientDim >::Scalar |
Definition at line 51 of file Eigen2Support/Geometry/Hyperplane.h.
typedef _Scalar Hyperplane< _Scalar, _AmbientDim >::Scalar |
Definition at line 55 of file Geometry/Hyperplane.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Hyperplane< _Scalar, _AmbientDim >::VectorType |
Definition at line 53 of file Eigen2Support/Geometry/Hyperplane.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Hyperplane< _Scalar, _AmbientDim >::VectorType |
Definition at line 58 of file Geometry/Hyperplane.h.
anonymous enum |
Definition at line 50 of file Eigen2Support/Geometry/Hyperplane.h.
anonymous enum |
Definition at line 51 of file Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | ) | [inline, explicit] |
Default constructor without initialization
Definition at line 60 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | int | _dim | ) | [inline, explicit] |
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
Definition at line 64 of file Eigen2Support/Geometry/Hyperplane.h.
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 69 of file Eigen2Support/Geometry/Hyperplane.h.
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 80 of file Eigen2Support/Geometry/Hyperplane.h.
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 115 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::~Hyperplane | ( | ) | [inline] |
Definition at line 121 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< OtherScalarType, AmbientDimAtCompileTime > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 252 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | ) | [inline, explicit] |
Default constructor without initialization
Definition at line 66 of file Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > & | other | ) | [inline] |
Definition at line 69 of file Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | Index | _dim | ) | [inline, explicit] |
Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space
Definition at line 75 of file Geometry/Hyperplane.h.
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 80 of file Geometry/Hyperplane.h.
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 91 of file Geometry/Hyperplane.h.
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 126 of file Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::~Hyperplane | ( | ) | [inline] |
Definition at line 132 of file Geometry/Hyperplane.h.
Hyperplane< _Scalar, _AmbientDim >::Hyperplane | ( | const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 264 of file Geometry/Hyperplane.h.
Scalar Hyperplane< _Scalar, _AmbientDim >::absDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 140 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar Hyperplane< _Scalar, _AmbientDim >::absDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 151 of file Geometry/Hyperplane.h.
internal::cast_return_type<Hyperplane, Hyperplane<NewScalarType,AmbientDimAtCompileTime> >::type 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 244 of file Eigen2Support/Geometry/Hyperplane.h.
internal::cast_return_type<Hyperplane, Hyperplane<NewScalarType,AmbientDimAtCompileTime,Options> >::type 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 256 of file Geometry/Hyperplane.h.
const Coefficients& Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | const [inline] |
Definition at line 168 of file Eigen2Support/Geometry/Hyperplane.h.
Coefficients& Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | [inline] |
Definition at line 173 of file Eigen2Support/Geometry/Hyperplane.h.
const Coefficients& Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | const [inline] |
Definition at line 179 of file Geometry/Hyperplane.h.
Coefficients& Hyperplane< _Scalar, _AmbientDim >::coeffs | ( | ) | [inline] |
Definition at line 184 of file Geometry/Hyperplane.h.
int Hyperplane< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 124 of file Eigen2Support/Geometry/Hyperplane.h.
Index Hyperplane< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 135 of file Geometry/Hyperplane.h.
VectorType Hyperplane< _Scalar, _AmbientDim >::intersection | ( | const Hyperplane< _Scalar, _AmbientDim > & | other | ) | [inline] |
*this
and other are lines.Definition at line 181 of file Eigen2Support/Geometry/Hyperplane.h.
VectorType Hyperplane< _Scalar, _AmbientDim >::intersection | ( | const Hyperplane< _Scalar, _AmbientDim > & | other | ) | const [inline] |
*this
and other are lines.Definition at line 192 of file Geometry/Hyperplane.h.
bool 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 259 of file Eigen2Support/Geometry/Hyperplane.h.
bool 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 272 of file Geometry/Hyperplane.h.
const NormalReturnType Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | const [inline] |
Definition at line 149 of file Eigen2Support/Geometry/Hyperplane.h.
NormalReturnType Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | [inline] |
Definition at line 154 of file Eigen2Support/Geometry/Hyperplane.h.
ConstNormalReturnType Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | const [inline] |
Definition at line 160 of file Geometry/Hyperplane.h.
NormalReturnType Hyperplane< _Scalar, _AmbientDim >::normal | ( | ) | [inline] |
Definition at line 165 of file Geometry/Hyperplane.h.
void Hyperplane< _Scalar, _AmbientDim >::normalize | ( | void | ) | [inline] |
normalizes *this
Definition at line 127 of file Eigen2Support/Geometry/Hyperplane.h.
void Hyperplane< _Scalar, _AmbientDim >::normalize | ( | void | ) | [inline] |
normalizes *this
Definition at line 138 of file Geometry/Hyperplane.h.
const Scalar& Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | const [inline] |
Definition at line 159 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar& Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | [inline] |
Definition at line 163 of file Eigen2Support/Geometry/Hyperplane.h.
const Scalar& Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | const [inline] |
Definition at line 170 of file Geometry/Hyperplane.h.
Scalar& Hyperplane< _Scalar, _AmbientDim >::offset | ( | ) | [inline] |
Definition at line 174 of file Geometry/Hyperplane.h.
VectorType Hyperplane< _Scalar, _AmbientDim >::projection | ( | const VectorType & | p | ) | const [inline] |
*this
. Definition at line 144 of file Eigen2Support/Geometry/Hyperplane.h.
VectorType Hyperplane< _Scalar, _AmbientDim >::projection | ( | const VectorType & | p | ) | const [inline] |
*this
. Definition at line 155 of file Geometry/Hyperplane.h.
Scalar Hyperplane< _Scalar, _AmbientDim >::signedDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 135 of file Eigen2Support/Geometry/Hyperplane.h.
Scalar Hyperplane< _Scalar, _AmbientDim >::signedDistance | ( | const VectorType & | p | ) | const [inline] |
*this
and a point p. Definition at line 146 of file Geometry/Hyperplane.h.
static Hyperplane 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 90 of file Eigen2Support/Geometry/Hyperplane.h.
static Hyperplane 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 101 of file Eigen2Support/Geometry/Hyperplane.h.
static Hyperplane 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 101 of file Geometry/Hyperplane.h.
static Hyperplane 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 112 of file Geometry/Hyperplane.h.
Hyperplane& 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 209 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane& 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 220 of file Geometry/Hyperplane.h.
Hyperplane& 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 229 of file Eigen2Support/Geometry/Hyperplane.h.
Hyperplane& 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 241 of file Geometry/Hyperplane.h.
Coefficients Hyperplane< _Scalar, _AmbientDim >::m_coeffs [protected] |
Definition at line 264 of file Eigen2Support/Geometry/Hyperplane.h.