Shapeworks Studio
2.1
Shape analysis software suite
|
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 _Scalar | Scalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
typedef _Scalar | Scalar |
typedef NumTraits< Scalar > | ScalarTraits |
typedef DenseIndex | Index |
typedef ScalarTraits::Real | RealScalar |
typedef ScalarTraits::NonInteger | NonInteger |
typedef Matrix< Scalar, AmbientDimAtCompileTime, 1 > | VectorType |
Public Member Functions | |
AlignedBox () | |
AlignedBox (int _dim) | |
AlignedBox (const VectorType &_min, const VectorType &_max) | |
AlignedBox (const VectorType &p) | |
int | dim () const |
bool | isNull () const |
void | setNull () |
const VectorType &() | min () const |
VectorType &() | min () |
const VectorType &() | max () const |
VectorType &() | max () |
bool | contains (const VectorType &p) const |
bool | contains (const AlignedBox &b) const |
AlignedBox & | extend (const VectorType &p) |
AlignedBox & | extend (const AlignedBox &b) |
AlignedBox & | clamp (const AlignedBox &b) |
AlignedBox & | translate (const VectorType &t) |
Scalar | squaredExteriorDistance (const VectorType &p) const |
Scalar | exteriorDistance (const VectorType &p) const |
template<typename NewScalarType > | |
internal::cast_return_type< AlignedBox, AlignedBox< NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
template<typename OtherScalarType > | |
AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) | |
bool | isApprox (const AlignedBox &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const |
AlignedBox () | |
AlignedBox (Index _dim) | |
template<typename OtherVectorType1 , typename OtherVectorType2 > | |
AlignedBox (const OtherVectorType1 &_min, const OtherVectorType2 &_max) | |
template<typename Derived > | |
AlignedBox (const MatrixBase< Derived > &a_p) | |
Index | dim () const |
bool | isNull () const |
void | setNull () |
bool | isEmpty () const |
void | setEmpty () |
const VectorType &() | min () const |
VectorType &() | min () |
const VectorType &() | max () const |
VectorType &() | max () |
const CwiseUnaryOp< internal::scalar_quotient1_op< Scalar >, const CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const VectorType, const VectorType > > | center () const |
const CwiseBinaryOp< internal::scalar_difference_op< Scalar >, const VectorType, const VectorType > | sizes () const |
Scalar | volume () const |
CwiseBinaryOp< internal::scalar_difference_op< Scalar >, const VectorType, const VectorType > | diagonal () const |
VectorType | corner (CornerType corner) const |
VectorType | sample () const |
template<typename Derived > | |
bool | contains (const MatrixBase< Derived > &a_p) const |
bool | contains (const AlignedBox &b) const |
template<typename Derived > | |
AlignedBox & | extend (const MatrixBase< Derived > &a_p) |
AlignedBox & | extend (const AlignedBox &b) |
AlignedBox & | clamp (const AlignedBox &b) |
AlignedBox | intersection (const AlignedBox &b) const |
AlignedBox | merged (const AlignedBox &b) const |
template<typename Derived > | |
AlignedBox & | translate (const MatrixBase< Derived > &a_t) |
template<typename Derived > | |
Scalar | squaredExteriorDistance (const MatrixBase< Derived > &a_p) const |
Scalar | squaredExteriorDistance (const AlignedBox &b) const |
template<typename Derived > | |
NonInteger | exteriorDistance (const MatrixBase< Derived > &p) const |
NonInteger | exteriorDistance (const AlignedBox &b) const |
template<typename NewScalarType > | |
internal::cast_return_type< AlignedBox, AlignedBox< NewScalarType, AmbientDimAtCompileTime > >::type | cast () const |
template<typename OtherScalarType > | |
AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other) | |
bool | isApprox (const AlignedBox &other, const RealScalar &prec=ScalarTraits::dummy_precision()) const |
Protected Attributes | |
VectorType | m_min |
VectorType | m_max |
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 AlignedBox.h.
enum Eigen::AlignedBox::CornerType |
Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box
Enumerator | |
---|---|
Min |
1D names |
BottomLeft |
Added names for 2D |
BottomLeftFloor |
Added names for 3D |
Definition at line 41 of file AlignedBox.h.
|
inline |
|
inlineexplicit |
Constructs a null box with _dim the dimension of the ambient space.
Definition at line 41 of file AlignedBox.h.
|
inline |
Constructs a box with extremities _min and _max.
Definition at line 45 of file AlignedBox.h.
|
inlineexplicit |
Constructs a box containing a single point p.
Definition at line 48 of file AlignedBox.h.
|
inlineexplicit |
Copy constructor with scalar type conversion
Definition at line 126 of file AlignedBox.h.
|
inline |
|
inlineexplicit |
Constructs a null box with _dim the dimension of the ambient space.
Definition at line 63 of file AlignedBox.h.
|
inline |
Constructs a box with extremities _min and _max.
Definition at line 68 of file AlignedBox.h.
|
inlineexplicit |
Constructs a box containing a single point p.
Definition at line 72 of file AlignedBox.h.
|
inlineexplicit |
Copy constructor with scalar type conversion
Definition at line 275 of file AlignedBox.h.
|
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 AlignedBox.h.
|
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 267 of file AlignedBox.h.
|
inline |
Definition at line 112 of file AlignedBox.h.
|
inline |
Clamps *this
by the box b and returns a reference to *this
.
Definition at line 91 of file AlignedBox.h.
|
inline |
Clamps *this
by the box b and returns a reference to *this
.
Definition at line 207 of file AlignedBox.h.
|
inline |
*this
. Definition at line 75 of file AlignedBox.h.
|
inline |
*this
. Definition at line 79 of file AlignedBox.h.
|
inline |
*this
. Definition at line 178 of file AlignedBox.h.
|
inline |
*this
. Definition at line 185 of file AlignedBox.h.
|
inline |
Definition at line 142 of file AlignedBox.h.
|
inline |
Definition at line 130 of file AlignedBox.h.
|
inline |
Definition at line 53 of file AlignedBox.h.
|
inline |
Definition at line 82 of file AlignedBox.h.
|
inline |
Extends *this
such that it contains the point p and returns a reference to *this
.
Definition at line 83 of file AlignedBox.h.
|
inline |
Extends *this
such that it contains the box b and returns a reference to *this
.
Definition at line 87 of file AlignedBox.h.
|
inline |
Extends *this
such that it contains the point p and returns a reference to *this
.
Definition at line 190 of file AlignedBox.h.
|
inline |
Extends *this
such that it contains the box b and returns a reference to *this
.
Definition at line 199 of file AlignedBox.h.
|
inline |
*this
, and zero if p is inside the box. Definition at line 108 of file AlignedBox.h.
|
inline |
*this
, and zero if p is inside the box. Definition at line 250 of file AlignedBox.h.
|
inline |
*this
, and zero if the boxes intersect. Definition at line 257 of file AlignedBox.h.
|
inline |
Returns an AlignedBox that is the intersection of b and *this
Definition at line 215 of file AlignedBox.h.
|
inline |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 136 of file AlignedBox.h.
|
inline |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 285 of file AlignedBox.h.
|
inline |
Definition at line 91 of file AlignedBox.h.
|
inline |
Definition at line 56 of file AlignedBox.h.
|
inline |
|
inline |
|
inline |
Definition at line 72 of file AlignedBox.h.
|
inline |
|
inline |
Definition at line 107 of file AlignedBox.h.
|
inline |
|
inline |
|
inline |
Definition at line 68 of file AlignedBox.h.
|
inline |
|
inline |
Definition at line 103 of file AlignedBox.h.
|
inline |
Definition at line 160 of file AlignedBox.h.
|
inline |
Makes *this
an empty box.
Definition at line 94 of file AlignedBox.h.
|
inline |
Makes *this
a null/empty box.
Definition at line 59 of file AlignedBox.h.
|
inline |
|
inline |
Definition at line 119 of file AlignedBox.h.
|
inline |
*this
, and zero if p is inside the box. Definition at line 145 of file AlignedBox.h.
|
inline |
*this
, and zero if p is inside the box. Definition at line 297 of file AlignedBox.h.
|
inline |
*this
, and zero if the boxes intersect. Definition at line 319 of file AlignedBox.h.
|
inline |
Translate *this
by the vector t and returns a reference to *this
.
Definition at line 95 of file AlignedBox.h.
|
inline |
Translate *this
by the vector t and returns a reference to *this
.
Definition at line 224 of file AlignedBox.h.
|
inline |
Definition at line 123 of file AlignedBox.h.