Simox  2.3.74.0
simox::XYConstrainedOrientedBox< FloatT > Class Template Reference
Inheritance diagram for simox::XYConstrainedOrientedBox< FloatT >:
simox::OrientedBoxBase< FloatT >

Public Types

template<class T >
using vector2_casted = typename base::template vector2_casted< T >
 
template<class T >
using vector_casted = typename base::template vector_casted< T >
 
template<class T >
using transform_casted = typename base::template transform_casted< T >
 
template<class T >
using rotation_casted = typename base::template rotation_casted< T >
 
using float_t = FloatT
 
using vector2_t = typename base::vector2_t
 
using vector_t = typename base::vector_t
 
using transform_t = typename base::transform_t
 
using rotation_t = typename base::rotation_t
 
- Public Types inherited from simox::OrientedBoxBase< FloatT >
template<class T >
using vector2_casted = Eigen::Matrix< T, 2, 1 >
 
template<class T >
using vector_casted = Eigen::Matrix< T, 3, 1 >
 
template<class T >
using transform_casted = Eigen::Matrix< T, 4, 4 >
 
template<class T >
using rotation_casted = Eigen::Matrix< T, 3, 3 >
 
using float_t = FloatT
 
using vector2_t = vector2_casted< float_t >
 
using vector_t = vector_casted< float_t >
 
using transform_t = transform_casted< float_t >
 
using rotation_t = rotation_casted< float_t >
 

Public Member Functions

 XYConstrainedOrientedBox (XYConstrainedOrientedBox &&)=default
 
 XYConstrainedOrientedBox (const XYConstrainedOrientedBox &)=default
 
XYConstrainedOrientedBoxoperator= (XYConstrainedOrientedBox &&)=default
 
XYConstrainedOrientedBoxoperator= (const XYConstrainedOrientedBox &)=default
 
 XYConstrainedOrientedBox (const vector_t &corner={0, 0, 0}, const float_t yaw=0, const vector_t &dimensions={0, 0, 0})
 
 XYConstrainedOrientedBox (const vector_t &corner, const vector2_t &extend0, const vector2_t &extend1, const float_t height)
 
float_t yaw () const
 
template<class T >
yaw () const
 
template<class T >
XYConstrainedOrientedBox< T > cast () const
 
- Public Member Functions inherited from simox::OrientedBoxBase< FloatT >
 OrientedBoxBase (const transform_t &t, const vector_t &d)
 
 OrientedBoxBase ()=default
 
 OrientedBoxBase (OrientedBoxBase &&)=default
 
 OrientedBoxBase (const OrientedBoxBase &)=default
 
OrientedBoxBaseoperator= (OrientedBoxBase &&)=default
 
OrientedBoxBaseoperator= (const OrientedBoxBase &)=default
 
const vector_tdimensions () const
 
template<class T >
vector_casted< T > dimensions () const
 
float_t dimension (int i) const
 
template<class T >
dimension (int i) const
 
float_t dimension_x () const
 
template<class T >
dimension_x () const
 
float_t dimension_y () const
 
template<class T >
dimension_y () const
 
float_t dimension_z () const
 
template<class T >
dimension_z () const
 
const transform_ttransformation () const
 
template<class T >
transform_casted< T > transformation () const
 
transform_t transformation_centered () const
 
template<class T >
transform_casted< T > transformation_centered () const
 
auto translation () const
 
template<class T >
vector_casted< T > translation () const
 
auto rotation () const
 
template<class T >
rotation_casted< T > rotation () const
 
auto axis (int i) const
 
template<class T >
vector_casted< T > axis (int i) const
 
auto axis_x () const
 
template<class T >
vector_casted< T > axis_x () const
 
auto axis_y () const
 
template<class T >
vector_casted< T > axis_y () const
 
auto axis_z () const
 
template<class T >
vector_casted< T > axis_z () const
 
vector_t extend (int i) const
 
template<class T >
vector_casted< T > extend (int i) const
 
float_t volume () const
 
void scale (const vector_t &factors)
 
void scale (float_t factor)
 
void scale_centered (float_t factor)
 
vector_t from_box_frame (const vector_t &p) const
 
template<class T >
vector_casted< T > from_box_frame (const vector_t &p) const
 
vector_t to_box_frame (const vector_t &p) const
 
template<class T >
vector_casted< T > to_box_frame (const vector_t &p) const
 
bool contains (const vector_t &p)
 
bool contains_by (const vector_t &p, float_t thresh=0)
 
template<class T , class... Other>
std::vector< Eigen::Matrix< T, 3, 1 >, Other... > contained_points (const std::vector< Eigen::Matrix< T, 3, 1 >, Other... > &ps)
 
