An axis aligned box.
This is defined in the Geometry module.
#include <Eigen/Geometry>
_Scalar | the type of the scalar coefficients |
_AmbientDim | the dimension of the ambient space, can be a compile time value or Dynamic. |
This class represents an axis aligned box as a pair of the minimal and maximal corners.
enum |
CornerType { Min , Max , BottomLeft , BottomRight , TopLeft , TopRight , BottomLeftFloor , BottomRightFloor , TopLeftFloor , TopRightFloor , BottomLeftCeil , BottomRightCeil , TopLeftCeil , TopRightCeil } |
typedef Eigen::Index | Index |
AlignedBox () | |
template<typename OtherScalarType > | |
AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) | |
template<typename Derived > | |
AlignedBox (const MatrixBase< Derived > &p) | |
template<typename OtherVectorType1 , typename OtherVectorType2 > | |
AlignedBox (const OtherVectorType1 &_min, const OtherVectorType2 &_max) | |
AlignedBox (Index _dim) | |
template<typename NewScalarType > | |
internal::cast_return_type< AlignedBox, AlignedBox< NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
AlignedBox & | clamp (const AlignedBox &b) |
bool | contains (const AlignedBox &b) const |
template<typename Derived > | |
bool | contains (const MatrixBase< Derived > &p) const |
VectorType | corner (CornerType corner) const |
CwiseBinaryOp< internal::scalar_difference_op< Scalar, Scalar >, const VectorType, const VectorType > | diagonal () const |
Index | dim () const |
const | EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE (VectorTypeSum, RealScalar, quotient) center() const |
AlignedBox & | extend (const AlignedBox &b) |
template<typename Derived > | |
AlignedBox & | extend (const MatrixBase< Derived > &p) |
NonInteger | exteriorDistance (const AlignedBox &b) const |
template<typename Derived > | |
NonInteger | exteriorDistance (const MatrixBase< Derived > &p) const |
AlignedBox | intersection (const AlignedBox &b) const |
bool | intersects (const AlignedBox &b) const |
bool | isApprox (const AlignedBox &other, const RealScalar &prec=ScalarTraits::dummy_precision()) const |
bool | isEmpty () const |
bool | isNull () const |
VectorType &() | max () |
const VectorType &() | max () const |
AlignedBox | merged (const AlignedBox &b) const |
VectorType &() | min () |
const VectorType &() | min () const |
VectorType | sample () const |
void | setEmpty () |
void | setNull () |
const CwiseBinaryOp< internal::scalar_difference_op< Scalar, Scalar >, const VectorType, const VectorType > | sizes () const |
Scalar | squaredExteriorDistance (const AlignedBox &b) const |
template<typename Derived > | |
Scalar | squaredExteriorDistance (const MatrixBase< Derived > &p) const |
template<int Mode, int Options> | |
void | transform (const Transform< Scalar, AmbientDimAtCompileTime, Mode, Options > &transform) |
template<int Mode, int Options> | |
void | transform (const typename Transform< Scalar, AmbientDimAtCompileTime, Mode, Options >::TranslationType &translation) |
template<int Mode, int Options> | |
AlignedBox | transformed (const Transform< Scalar, AmbientDimAtCompileTime, Mode, Options > &transform) const |
template<typename Derived > | |
AlignedBox & | translate (const MatrixBase< Derived > &a_t) |
template<typename Derived > | |
AlignedBox | translated (const MatrixBase< Derived > &a_t) const |
Scalar | volume () const |
typedef Eigen::Index Eigen::AlignedBox< _Scalar, _AmbientDim >::Index |
enum Eigen::AlignedBox::CornerType |
Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box
| inline |
Default constructor initializing a null box.
| inlineexplicit |
Constructs a null box with _dim the dimension of the ambient space.
| inline |
Constructs a box with extremities _min and _max.
| inlineexplicit |
Constructs a box containing a single point p.
| inlineexplicit |
Copy constructor with scalar type conversion
| 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
.
| inline |
Clamps *this
by the box b and returns a reference to *this
.
| inline |
*this
.
| inline |
*this
.
| inline |
| inline |
| inline |
| inline |
| inline |
Extends *this
such that it contains the box b and returns a reference to *this
.
| inline |
Extends *this
such that it contains the point p and returns a reference to *this
.
| inline |
*this
, and zero if the boxes intersect.
| inline |
*this
, and zero if p is inside the box.
| inline |
Returns an AlignedBox that is the intersection of b and *this
| inline |
*this
.
| inline |
true
if *this
is approximately equal to other, within the precision determined by prec.
| inline |
| inline |
| inline |
| inline |
| inline |
Returns an AlignedBox that is the union of b and *this
.
*this
.
| inline |
| inline |
| inline |
| inline |
Makes *this
an empty box.
| inline |
| inline |
| inline |
*this
, and zero if the boxes intersect.
| inline |
*this
, and zero if p is inside the box.
| inline |
Transforms this box by transform and recomputes it to still be an axis-aligned box.
| inline |
Specialization of transform for pure translation.
| inline |
*this
transformed by transform and recomputed to still be an axis-aligned box.
| inline |
Translate *this
by the vector t and returns a reference to *this
.
| inline |
*this
translated by the vector t.
| inline |
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1AlignedBox.html