An axis aligned box. More...
#include <AlignedBox.h>
Public Types | |
enum | { AmbientDimAtCompileTime = _AmbientDim } |
enum | { AmbientDimAtCompileTime = _AmbientDim } |
enum | CornerType { Min = 0, Max = 1, BottomLeft = 0, BottomRight = 1, TopLeft = 2, TopRight = 3, BottomLeftFloor = 0, BottomRightFloor = 1, TopLeftFloor = 2, TopRightFloor = 3, BottomLeftCeil = 4, BottomRightCeil = 5, TopLeftCeil = 6, TopRightCeil = 7 } |
typedef DenseIndex | Index |
typedef ScalarTraits::NonInteger | NonInteger |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef ScalarTraits::Real | RealScalar |
typedef _Scalar | Scalar |
typedef _Scalar | Scalar |
typedef NumTraits< Scalar > | ScalarTraits |
typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
Public Member Functions | |
AlignedBox () | |
AlignedBox (int _dim) | |
AlignedBox (const VectorType &_min, const VectorType &_max) | |
AlignedBox (const VectorType &p) | |
AlignedBox () | |
AlignedBox (Index _dim) | |
template<typename OtherVectorType1 , typename OtherVectorType2 > | |
AlignedBox (const OtherVectorType1 &_min, const OtherVectorType2 &_max) | |
template<typename Derived > | |
AlignedBox (const MatrixBase< Derived > &p) | |
template<typename OtherScalarType > | |
AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) | |
template<typename OtherScalarType > | |
AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) | |
template<typename NewScalarType > | |
internal::cast_return_type < AlignedBox, AlignedBox < NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
template<typename NewScalarType > | |
internal::cast_return_type < AlignedBox, AlignedBox < NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
const CwiseUnaryOp < internal::scalar_quotient1_op < Scalar >, const CwiseBinaryOp < internal::scalar_sum_op < Scalar >, const VectorType, const VectorType > > | center () const |
AlignedBox & | clamp (const AlignedBox &b) |
AlignedBox & | clamp (const AlignedBox &b) |
bool | contains (const VectorType &p) const |
bool | contains (const AlignedBox &b) const |
template<typename Derived > | |
bool | contains (const MatrixBase< Derived > &p) const |
bool | contains (const AlignedBox &b) const |
VectorType | corner (CornerType corner) const |
CwiseBinaryOp < internal::scalar_difference_op < Scalar >, const VectorType, const VectorType > | diagonal () const |
int | dim () const |
Index | dim () const |
AlignedBox & | extend (const VectorType &p) |
AlignedBox & | extend (const AlignedBox &b) |
template<typename Derived > | |
AlignedBox & | extend (const MatrixBase< Derived > &p) |
AlignedBox & | extend (const AlignedBox &b) |
Scalar | exteriorDistance (const VectorType &p) const |
template<typename Derived > | |
NonInteger | exteriorDistance (const MatrixBase< Derived > &p) const |
NonInteger | exteriorDistance (const AlignedBox &b) const |
AlignedBox | intersection (const AlignedBox &b) const |
bool | intersects (const AlignedBox &b) const |
bool | isApprox (const AlignedBox &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const |
bool | isApprox (const AlignedBox &other, const RealScalar &prec=ScalarTraits::dummy_precision()) const |
bool | isEmpty () const |
bool | isNull () const |
bool | isNull () const |
const VectorType &() | max () const |
VectorType &() | max () |
const VectorType &() | max () const |
VectorType &() | max () |
AlignedBox | merged (const AlignedBox &b) const |
const VectorType &() | min () const |
VectorType &() | min () |
const VectorType &() | min () const |
VectorType &() | min () |
VectorType | sample () const |
void | setEmpty () |
void | setNull () |
void | setNull () |
const CwiseBinaryOp < internal::scalar_difference_op < Scalar >, const VectorType, const VectorType > | sizes () const |
Scalar | squaredExteriorDistance (const VectorType &p) const |
template<typename Derived > | |
Scalar | squaredExteriorDistance (const MatrixBase< Derived > &p) const |
Scalar | squaredExteriorDistance (const AlignedBox &b) const |
AlignedBox & | translate (const VectorType &t) |
template<typename Derived > | |
AlignedBox & | translate (const MatrixBase< Derived > &a_t) |
Scalar | volume () const |
~AlignedBox () | |
~AlignedBox () | |
Protected Attributes | |
VectorType | m_max |
VectorType | m_min |
An axis aligned box.
_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.
_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.
Definition at line 27 of file Eigen2Support/Geometry/AlignedBox.h.
typedef DenseIndex Eigen::AlignedBox< _Scalar, _AmbientDim >::Index |
Definition at line 37 of file Geometry/AlignedBox.h.
typedef ScalarTraits::NonInteger Eigen::AlignedBox< _Scalar, _AmbientDim >::NonInteger |
Definition at line 39 of file Geometry/AlignedBox.h.
typedef NumTraits<Scalar>::Real Eigen::AlignedBox< _Scalar, _AmbientDim >::RealScalar |
Definition at line 33 of file Eigen2Support/Geometry/AlignedBox.h.
typedef ScalarTraits::Real Eigen::AlignedBox< _Scalar, _AmbientDim >::RealScalar |
Definition at line 38 of file Geometry/AlignedBox.h.
typedef _Scalar Eigen::AlignedBox< _Scalar, _AmbientDim >::Scalar |
Definition at line 32 of file Eigen2Support/Geometry/AlignedBox.h.
typedef _Scalar Eigen::AlignedBox< _Scalar, _AmbientDim >::Scalar |
Definition at line 35 of file Geometry/AlignedBox.h.
typedef NumTraits<Scalar> Eigen::AlignedBox< _Scalar, _AmbientDim >::ScalarTraits |
Definition at line 36 of file Geometry/AlignedBox.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::AlignedBox< _Scalar, _AmbientDim >::VectorType |
Definition at line 34 of file Eigen2Support/Geometry/AlignedBox.h.
typedef Matrix<Scalar,AmbientDimAtCompileTime,1> Eigen::AlignedBox< _Scalar, _AmbientDim >::VectorType |
Definition at line 40 of file Geometry/AlignedBox.h.
anonymous enum |
Definition at line 31 of file Eigen2Support/Geometry/AlignedBox.h.
anonymous enum |
Definition at line 34 of file Geometry/AlignedBox.h.
enum Eigen::AlignedBox::CornerType |
Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box
Definition at line 43 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | ) | [inline] |
Default constructor initializing a null box.
Definition at line 37 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | int | _dim | ) | [inline, explicit] |
Constructs a null box with _dim the dimension of the ambient space.
Definition at line 41 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const VectorType & | _min, |
const VectorType & | _max | ||
) | [inline] |
Constructs a box with extremities _min and _max.
Definition at line 45 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const VectorType & | p | ) | [inline, explicit] |
Constructs a box containing a single point p.
Definition at line 48 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::~AlignedBox | ( | ) | [inline] |
Definition at line 50 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 126 of file Eigen2Support/Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | ) | [inline] |
Default constructor initializing a null box.
Definition at line 64 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | Index | _dim | ) | [inline, explicit] |
Constructs a null box with _dim the dimension of the ambient space.
Definition at line 68 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const OtherVectorType1 & | _min, |
const OtherVectorType2 & | _max | ||
) | [inline] |
Constructs a box with extremities _min and _max.
Definition at line 74 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const MatrixBase< Derived > & | p | ) | [inline, explicit] |
Constructs a box containing a single point p.
Definition at line 78 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::~AlignedBox | ( | ) | [inline] |
Definition at line 81 of file Geometry/AlignedBox.h.
Eigen::AlignedBox< _Scalar, _AmbientDim >::AlignedBox | ( | const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 292 of file Geometry/AlignedBox.h.
internal::cast_return_type<AlignedBox, AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type Eigen::AlignedBox< _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 118 of file Eigen2Support/Geometry/AlignedBox.h.
internal::cast_return_type<AlignedBox, AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type Eigen::AlignedBox< _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 284 of file Geometry/AlignedBox.h.
const CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const VectorType, const VectorType> > Eigen::AlignedBox< _Scalar, _AmbientDim >::center | ( | ) | const [inline] |
Definition at line 116 of file Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::clamp | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | [inline] |
Clamps *this
by the box b and returns a reference to *this
.
Definition at line 91 of file Eigen2Support/Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::clamp | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | [inline] |
Clamps *this
by the box b and returns a reference to *this
.
Definition at line 220 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::contains | ( | const VectorType & | p | ) | const [inline] |
*this
. Definition at line 75 of file Eigen2Support/Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::contains | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
*this
. Definition at line 79 of file Eigen2Support/Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::contains | ( | const MatrixBase< Derived > & | p | ) | const [inline] |
*this
. Definition at line 182 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::contains | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
*this
. Definition at line 189 of file Geometry/AlignedBox.h.
VectorType Eigen::AlignedBox< _Scalar, _AmbientDim >::corner | ( | CornerType | corner | ) | const [inline] |
Definition at line 146 of file Geometry/AlignedBox.h.
CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> Eigen::AlignedBox< _Scalar, _AmbientDim >::diagonal | ( | ) | const [inline] |
Definition at line 134 of file Geometry/AlignedBox.h.
int Eigen::AlignedBox< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 53 of file Eigen2Support/Geometry/AlignedBox.h.
Index Eigen::AlignedBox< _Scalar, _AmbientDim >::dim | ( | ) | const [inline] |
Definition at line 84 of file Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::extend | ( | const VectorType & | p | ) | [inline] |
Extends *this
such that it contains the point p and returns a reference to *this
.
Definition at line 83 of file Eigen2Support/Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::extend | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | [inline] |
Extends *this
such that it contains the box b and returns a reference to *this
.
Definition at line 87 of file Eigen2Support/Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::extend | ( | const MatrixBase< Derived > & | p | ) | [inline] |
Extends *this
such that it contains the point p and returns a reference to *this
.
Definition at line 200 of file Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::extend | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | [inline] |
Extends *this
such that it contains the box b and returns a reference to *this
.
Definition at line 210 of file Geometry/AlignedBox.h.
Scalar Eigen::AlignedBox< _Scalar, _AmbientDim >::exteriorDistance | ( | const VectorType & | p | ) | const [inline] |
*this
, and zero if p is inside the box. Definition at line 108 of file Eigen2Support/Geometry/AlignedBox.h.
NonInteger Eigen::AlignedBox< _Scalar, _AmbientDim >::exteriorDistance | ( | const MatrixBase< Derived > & | p | ) | const [inline] |
*this
, and zero if p is inside the box. Definition at line 267 of file Geometry/AlignedBox.h.
NonInteger Eigen::AlignedBox< _Scalar, _AmbientDim >::exteriorDistance | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
*this
, and zero if the boxes intersect. Definition at line 274 of file Geometry/AlignedBox.h.
AlignedBox Eigen::AlignedBox< _Scalar, _AmbientDim >::intersection | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
Returns an AlignedBox that is the intersection of b and *this
Definition at line 230 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::intersects | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
*this
. Definition at line 194 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::isApprox | ( | const AlignedBox< _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 136 of file Eigen2Support/Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::isApprox | ( | const AlignedBox< _Scalar, _AmbientDim > & | other, |
const RealScalar & | prec = ScalarTraits::dummy_precision() |
||
) | const [inline] |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 302 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::isEmpty | ( | ) | const [inline] |
Definition at line 94 of file Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::isNull | ( | ) | const [inline] |
Definition at line 56 of file Eigen2Support/Geometry/AlignedBox.h.
bool Eigen::AlignedBox< _Scalar, _AmbientDim >::isNull | ( | ) | const [inline] |
Definition at line 87 of file Geometry/AlignedBox.h.
const VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::max | ( | ) | const [inline] |
Definition at line 70 of file Eigen2Support/Geometry/AlignedBox.h.
VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::max | ( | ) | [inline] |
Definition at line 72 of file Eigen2Support/Geometry/AlignedBox.h.
const VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::max | ( | ) | const [inline] |
Definition at line 109 of file Geometry/AlignedBox.h.
VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::max | ( | ) | [inline] |
Definition at line 111 of file Geometry/AlignedBox.h.
AlignedBox Eigen::AlignedBox< _Scalar, _AmbientDim >::merged | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
Returns an AlignedBox that is the union of b and *this
.
*this
. Definition at line 236 of file Geometry/AlignedBox.h.
const VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::min | ( | ) | const [inline] |
Definition at line 66 of file Eigen2Support/Geometry/AlignedBox.h.
VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::min | ( | ) | [inline] |
Definition at line 68 of file Eigen2Support/Geometry/AlignedBox.h.
const VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::min | ( | ) | const [inline] |
Definition at line 105 of file Geometry/AlignedBox.h.
VectorType&() Eigen::AlignedBox< _Scalar, _AmbientDim >::min | ( | ) | [inline] |
Definition at line 107 of file Geometry/AlignedBox.h.
VectorType Eigen::AlignedBox< _Scalar, _AmbientDim >::sample | ( | ) | const [inline] |
Definition at line 164 of file Geometry/AlignedBox.h.
void Eigen::AlignedBox< _Scalar, _AmbientDim >::setEmpty | ( | ) | [inline] |
void Eigen::AlignedBox< _Scalar, _AmbientDim >::setNull | ( | ) | [inline] |
Makes *this
a null/empty box.
Definition at line 59 of file Eigen2Support/Geometry/AlignedBox.h.
void Eigen::AlignedBox< _Scalar, _AmbientDim >::setNull | ( | ) | [inline] |
Definition at line 90 of file Geometry/AlignedBox.h.
const CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> Eigen::AlignedBox< _Scalar, _AmbientDim >::sizes | ( | ) | const [inline] |
Definition at line 123 of file Geometry/AlignedBox.h.
Scalar Eigen::AlignedBox< Scalar, AmbiantDim >::squaredExteriorDistance | ( | const VectorType & | p | ) | const [inline] |
*this
, and zero if p is inside the box. Definition at line 145 of file Eigen2Support/Geometry/AlignedBox.h.
Scalar Eigen::AlignedBox< Scalar, AmbientDim >::squaredExteriorDistance | ( | const MatrixBase< Derived > & | p | ) | const [inline] |
*this
, and zero if p is inside the box. Definition at line 314 of file Geometry/AlignedBox.h.
Scalar Eigen::AlignedBox< Scalar, AmbientDim >::squaredExteriorDistance | ( | const AlignedBox< _Scalar, _AmbientDim > & | b | ) | const [inline] |
*this
, and zero if the boxes intersect. Definition at line 336 of file Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::translate | ( | const VectorType & | t | ) | [inline] |
Translate *this
by the vector t and returns a reference to *this
.
Definition at line 95 of file Eigen2Support/Geometry/AlignedBox.h.
AlignedBox& Eigen::AlignedBox< _Scalar, _AmbientDim >::translate | ( | const MatrixBase< Derived > & | a_t | ) | [inline] |
Translate *this
by the vector t and returns a reference to *this
.
Definition at line 241 of file Geometry/AlignedBox.h.
Scalar Eigen::AlignedBox< _Scalar, _AmbientDim >::volume | ( | ) | const [inline] |
Definition at line 127 of file Geometry/AlignedBox.h.
VectorType Eigen::AlignedBox< _Scalar, _AmbientDim >::m_max [protected] |
Definition at line 141 of file Eigen2Support/Geometry/AlignedBox.h.
VectorType Eigen::AlignedBox< _Scalar, _AmbientDim >::m_min [protected] |
Definition at line 141 of file Eigen2Support/Geometry/AlignedBox.h.