template<typename _Scalar, int _AmbientDim, int _Options>
class Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >
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.
- 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
where
is a unit normal vector of the plane (linear part) and
is the distance (offset) to the origin.
Definition at line 48 of file Geometry.
Public Types |
| enum | { AmbientDimAtCompileTime = _AmbientDim,
Options = _Options
} |
| typedef _Scalar | Scalar |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef DenseIndex | 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 |
| | Hyperplane () |
| | Default constructor without initialization.
|
| template<int OtherOptions> |
| | Hyperplane (const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > &other) |
| | Hyperplane (Index _dim) |
| | Constructs a dynamic-size hyperplane with _dim the dimension of the ambient space.
|
| | Hyperplane (const VectorType &n, const VectorType &e) |
| | Construct a plane from its normal n and a point e onto the plane.
|
| | Hyperplane (const VectorType &n, Scalar d) |
| | Constructs a plane from its normal n and distance to the origin d such that the algebraic equation of the plane is .
|
| | Hyperplane (const ParametrizedLine< Scalar, AmbientDimAtCompileTime > ¶metrized) |
| | Constructs a hyperplane passing through the parametrized line parametrized.
|
| | ~Hyperplane () |
| Index | dim () const |
| void | normalize (void) |
| | normalizes *this
|
| Scalar | signedDistance (const VectorType &p) const |
| Scalar | absDistance (const VectorType &p) const |
| VectorType | projection (const VectorType &p) const |
| ConstNormalReturnType | normal () const |
| NormalReturnType | normal () |
| const Scalar & | offset () const |
| Scalar & | offset () |
| const Coefficients & | coeffs () const |
| Coefficients & | coeffs () |
| VectorType | intersection (const Hyperplane &other) const |
| template<typename XprType > |
| Hyperplane & | transform (const MatrixBase< XprType > &mat, TransformTraits traits=Affine) |
| | Applies the transformation matrix mat to *this and returns a reference to *this.
|
| template<int TrOptions> |
| Hyperplane & | transform (const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > &t, TransformTraits traits=Affine) |
| | Applies the transformation t to *this and returns a reference to *this.
|
| template<typename NewScalarType > |
internal::cast_return_type
< Hyperplane, Hyperplane
< NewScalarType,
AmbientDimAtCompileTime,
Options > >::type | cast () const |
| template<typename OtherScalarType , int OtherOptions> |
| | Hyperplane (const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other) |
| | Copy constructor with scalar type conversion.
|
| template<int OtherOptions> |
| bool | isApprox (const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > &other, typename NumTraits< Scalar >::Real prec=NumTraits< Scalar >::dummy_precision()) const |
Static Public Member Functions |
| static Hyperplane | Through (const VectorType &p0, const VectorType &p1) |
| | Constructs a hyperplane passing through the two points.
|
| static Hyperplane | Through (const VectorType &p0, const VectorType &p1, const VectorType &p2) |
| | Constructs a hyperplane passing through the three points.
|
Protected Attributes |
| Coefficients | m_coeffs |
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.
Definition at line 127 of file Geometry.
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.
Definition at line 102 of file Geometry.