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

#include <piecewise.hpp>

Inheritance diagram for eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >:
Collaboration diagram for eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >:

Public Types

enum  error_code {
  NO_ERRORS =0, INVALID_INDEX =1, INDEX_NOT_FOUND =2, INVALID_PARAM =50,
  INVALID_PARAM_DIFFERENCE =51, SEGMENT_NOT_CONNECTED =100, UNKNOWN_ERROR =999
}
 
typedef curve__< data__, dim__, tol__ > curve_type
 
typedef curve_type::index_type index_type
 
typedef curve_type::point_type point_type
 
typedef curve_type::control_point_type control_point_type
 
typedef curve_type::rotation_matrix_type rotation_matrix_type
 
typedef curve_type::bounding_box_type bounding_box_type
 
typedef data__ data_type
 
typedef unsigned short dimension_type
 
typedef tol__ tolerance_type
 

Public Member Functions

 piecewise ()
 
 piecewise (const piecewise< curve__, data_type, dim__, tol__ > &p)
 
 ~piecewise ()
 
bool operator== (const piecewise< curve__, data_type, dim__ > &p) const
 
piecewiseoperator= (const piecewise< curve__, data_type, dim__ > &p)
 
bool operator!= (const piecewise< curve__, data_type, dim__ > &p) const
 
data_type get_tmax () const
 
data_type get_t0 () const
 
void set_t0 (const data_type &t0_in)
 
data_type get_parameter_min () const
 
data_type get_parameter_max () const
 
template<typename it__ >
void get_parameters (it__ itt) const
 
void parameter_report () const
 
void get_pmap (std::vector< data_type > &pmap)
 
index_type number_segments () const
 
void degree (index_type &mind, index_type &maxd) const
 
template<typename it__ >
void degrees (it__ itd)
 
void get_bounding_box (bounding_box_type &bb) const
 
void rotate (const rotation_matrix_type &rmat)
 
void rotate (const rotation_matrix_type &rmat, const point_type &rorig)
 
void translate (const point_type &trans)
 
bool closed () const
 
bool open () const
 
void reverse ()
 
void reflect_xy ()
 
void reflect_xz ()
 
void reflect_yz ()
 
void reflect (const point_type &normal)
 
void reflect (const point_type &normal, const data_type &d)
 
void clear ()
 
template<typename it__ >
error_code set (it__ itb, it__ ite)
 
template<typename it__ , typename itd__ >
error_code set (it__ itb, it__ ite, itd__ itd)
 
error_code push_front (const curve_type &curve, const data_type &dt=1.0)
 
error_code push_front (const piecewise< curve__, data_type, dim__, tol__ > &p)
 
error_code push_back (const curve_type &curve, const data_type &dt=1.0)
 
error_code push_back (const piecewise< curve__, data_type, dim__, tol__ > &p)
 
error_code get (curve_type &curve, const index_type &index) const
 
error_code degree_promote ()
 
error_code degree_promote (const index_type &index)
 
error_code degree_promote_to (const index_type &deg)
 
error_code degree_promote_to (const index_type &index, const index_type &deg)
 
error_code get (curve_type &curve, data_type &dt, const index_type &index) const
 
error_code replace (const curve_type &curve, const index_type &index)
 
error_code replace (const curve_type &curve, const index_type &index0, const index_type &index1)
 
error_code replace (const piecewise< curve__, data_type, dim__ > &p, const index_type &index)
 
error_code replace (const piecewise< curve__, data_type, dim__ > &p, const index_type &index0, const index_type &index1)
 
error_code split (const data_type &t)
 
error_code split (piecewise< curve__, data_type, dim__ > &before, piecewise< curve__, data_type, dim__ > &after, const data_type &tsplit) const
 
void to_cubic (const data_type &ttol)
 
void round (const data_type &rad)
 
bool round (const data_type &rad, const index_type &joint)
 
bool continuous (eli::geom::general::continuity cont, const data_type &t) const
 
eli::geom::general::continuity continuity (const data_type &t) const
 
bool smooth (const data_type &angle_tol, const data_type &t) const
 
void find_discontinuities (eli::geom::general::continuity cont, std::vector< data_type > &tdisc) const
 
