AlignedBox< _Scalar, _AmbientDim > Class Template Reference
[Geometry module]

An axis aligned box. More...

List of all members.

Public Types

enum  CornerType {
  Min ,
  BottomLeft ,
  BottomLeftFloor
}

Public Member Functions

template<typename OtherScalarType >
 AlignedBox (const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &other)
template<typename Derived >
 AlignedBox (const MatrixBase< Derived > &a_p)
template<typename OtherVectorType1 , typename OtherVectorType2 >
 AlignedBox (const OtherVectorType1 &_min, const OtherVectorType2 &_max)
 AlignedBox (Index _dim)
 AlignedBox ()
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
AlignedBoxclamp (const AlignedBox &b)
bool contains (const AlignedBox &b) const
template<typename Derived >
bool contains (const MatrixBase< Derived > &a_p) const
VectorType corner (CornerType corner) const
CwiseBinaryOp
< internal::scalar_difference_op
< Scalar >, const VectorType,
const VectorType
diagonal () const
Index dim () const
AlignedBoxextend (const AlignedBox &b)
template<typename Derived >
AlignedBoxextend (const MatrixBase< Derived > &a_p)
NonInteger exteriorDistance (const AlignedBox &b) const
template<typename Derived >
NonInteger exteriorDistance (const MatrixBase< Derived > &p) const
AlignedBox intersection (const AlignedBox &b) const
bool isApprox (const AlignedBox &other, RealScalar prec=ScalarTraits::dummy_precision()) const
bool isEmpty () const
bool isNull () const
VectorTypemax ()
const VectorTypemax () const
AlignedBox merged (const AlignedBox &b) const
VectorTypemin ()
const VectorTypemin () const
VectorType sample () const
void setEmpty ()
void setNull ()
const CwiseBinaryOp
< internal::scalar_difference_op
< Scalar >, const VectorType,
const VectorType
sizes () const
Scalar squaredExteriorDistance (const AlignedBox &b) const
template<typename Derived >
Scalar squaredExteriorDistance (const MatrixBase< Derived > &a_p) const
template<typename Derived >
AlignedBoxtranslate (const MatrixBase< Derived > &a_t)
Scalar volume () const

Detailed Description

template<typename _Scalar, int _AmbientDim>
class Eigen::AlignedBox< _Scalar, _AmbientDim >

An axis aligned box.

This is defined in the Geometry module.

 #include <Eigen/Geometry> 
Parameters:
_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.


Member Enumeration Documentation

enum 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


Constructor & Destructor Documentation

AlignedBox (  )  [inline, explicit]

Default constructor initializing a null box.

AlignedBox ( Index  _dim  )  [inline, explicit]

Constructs a null box with _dim the dimension of the ambient space.

AlignedBox ( const OtherVectorType1 &  _min,
const OtherVectorType2 &  _max 
) [inline]

Constructs a box with extremities _min and _max.

AlignedBox ( const MatrixBase< Derived > &  a_p  )  [inline, explicit]

Constructs a box containing a single point p.

AlignedBox ( const AlignedBox< OtherScalarType, AmbientDimAtCompileTime > &  other  )  [inline, explicit]

Copy constructor with scalar type conversion


Member Function Documentation

internal::cast_return_type<AlignedBox, AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type cast (  )  const [inline]
Returns:
*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.

const CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const VectorType, const VectorType> > center (  )  const [inline]
Returns:
the center of the box
AlignedBox& clamp ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  [inline]

Clamps *this by the box b and returns a reference to *this.

bool contains ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  const [inline]
Returns:
true if the box b is entirely inside the box *this.
bool contains ( const MatrixBase< Derived > &  a_p  )  const [inline]
Returns:
true if the point p is inside the box *this.
VectorType corner ( CornerType  corner  )  const [inline]
Returns:
the vertex of the bounding box at the corner defined by the corner-id corner. It works only for a 1D, 2D or 3D bounding box. For 1D bounding boxes corners are named by 2 enum constants: BottomLeft and BottomRight. For 2D bounding boxes, corners are named by 4 enum constants: BottomLeft, BottomRight, TopLeft, TopRight. For 3D bounding boxes, the following names are added: BottomLeftCeil, BottomRightCeil, TopLeftCeil, TopRightCeil.
CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> diagonal (  )  const [inline]
Returns:
an expression for the bounding box diagonal vector if the length of the diagonal is needed: diagonal().norm() will provide it.
Index dim (  )  const [inline]
Returns:
the dimension in which the box holds
AlignedBox& extend ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  [inline]

Extends *this such that it contains the box b and returns a reference to *this.

AlignedBox& extend ( const MatrixBase< Derived > &  a_p  )  [inline]

Extends *this such that it contains the point p and returns a reference to *this.

NonInteger exteriorDistance ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  const [inline]
Returns:
the distance between the boxes b and *this, and zero if the boxes intersect.
See also:
squaredExteriorDistance()
NonInteger exteriorDistance ( const MatrixBase< Derived > &  p  )  const [inline]
Returns:
the distance between the point p and the box *this, and zero if p is inside the box.
See also:
squaredExteriorDistance()
AlignedBox intersection ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  const [inline]

Returns an AlignedBox that is the intersection of b and *this

bool isApprox ( const AlignedBox< _Scalar, _AmbientDim > &  other,
RealScalar  prec = ScalarTraits::dummy_precision() 
) const [inline]
Returns:
true if *this is approximately equal to other, within the precision determined by prec.
See also:
MatrixBase::isApprox()
bool isEmpty (  )  const [inline]
Returns:
true if the box is empty.
bool isNull (  )  const [inline]
VectorType& max (  )  [inline]
Returns:
a non const reference to the maximal corner
const VectorType& max (  )  const [inline]
Returns:
the maximal corner
AlignedBox merged ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  const [inline]

Returns an AlignedBox that is the union of b and *this

VectorType& min (  )  [inline]
Returns:
a non const reference to the minimal corner
const VectorType& min (  )  const [inline]
Returns:
the minimal corner
VectorType sample (  )  const [inline]
Returns:
a random point inside the bounding box sampled with a uniform distribution
void setEmpty (  )  [inline]

Makes *this an empty box.

void setNull (  )  [inline]
const CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> sizes (  )  const [inline]
Returns:
the lengths of the sides of the bounding box. Note that this function does not get the same result for integral or floating scalar types: see
Scalar squaredExteriorDistance ( const AlignedBox< _Scalar, _AmbientDim > &  b  )  const [inline]
Returns:
the squared distance between the boxes b and *this, and zero if the boxes intersect.
See also:
exteriorDistance()
Scalar squaredExteriorDistance ( const MatrixBase< Derived > &  a_p  )  const [inline]
Returns:
the squared distance between the point p and the box *this, and zero if p is inside the box.
See also:
exteriorDistance()
AlignedBox& translate ( const MatrixBase< Derived > &  a_t  )  [inline]

Translate *this by the vector t and returns a reference to *this.

Scalar volume (  )  const [inline]
Returns:
the volume of the bounding box

The documentation for this class was generated from the following file:
Generated on Sun Jul 3 00:55:25 2011 for Eigen by  doxygen 1.6.3