bezier< V, T > Class Template Reference

#include <_bezier.h>

Inheritance diagram for bezier< V, T >:

bezier_base< V, T > hermite< V, T > List of all members.

Public Types

typedef V value_type
typedef T time_type
typedef float distance_type
typedef bezier_iterator< V,
T > 
iterator
typedef bezier_iterator< V,
T > 
const_iterator

Public Member Functions

 bezier ()
 bezier (const value_type &a, const value_type &b, const value_type &c, const value_type &d)
const_iterator begin () const
const_iterator end () const
time_type find_closest (const value_type &x, int i=7, time_type r=(0), time_type s=(1)) const
distance_type find_distance (time_type r, time_type s, int steps=7) const
distance_type length () const
void subdivide (bezier *left, bezier *right, const time_type &time=(time_type) 0.5) const
void evaluate (time_type t, value_type &f, value_type &df) const

Public Attributes

distance_func< value_typedist

Detailed Description

template<typename V, typename T = float>
class bezier< V, T >

Definition at line 501 of file _bezier.h.


Member Typedef Documentation

template<typename V, typename T = float>
typedef V bezier< V, T >::value_type

Reimplemented from bezier_base< V, T >.

Reimplemented in hermite< V, T >.

Definition at line 504 of file _bezier.h.

template<typename V, typename T = float>
typedef T bezier< V, T >::time_type

Reimplemented from bezier_base< V, T >.

Reimplemented in hermite< V, T >.

Definition at line 505 of file _bezier.h.

template<typename V, typename T = float>
typedef float bezier< V, T >::distance_type

Definition at line 506 of file _bezier.h.

template<typename V, typename T = float>
typedef bezier_iterator<V,T> bezier< V, T >::iterator

Definition at line 507 of file _bezier.h.

template<typename V, typename T = float>
typedef bezier_iterator<V,T> bezier< V, T >::const_iterator

Definition at line 508 of file _bezier.h.


Constructor & Destructor Documentation

template<typename V, typename T = float>
bezier< V, T >::bezier (  )  [inline]

Definition at line 517 of file _bezier.h.

template<typename V, typename T = float>
bezier< V, T >::bezier ( const value_type a,
const value_type b,
const value_type c,
const value_type d 
) [inline]

Definition at line 518 of file _bezier.h.


Member Function Documentation

template<typename V, typename T = float>
const_iterator bezier< V, T >::begin (  )  const

template<typename V, typename T = float>
const_iterator bezier< V, T >::end (  )  const

template<typename V, typename T = float>
time_type bezier< V, T >::find_closest ( const value_type x,
int  i = 7,
time_type  r = (0),
time_type  s = (1) 
) const [inline]

Definition at line 525 of file _bezier.h.

References bezier< V, T >::dist, bezier_base< V, T >::r, and bezier_base< V, T >::s.

template<typename V, typename T = float>
distance_type bezier< V, T >::find_distance ( time_type  r,
time_type  s,
int  steps = 7 
) const [inline]

Definition at line 540 of file _bezier.h.

References bezier< V, T >::dist.

Referenced by bezier< V, T >::length().

template<typename V, typename T = float>
distance_type bezier< V, T >::length (  )  const [inline]

Definition at line 557 of file _bezier.h.

References bezier< V, T >::find_distance(), bezier_base< V, T >::get_r(), and bezier_base< V, T >::get_s().

template<typename V, typename T = float>
void bezier< V, T >::subdivide ( bezier< V, T > *  left,
bezier< V, T > *  right,
const time_type time = (time_type)0.5 
) const [inline]

Definition at line 572 of file _bezier.h.

References bezier_base< V, T >::a, bezier_base< V, T >::affine_func, bezier_base< V, T >::b, bezier_base< V, T >::c, bezier_base< V, T >::d, bezier_base< V, T >::get_dt(), bezier_base< V, T >::get_r(), bezier_base< V, T >::get_s(), bezier_base< V, T >::set_r(), bezier_base< V, T >::set_s(), and bezier_base< V, T >::sync().

template<typename V, typename T = float>
void bezier< V, T >::evaluate ( time_type  t,
value_type f,
value_type df 
) const [inline]

Definition at line 612 of file _bezier.h.

References bezier_base< V, T >::a, bezier_base< V, T >::affine_func, bezier_base< V, T >::b, bezier_base< V, T >::c, bezier_base< V, T >::d, bezier_base< V, T >::get_dt(), and bezier_base< V, T >::get_r().


Member Data Documentation

template<typename V, typename T = float>
distance_func<value_type> bezier< V, T >::dist

Definition at line 510 of file _bezier.h.

Referenced by bezier< V, T >::find_closest(), and bezier< V, T >::find_distance().


The documentation for this class was generated from the following file:
Generated on Sat Nov 4 11:29:22 2006 for ETL by  doxygen 1.4.7