Simox  2.3.74.0
simox::OrientedEllipsisBase< FloatT > Class Template Reference

Public Types

template<class T >
using vector2_casted = Eigen::Matrix< T, 2, 1 >
 
template<class T >
using transform3x3_casted = Eigen::Matrix< T, 3, 3 >
 
template<class T >
using rotation2x2_casted = Eigen::Matrix< T, 2, 2 >
 
using float_t = FloatT
 
using vector2_t = vector2_casted< float_t >
 
using transform3x3_t = transform3x3_casted< float_t >
 
using rotation2x2_t = rotation2x2_casted< float_t >
 

Public Member Functions

 OrientedEllipsisBase (const transform3x3_t &t, const vector2_t &d)
 
 OrientedEllipsisBase ()=default
 
 OrientedEllipsisBase (OrientedEllipsisBase &&)=default
 
 OrientedEllipsisBase (const OrientedEllipsisBase &)=default
 
OrientedEllipsisBaseoperator= (OrientedEllipsisBase &&)=default
 
OrientedEllipsisBaseoperator= (const OrientedEllipsisBase &)=default
 
float_t radius_x () const
 
template<class T >
radius_x () const
 
float_t radius_y () const
 
template<class T >
radius_y () const
 
const vector2_ttransformation () const
 
template<class T >
vector2_casted< T > transformation () const
 
vector2_t center () const
 
template<class T >
vector2_casted< T > center () const
 
auto translation () const
 
template<class T >
vector2_casted< T > translation () const
 
auto rotation () const
 
template<class T >
rotation2x2_casted< T > rotation () const
 
float_t area () const
 
void scale (float_t factor)
 
void scale_x (float_t factor)
 
void scale_y (float_t factor)
 

Static Public Attributes

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

static auto translation (transform3x3_t &t)
 
static auto translation (const transform3x3_t &t)
 
static auto rotation (transform3x3_t &t)
 
static auto rotation (const transform3x3_t &t)
 
static transform3x3_t transformation_identity ()
 
static transform3x3_t transformation (const rotation2x2_t &rot, const vector2_t &trans)
 

Protected Attributes

transform3x3_t _t {transform3x3_t::Identity()}
 
vector2_t _d {vector2_t::Zero()}
 

Member Typedef Documentation

◆ float_t

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

◆ rotation2x2_casted

template<class FloatT >
template<class T >
using simox::OrientedEllipsisBase< FloatT >::rotation2x2_casted = Eigen::Matrix<T, 2, 2>

◆ rotation2x2_t

template<class FloatT >
using simox::OrientedEllipsisBase< FloatT >::rotation2x2_t = rotation2x2_casted<float_t>

◆ transform3x3_casted

template<class FloatT >
template<class T >
using simox::OrientedEllipsisBase< FloatT >::transform3x3_casted = Eigen::Matrix<T, 3, 3>

◆ transform3x3_t

template<class FloatT >
using simox::OrientedEllipsisBase< FloatT >::transform3x3_t = transform3x3_casted<float_t>

◆ vector2_casted

template<class FloatT >
template<class T >
using simox::OrientedEllipsisBase< FloatT >::vector2_casted = Eigen::Matrix<T, 2, 1>

◆ vector2_t

template<class FloatT >
using simox::OrientedEllipsisBase< FloatT >::vector2_t = vector2_casted<float_t>

Constructor & Destructor Documentation

◆ OrientedEllipsisBase() [1/4]

template<class FloatT >
simox::OrientedEllipsisBase< FloatT >::OrientedEllipsisBase ( const transform3x3_t t,
const vector2_t d 
)
inline

◆ OrientedEllipsisBase() [2/4]

template<class FloatT >
simox::OrientedEllipsisBase< FloatT >::OrientedEllipsisBase ( )
default

◆ OrientedEllipsisBase() [3/4]

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

◆ OrientedEllipsisBase() [4/4]

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

Member Function Documentation

◆ area()

template<class FloatT >
float_t simox::OrientedEllipsisBase< FloatT >::area ( ) const
inline

◆ center() [1/2]

template<class FloatT >
vector2_t simox::OrientedEllipsisBase< FloatT >::center ( ) const
inline

◆ center() [2/2]

template<class FloatT >
template<class T >
vector2_casted<T> simox::OrientedEllipsisBase< FloatT >::center ( ) const
inline

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ radius_x() [1/2]

template<class FloatT >
float_t simox::OrientedEllipsisBase< FloatT >::radius_x ( ) const
inline

◆ radius_x() [2/2]

template<class FloatT >
template<class T >
T simox::OrientedEllipsisBase< FloatT >::radius_x ( ) const
inline

◆ radius_y() [1/2]

template<class FloatT >
float_t simox::OrientedEllipsisBase< FloatT >::radius_y ( ) const
inline

◆ radius_y() [2/2]

template<class FloatT >
template<class T >
T simox::OrientedEllipsisBase< FloatT >::radius_y ( ) const
inline

◆ rotation() [1/4]

template<class FloatT >
static auto simox::OrientedEllipsisBase< FloatT >::rotation ( transform3x3_t t)
inlinestaticprotected

◆ rotation() [2/4]

template<class FloatT >
static auto simox::OrientedEllipsisBase< FloatT >::rotation ( const transform3x3_t t)
inlinestaticprotected

◆ rotation() [3/4]

template<class FloatT >
auto simox::OrientedEllipsisBase< FloatT >::rotation ( ) const
inline

◆ rotation() [4/4]

template<class FloatT >
template<class T >
rotation2x2_casted<T> simox::OrientedEllipsisBase< FloatT >::rotation ( ) const
inline

◆ scale()

template<class FloatT >
void simox::OrientedEllipsisBase< FloatT >::scale ( float_t  factor)
inline

◆ scale_x()

template<class FloatT >
void simox::OrientedEllipsisBase< FloatT >::scale_x ( float_t  factor)
inline

◆ scale_y()

template<class FloatT >
void simox::OrientedEllipsisBase< FloatT >::scale_y ( float_t  factor)
inline

◆ transformation() [1/3]

template<class FloatT >
static transform3x3_t simox::OrientedEllipsisBase< FloatT >::transformation ( const rotation2x2_t rot,
const vector2_t trans 
)
inlinestaticprotected

◆ transformation() [2/3]

template<class FloatT >
const vector2_t& simox::OrientedEllipsisBase< FloatT >::transformation ( ) const
inline

◆ transformation() [3/3]

template<class FloatT >
template<class T >
vector2_casted<T> simox::OrientedEllipsisBase< FloatT >::transformation ( ) const
inline

◆ transformation_identity()

template<class FloatT >
static transform3x3_t simox::OrientedEllipsisBase< FloatT >::transformation_identity ( )
inlinestaticprotected

◆ translation() [1/4]

template<class FloatT >
static auto simox::OrientedEllipsisBase< FloatT >::translation ( transform3x3_t t)
inlinestaticprotected

◆ translation() [2/4]

template<class FloatT >
static auto simox::OrientedEllipsisBase< FloatT >::translation ( const transform3x3_t t)
inlinestaticprotected

◆ translation() [3/4]

template<class FloatT >
auto simox::OrientedEllipsisBase< FloatT >::translation ( ) const
inline

◆ translation() [4/4]

template<class FloatT >
template<class T >
vector2_casted<T> simox::OrientedEllipsisBase< FloatT >::translation ( ) const
inline

Field Documentation

◆ _d

template<class FloatT >
vector2_t simox::OrientedEllipsisBase< FloatT >::_d {vector2_t::Zero()}
protected

◆ _t

template<class FloatT >
transform3x3_t simox::OrientedEllipsisBase< FloatT >::_t {transform3x3_t::Identity()}
protected

◆ eps

template<class FloatT >
constexpr float_t simox::OrientedEllipsisBase< FloatT >::eps = static_cast<float_t>(1e8)
static

◆ pi

template<class FloatT >
constexpr float_t simox::OrientedEllipsisBase< FloatT >::pi = static_cast<float_t>(M_PI)
static