void find_discontinuities (const data_type &angle_tol, std::vector< data_type > &tdisc) const
 
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 tanget (const data_type &t) const
 
void frenet_serret_frame (point_type &t, point_type &n, point_type &b, const data_type &t0)
 

Static Public Member Functions

static dimension_type dimension ()
 

Private Types

typedef std::map< data_type, curve_typesegment_collection_type
 

Private Member Functions

template<typename it__ >
error_code split_seg (it__ it, const data_type &tt)
 
template<typename it__ >
error_code split_seg (it__ it, it__ &itinsert, const data_type &tt)
 
template<typename it__ >
void segment_to_cubic (it__ it, const data_type &ttol)
 
bool check_continuity (const eli::geom::general::continuity &cont) const
 
data_type get_delta_t (const typename segment_collection_type::iterator &it) const
 
data_type get_delta_t (const typename segment_collection_type::const_iterator &it) const
 
data_type get_delta_t (const typename segment_collection_type::reverse_iterator &it) const
 
data_type get_delta_t (const typename segment_collection_type::const_reverse_iterator &it) const
 
void find_segment (typename segment_collection_type::const_iterator &it, const index_type &index) const
 
void find_segment (typename segment_collection_type::iterator &it, const index_type &index)
 
void find_segment (typename segment_collection_type::const_iterator &it, data_type &tt, const data_type &t_in) const
 
void find_segment (typename segment_collection_type::iterator &it, data_type &tt, const data_type &t_in)
 

Private Attributes

segment_collection_type segments
 
data_type tmax
 
tolerance_type tol
 

Friends

template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
void length (typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &len, const piecewise< curve1__, data1__, dim1__, tol1__ > &pc, const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &tol)
 
template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
void length (typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &len, const piecewise< curve1__, data1__, dim1__, tol1__ > &pc, const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &t0, const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &t1, const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &tol)
 
template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
piecewise< curve1__, data1__, dim1__, tol1__ >::data_type eli::geom::intersect::minimum_distance (typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &t, const piecewise< curve1__, data1__, dim1__, tol1__ > &pc, const typename piecewise< curve1__, data1__, dim1__, tol1__ >::point_type &pt)
 

Member Typedef Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::bounding_box_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::bounding_box_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::control_point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::control_point_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve__<data__, dim__, tol__> eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::curve_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef data__ eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::data_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef unsigned short eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::dimension_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::index_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::index_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::point_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef curve_type::rotation_matrix_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::rotation_matrix_type
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef std::map<data_type, curve_type> eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::segment_collection_type
private
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
typedef tol__ eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::tolerance_type

Member Enumeration Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
enum eli::geom::curve::piecewise::error_code
Enumerator
NO_ERRORS 
INVALID_INDEX 
INDEX_NOT_FOUND 
INVALID_PARAM 
INVALID_PARAM_DIFFERENCE 
SEGMENT_NOT_CONNECTED 
UNKNOWN_ERROR 

Constructor & Destructor Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::piecewise ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::piecewise ( const piecewise< curve__, data_type, dim__, tol__ > &  p)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::~piecewise ( )
inline