vector_t center () const
 
template<class T >
vector_casted< T > center () const
 
vector_t corner_min () const
 
template<class T >
vector_casted< T > corner_min () const
 
vector_t corner_max () const
 
template<class T >
vector_casted< T > corner_max () const
 
vector_t corner (std::uint8_t c) const
 
template<class T >
vector_casted< T > corner (std::uint8_t c) const
 

Additional Inherited Members

- Static Public Attributes inherited from simox::OrientedBoxBase< FloatT >
static constexpr float_t eps = static_cast<float_t>(1e8)
 
static constexpr float_t pi = static_cast<float_t>(M_PI)
 
- Static Protected Member Functions inherited from simox::OrientedBoxBase< FloatT >
static auto translation (transform_t &t)
 
static auto translation (const transform_t &t)
 
static auto rotation (transform_t &t)
 
static auto rotation (const transform_t &t)
 
static transform_t transformation_identity ()
 
static transform_t transformation (const rotation_t &rot, const vector_t &trans)
 
- Protected Attributes inherited from simox::OrientedBoxBase< FloatT >
transform_t _t {transform_t::Identity()}
 
vector_t _d {vector_t::Zero()}
 

Member Typedef Documentation

◆ float_t

template<class FloatT >
using simox::XYConstrainedOrientedBox< FloatT >::float_t = FloatT

◆ rotation_casted

template<class FloatT >
template<class T >
using simox::XYConstrainedOrientedBox< FloatT >::rotation_casted = typename base::template rotation_casted<T>

◆ rotation_t

template<class FloatT >
using simox::XYConstrainedOrientedBox< FloatT >::rotation_t = typename base::rotation_t

◆ transform_casted

template<class FloatT >
template<class T >
using simox::XYConstrainedOrientedBox< FloatT >::transform_casted = typename base::template transform_casted<T>

◆ transform_t

template<class FloatT >
using simox::XYConstrainedOrientedBox< FloatT >::transform_t = typename base::transform_t

◆ vector2_casted

template<class FloatT >
template<class T >
using simox::XYConstrainedOrientedBox< FloatT >::vector2_casted = typename base::template vector2_casted<T>

◆ vector2_t

template<class FloatT >
using simox::XYConstrainedOrientedBox< FloatT >::vector2_t = typename base::vector2_t

◆ vector_casted

template<class FloatT >
template<class T >
using simox::XYConstrainedOrientedBox< FloatT >::vector_casted = typename base::template vector_casted<T>

◆ vector_t

template<class FloatT >
using simox::XYConstrainedOrientedBox< FloatT >::vector_t = typename base::vector_t

Constructor & Destructor Documentation

◆ XYConstrainedOrientedBox() [1/4]

template<class FloatT >
simox::XYConstrainedOrientedBox< FloatT >::XYConstrainedOrientedBox ( XYConstrainedOrientedBox< FloatT > &&  )
default

◆ XYConstrainedOrientedBox() [2/4]

template<class FloatT >
simox::XYConstrainedOrientedBox< FloatT >::XYConstrainedOrientedBox ( const XYConstrainedOrientedBox< FloatT > &  )
default

◆ XYConstrainedOrientedBox() [3/4]

template<class FloatT >
simox::XYConstrainedOrientedBox< FloatT >::XYConstrainedOrientedBox ( const vector_t corner = {0, 0, 0},
const float_t  yaw = 0,
const vector_t dimensions = {0, 0, 0} 
)
inline

◆ XYConstrainedOrientedBox() [4/4]

template<class FloatT >
simox::XYConstrainedOrientedBox< FloatT >::XYConstrainedOrientedBox ( const vector_t corner,
const vector2_t extend0,
const vector2_t extend1,
const float_t  height 
)
inline

Member Function Documentation

◆ cast()

template<class FloatT >
template<class T >
XYConstrainedOrientedBox<T> simox::XYConstrainedOrientedBox< FloatT >::cast ( ) const
inline

◆ operator=() [1/2]

template<class FloatT >
XYConstrainedOrientedBox& simox::XYConstrainedOrientedBox< FloatT >::operator= ( XYConstrainedOrientedBox< FloatT > &&  )
default

◆ operator=() [2/2]

template<class FloatT >
XYConstrainedOrientedBox& simox::XYConstrainedOrientedBox< FloatT >::operator= ( const XYConstrainedOrientedBox< FloatT > &  )
default

◆ yaw() [1/2]

template<class FloatT >
float_t simox::XYConstrainedOrientedBox< FloatT >::yaw ( ) const
inline

◆ yaw() [2/2]

template<class FloatT >
template<class T >
T simox::XYConstrainedOrientedBox< FloatT >::yaw ( ) const
inline