3D Forest
Software for analysis of Lidar data from forest environment.
Box< T > Class Template Reference

#include <Box.hpp>

Public Member Functions

 Box ()
 
 ~Box ()
 
template<class B >
 Box (const Box< B > &box)
 
template<class B >
 Box (B x1, B y1, B z1, B x2, B y2, B z2)
 
template<class B >
 Box (B cx, B cy, B cz, B r)
 
template<class B >
 Box (const Vector3< B > &min, const Vector3< B > &max)
 
void set (T x1, T y1, T z1, T x2, T y2, T z2)
 
void set (T cx, T cy, T cz, T r)
 
void set (const Vector3< T > &min, const Vector3< T > &max)
 
void set (const std::vector< T > &xyz)
 
void set (const Box< T > &box)
 
void setPercent (const Box< T > &box, const Box< T > &a, const Box< T > &b)
 
void translate (const Vector3< T > &v)
 
void extend (const Box< T > &box)
 
void extend (T x, T y, T z)
 
void clear ()
 
bool empty () const
 
const T & min (size_t idx) const
 
const T & max (size_t idx) const
 
length (size_t idx) const
 
maximumLength () const
 
void getCenter (T &x, T &y, T &z) const
 
Vector3< T > getCenter () const
 
distance (T x, T y, T z) const
 
radius () const
 
bool intersects (const Box< T > &box) const
 
bool isInside (const Box< T > &box) const
 
bool isInside (T x, T y, T z) const
 
void read (const Json &in)
 
Jsonwrite (Json &out) const
 

Private Member Functions

void validate ()
 

Private Attributes

min_ [3]
 
max_ [3]
 
bool empty_
 

Constructor & Destructor Documentation

◆ Box() [1/5]

template<class T >
Box< T >::Box
inline

◆ ~Box()

template<class T >
Box< T >::~Box
inline

◆ Box() [2/5]

template<class T >
template<class B >
Box< T >::Box ( const Box< B > &  box)
inline

◆ Box() [3/5]

template<class T >
template<class B >
Box< T >::Box ( x1,
y1,
z1,
x2,
y2,
z2 
)
inline

◆ Box() [4/5]

template<class T >
template<class B >
Box< T >::Box ( cx,
cy,
cz,
r 
)
inline

◆ Box() [5/5]

template<class T >
template<class B >
Box< T >::Box ( const Vector3< B > &  min,
const Vector3< B > &  max 
)
inline

Member Function Documentation

◆ clear()

◆ distance()

template<class T >
T Box< T >::distance ( x,
y,
z 
) const
inline

Referenced by Query::applyCamera().

◆ empty()

template<class T >
bool Box< T >::empty ( ) const
inline

◆ extend() [1/2]

template<class T >
void Box< T >::extend ( const Box< T > &  box)
inline

◆ extend() [2/2]

template<class T >
void Box< T >::extend ( x,
y,
z 
)
inline

◆ getCenter() [1/2]

template<class T >
Vector3< T > Box< T >::getCenter
inline

◆ getCenter() [2/2]

◆ intersects()

template<class T >
bool Box< T >::intersects ( const Box< T > &  box) const
inline

◆ isInside() [1/2]

template<class T >
bool Box< T >::isInside ( const Box< T > &  box) const
inline

◆ isInside() [2/2]

template<class T >
bool Box< T >::isInside ( x,
y,
z 
) const
inline

◆ length()

template<class T >
T Box< T >::length ( size_t  idx) const
inline

◆ max()

◆ maximumLength()

template<class T >
T Box< T >::maximumLength
inline

◆ min()

◆ radius()

template<class T >
T Box< T >::radius
inline

◆ read()

template<class T >
void Box< T >::read ( const Json in)
inline

Referenced by Region::read().

◆ set() [1/5]

template<class T >
void Box< T >::set ( const Box< T > &  box)
inline

◆ set() [2/5]

template<class T >
void Box< T >::set ( const std::vector< T > &  xyz)
inline

◆ set() [3/5]

template<class T >
void Box< T >::set ( const Vector3< T > &  min,
const Vector3< T > &  max 
)
inline

◆ set() [4/5]

template<class T >
void Box< T >::set ( cx,
cy,
cz,
r 
)
inline

◆ set() [5/5]

◆ setPercent()

template<class T >
void Box< T >::setPercent ( const Box< T > &  box,
const Box< T > &  a,
const Box< T > &  b 
)
inline

◆ translate()

template<class T >
void Box< T >::translate ( const Vector3< T > &  v)
inline

◆ validate()

template<class T >
void Box< T >::validate
inlineprivate

◆ write()

template<class T >
Json & Box< T >::write ( Json out) const
inline

Referenced by Region::write().

Member Data Documentation

◆ empty_

template<class T >
bool Box< T >::empty_
private

Referenced by Box< T >::empty().

◆ max_

◆ min_


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