Open CASCADE Technology  7.3.1.dev
Public Types | Public Member Functions | Protected Attributes
BVH_Box< T, N > Class Template Reference

Defines axis aligned bounding box (AABB) based on BVH vectors. More...

#include <BVH_Box.hxx>

Public Types

typedef BVH::VectorType< T, N >::Type BVH_VecNt
 

Public Member Functions

 BVH_Box ()
 Creates uninitialized bounding box. More...
 
 BVH_Box (const BVH_VecNt &thePoint)
 Creates bounding box of given point. More...
 
 BVH_Box (const BVH_Box &theBox)
 Creates copy of another bounding box. More...
 
 BVH_Box (const BVH_VecNt &theMinPoint, const BVH_VecNt &theMaxPoint)
 Creates bounding box from corner points. More...
 
void Clear ()
 Clears bounding box. More...
 
Standard_Boolean IsValid () const
 Is bounding box valid? More...
 
void Add (const BVH_VecNt &thePoint)
 Appends new point to the bounding box. More...
 
void Combine (const BVH_Box &theBox)
 Combines bounding box with another one. More...
 
const BVH_VecNtCornerMin () const
 Returns minimum point of bounding box. More...
 
const BVH_VecNtCornerMax () const
 Returns maximum point of bounding box. More...
 
BVH_VecNtCornerMin ()
 Returns minimum point of bounding box. More...
 
BVH_VecNtCornerMax ()
 Returns maximum point of bounding box. More...
 
Area () const
 Returns surface area of bounding box. If the box is degenerated into line, returns the perimeter instead. More...
 
BVH_VecNt Size () const
 Returns diagonal of bounding box. More...
 
BVH_VecNt Center () const
 Returns center of bounding box. More...
 
Center (const Standard_Integer theAxis) const
 Returns center of bounding box along the given axis. More...
 

Protected Attributes

BVH_VecNt myMinPoint
 Minimum point of bounding box. More...
 
BVH_VecNt myMaxPoint
 Maximum point of bounding box. More...
 
Standard_Boolean myIsInited
 Is bounding box initialized? More...
 

Detailed Description

template<class T, int N>
class BVH_Box< T, N >

Defines axis aligned bounding box (AABB) based on BVH vectors.

Template Parameters
TNumeric data type
NVector dimension

Member Typedef Documentation

◆ BVH_VecNt

template<class T, int N>
typedef BVH::VectorType<T, N>::Type BVH_Box< T, N >::BVH_VecNt

Constructor & Destructor Documentation

◆ BVH_Box() [1/4]

template<class T, int N>
BVH_Box< T, N >::BVH_Box ( )
inline

Creates uninitialized bounding box.

◆ BVH_Box() [2/4]

template<class T, int N>
BVH_Box< T, N >::BVH_Box ( const BVH_VecNt thePoint)
inline

Creates bounding box of given point.

◆ BVH_Box() [3/4]

template<class T, int N>
BVH_Box< T, N >::BVH_Box ( const BVH_Box< T, N > &  theBox)
inline

Creates copy of another bounding box.

◆ BVH_Box() [4/4]

template<class T, int N>
BVH_Box< T, N >::BVH_Box ( const BVH_VecNt theMinPoint,
const BVH_VecNt theMaxPoint 
)
inline

Creates bounding box from corner points.

Member Function Documentation

◆ Add()

template<class T, int N>
void BVH_Box< T, N >::Add ( const BVH_VecNt thePoint)
inline

Appends new point to the bounding box.

◆ Area()

template<class T , int N>
T BVH_Box< T, N >::Area ( ) const

Returns surface area of bounding box. If the box is degenerated into line, returns the perimeter instead.

◆ Center() [1/2]

template<class T, int N>
BVH_VecNt BVH_Box< T, N >::Center ( ) const
inline

Returns center of bounding box.

◆ Center() [2/2]

template<class T , int N>
T BVH_Box< T, N >::Center ( const Standard_Integer  theAxis) const

Returns center of bounding box along the given axis.

◆ Clear()

template<class T, int N>
void BVH_Box< T, N >::Clear ( )
inline

Clears bounding box.

◆ Combine()

template<class T , int N>
void BVH_Box< T, N >::Combine ( const BVH_Box< T, N > &  theBox)

Combines bounding box with another one.

◆ CornerMax() [1/2]

template<class T, int N>
const BVH_VecNt& BVH_Box< T, N >::CornerMax ( ) const
inline

Returns maximum point of bounding box.

◆ CornerMax() [2/2]

template<class T, int N>
BVH_VecNt& BVH_Box< T, N >::CornerMax ( )
inline

Returns maximum point of bounding box.

◆ CornerMin() [1/2]

template<class T, int N>
const BVH_VecNt& BVH_Box< T, N >::CornerMin ( ) const
inline

Returns minimum point of bounding box.

◆ CornerMin() [2/2]

template<class T, int N>
BVH_VecNt& BVH_Box< T, N >::CornerMin ( )
inline

Returns minimum point of bounding box.

◆ IsValid()

template<class T, int N>
Standard_Boolean BVH_Box< T, N >::IsValid ( ) const
inline

Is bounding box valid?

◆ Size()

template<class T, int N>
BVH_VecNt BVH_Box< T, N >::Size ( void  ) const
inline

Returns diagonal of bounding box.

Field Documentation

◆ myIsInited

template<class T, int N>
Standard_Boolean BVH_Box< T, N >::myIsInited
protected

Is bounding box initialized?

◆ myMaxPoint

template<class T, int N>
BVH_VecNt BVH_Box< T, N >::myMaxPoint
protected

Maximum point of bounding box.

◆ myMinPoint

template<class T, int N>
BVH_VecNt BVH_Box< T, N >::myMinPoint
protected

Minimum point of bounding box.


The documentation for this class was generated from the following file: