Code-Eli  0.3.6
eli::geom::curve::explicit_bezier< data__, tol__ > Class Template Reference

#include <explicit_bezier.hpp>

Collaboration diagram for eli::geom::curve::explicit_bezier< data__, tol__ >:

Public Types

typedef curve_type::dimension_type dimension_type
 
typedef curve_type::data_type data_type
 
typedef Eigen::Matrix< data_type, 1, 2 > point_type
 
typedef curve_type::point_type control_point_type
 
typedef curve_type::index_type index_type
 
typedef geom::curve::fit_container< data_type, index_type, 2, 1 > fit_container_type
 
typedef curve_type::tolerance_type tolerance_type
 

Public Member Functions

 explicit_bezier ()
 
 explicit_bezier (const index_type &n)
 
 explicit_bezier (const explicit_bezier< data_type, tolerance_type > &eb)
 
 ~explicit_bezier ()
 
bool operator== (const explicit_bezier< data_type, tolerance_type > &eb) const
 
bool operator!= (const explicit_bezier< data_type, tolerance_type > &eb) const
 
void resize (const index_type &t_dim)
 
bool open () const
 
bool closed () const
 
index_type degree () const
 
void set_control_point (const control_point_type &cp_in, const index_type &i)
 
control_point_type get_control_point (const index_type &i) const
 
void reverse ()
 
point_type f (const data_type &t) const
 
point_type fp (const data_type &t) const
 
point_type fpp (const data_type &t) const
 
point_type fppp (const data_type &t) const
 
point_type tangent (const data_type &t) const
 
void frenet_serret_frame (point_type &t, point_type &n, point_type &b, const data_type &t0)
 
void degree_promote ()
 
bool degree_demote (const geom::general::continuity &continuity_degree=geom::general::C0)
 
data_type fit (const fit_container_type &fcon, const index_type &deg_in)
 
data_type fit (std::vector< data_type > &t, const fit_container_type &fcon, const index_type &deg_in)
 
void interpolate (const fit_container_type &fcon)
 
void interpolate (std::vector< data_type > &t, const fit_container_type &fcon)
 

Static Public Member Functions

static dimension_type dimension ()
 

Private Types

typedef bezier< data__, 1, tol__ > curve_type
 
typedef Eigen::Matrix< data_type, Eigen::Dynamic, 1 > row_pts_type
 
typedef Eigen::Matrix< data_type, Eigen::Dynamic, 1 > col_type
 
typedef Eigen::Matrix< data_type, Eigen::Dynamic, Eigen::Dynamic > mat_type
 

Private Attributes

curve_type y_curve
 

Member Typedef Documentation

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef Eigen::Matrix<data_type, Eigen::Dynamic, 1> eli::geom::curve::explicit_bezier< data__, tol__ >::col_type
private
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::point_type eli::geom::curve::explicit_bezier< data__, tol__ >::control_point_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef bezier<data__, 1, tol__> eli::geom::curve::explicit_bezier< data__, tol__ >::curve_type
private
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::data_type eli::geom::curve::explicit_bezier< data__, tol__ >::data_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::dimension_type eli::geom::curve::explicit_bezier< data__, tol__ >::dimension_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef geom::curve::fit_container<data_type, index_type, 2, 1> eli::geom::curve::explicit_bezier< data__, tol__ >::fit_container_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::index_type eli::geom::curve::explicit_bezier< data__, tol__ >::index_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef Eigen::Matrix<data_type, Eigen::Dynamic, Eigen::Dynamic> eli::geom::curve::explicit_bezier< data__, tol__ >::mat_type
private
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef Eigen::Matrix<data_type, 1, 2> eli::geom::curve::explicit_bezier< data__, tol__ >::point_type
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef Eigen::Matrix<data_type, Eigen::Dynamic, 1> eli::geom::curve::explicit_bezier< data__, tol__ >::row_pts_type
private
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::tolerance_type eli::geom::curve::explicit_bezier< data__, tol__ >::tolerance_type

Constructor & Destructor Documentation

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::explicit_bezier< data__, tol__ >::explicit_bezier ( )
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::explicit_bezier< data__, tol__ >::explicit_bezier ( const index_type n)
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::explicit_bezier< data__, tol__ >::explicit_bezier ( const explicit_bezier< data_type, tolerance_type > &  eb)
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::explicit_bezier< data__, tol__ >::~explicit_bezier ( )
inline

Member Function Documentation

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::explicit_bezier< data__, tol__ >::closed ( ) const
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
index_type eli::geom::curve::explicit_bezier< data__, tol__ >::degree ( ) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::explicit_bezier< data__, tol__ >::degree_demote ( const geom::general::continuity continuity_degree = geom::general::C0)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::degree_promote ( )
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
static dimension_type eli::geom::curve::explicit_bezier< data__, tol__ >::dimension ( )
inlinestatic
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::explicit_bezier< data__, tol__ >::f ( const data_type t) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::explicit_bezier< data__, tol__ >::fit ( const fit_container_type fcon,
const index_type deg_in 
)
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::explicit_bezier< data__, tol__ >::fit ( std::vector< data_type > &  t,
const fit_container_type fcon,
const index_type deg_in 
)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::explicit_bezier< data__, tol__ >::fp ( const data_type t) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::explicit_bezier< data__, tol__ >::fpp ( const data_type t) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::explicit_bezier< data__, tol__ >::fppp ( const data_type t) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::frenet_serret_frame ( point_type t,
point_type n,
point_type b,
const data_type t0 
)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
control_point_type eli::geom::curve::explicit_bezier< data__, tol__ >::get_control_point ( const index_type i) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::interpolate ( const fit_container_type fcon)
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::interpolate ( std::vector< data_type > &  t,
const fit_container_type fcon 
)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::explicit_bezier< data__, tol__ >::open ( ) const
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::explicit_bezier< data__, tol__ >::operator!= ( const explicit_bezier< data_type, tolerance_type > &  eb) const
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::explicit_bezier< data__, tol__ >::operator== ( const explicit_bezier< data_type, tolerance_type > &  eb) const
inline
template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::resize ( const index_type t_dim)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::reverse ( )
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::explicit_bezier< data__, tol__ >::set_control_point ( const control_point_type cp_in,
const index_type i 
)
inline

Here is the call graph for this function:

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::explicit_bezier< data__, tol__ >::tangent ( const data_type t) const
inline

Here is the call graph for this function:

Member Data Documentation

template<typename data__, typename tol__ = eli::util::tolerance<data__>>
curve_type eli::geom::curve::explicit_bezier< data__, tol__ >::y_curve
private

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