Member Function Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::check_continuity ( const eli::geom::general::continuity cont) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::clear ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::closed ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
eli::geom::general::continuity eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::continuity ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::continuous ( eli::geom::general::continuity  cont,
const data_type t 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degree ( index_type mind,
index_type maxd 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degree_promote ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degree_promote ( const index_type index)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degree_promote_to ( const index_type deg)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degree_promote_to ( const index_type index,
const index_type deg 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::degrees ( it__  itd)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
static dimension_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::dimension ( )
inlinestatic
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::f ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_discontinuities ( eli::geom::general::continuity  cont,
std::vector< data_type > &  tdisc 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_discontinuities ( const data_type angle_tol,
std::vector< data_type > &  tdisc 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_segment ( typename segment_collection_type::const_iterator &  it,
const index_type index 
) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_segment ( typename segment_collection_type::iterator &  it,
const index_type index 
)
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_segment ( typename segment_collection_type::const_iterator &  it,
data_type tt,
const data_type t_in 
) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::find_segment ( typename segment_collection_type::iterator &  it,
data_type tt,
const data_type t_in 
)
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::fp ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::fpp ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::fppp ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::frenet_serret_frame ( point_type t,
point_type n,
point_type b,
const data_type t0 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get ( curve_type curve,
const index_type index 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get ( curve_type curve,
data_type dt,
const index_type index 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_bounding_box ( bounding_box_type bb) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_delta_t ( const typename segment_collection_type::iterator &  it) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_delta_t ( const typename segment_collection_type::const_iterator &  it) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_delta_t ( const typename segment_collection_type::reverse_iterator &  it) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_delta_t ( const typename segment_collection_type::const_reverse_iterator &  it) const
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_parameter_max ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_parameter_min ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_parameters ( it__  itt) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_pmap ( std::vector< data_type > &  pmap)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_t0 ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::get_tmax ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
index_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::number_segments ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::open ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::operator!= ( const piecewise< curve__, data_type, dim__ > &  p) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
piecewise& eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::operator= ( const piecewise< curve__, data_type, dim__ > &  p)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::operator== ( const piecewise< curve__, data_type, dim__ > &  p) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::parameter_report ( ) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::push_back ( const curve_type curve,
const data_type dt = 1.0 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::push_back ( const piecewise< curve__, data_type, dim__, tol__ > &  p)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::push_front ( const curve_type curve,
const data_type dt = 1.0 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::push_front ( const piecewise< curve__, data_type, dim__, tol__ > &  p)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reflect ( const point_type normal)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reflect ( const point_type normal,
const data_type d 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reflect_xy ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reflect_xz ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reflect_yz ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::replace ( const curve_type curve,
const index_type index 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::replace ( const curve_type curve,
const index_type index0,
const index_type index1 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::replace ( const piecewise< curve__, data_type, dim__ > &  p,
const index_type index 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::replace ( const piecewise< curve__, data_type, dim__ > &  p,
const index_type index0,
const index_type index1 
)
inline

index0 - start index of segments to replace index1 - index of the first segment after the ones to be replaced

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::reverse ( )
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::rotate ( const rotation_matrix_type rmat)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::rotate ( const rotation_matrix_type rmat,
const point_type rorig 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::round ( const data_type rad)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::round ( const data_type rad,
const index_type joint 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::segment_to_cubic ( it__  it,
const data_type ttol 
)
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::set ( it__  itb,
it__  ite 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ , typename itd__ >
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::set ( it__  itb,
it__  ite,
itd__  itd 
)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::set_t0 ( const data_type t0_in)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
bool eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::smooth ( const data_type angle_tol,
const data_type t 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::split ( const data_type t)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::split ( piecewise< curve__, data_type, dim__ > &  before,
piecewise< curve__, data_type, dim__ > &  after,
const data_type tsplit 
) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::split_seg ( it__  it,
const data_type tt 
)
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<typename it__ >
error_code eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::split_seg ( it__  it,
it__ &  itinsert,
const data_type tt 
)
inlineprivate
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
point_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::tanget ( const data_type t) const
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::to_cubic ( const data_type ttol)
inline
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
void eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::translate ( const point_type trans)
inline

Friends And Related Function Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
piecewise<curve1__, data1__, dim1__, tol1__>::data_type eli::geom::intersect::minimum_distance ( typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type t,
const piecewise< curve1__, data1__, dim1__, tol1__ > &  pc,
const typename piecewise< curve1__, data1__, dim1__, tol1__ >::point_type pt 
)
friend
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
void length ( typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type len,
const piecewise< curve1__, data1__, dim1__, tol1__ > &  pc,
const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type tol 
)
friend
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
template<template< typename, unsigned short, typename > class curve1__, typename data1__ , unsigned short dim1__, typename tol1__ >
void length ( typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type len,
const piecewise< curve1__, data1__, dim1__, tol1__ > &  pc,
const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type t0,
const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type t1,
const typename piecewise< curve1__, data1__, dim1__, tol1__ >::data_type tol 
)
friend

Member Data Documentation

template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
segment_collection_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::segments
private
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
data_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::tmax
private
template<template< typename, unsigned short, typename > class curve__, typename data__, unsigned short dim__, typename tol__ = eli::util::tolerance<data__>>
tolerance_type eli::geom::curve::piecewise< curve__, data__, dim__, tol__ >::tol
private

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