#include <_bezier.h>
Inheritance diagram for bezier_base< V, T >:

Public Types | |
| typedef V | value_type |
| typedef T | time_type |
Public Member Functions | |
| bezier_base () | |
| bezier_base (const value_type &a, const value_type &b, const value_type &c, const value_type &d, const time_type &r=0.0, const time_type &s=1.0) | |
| void | sync () |
| value_type | operator() (time_type t) const |
| void | set_rs (time_type new_r, time_type new_s) |
| void | set_r (time_type new_r) |
| void | set_s (time_type new_s) |
| const time_type & | get_r () const |
| const time_type & | get_s () const |
| time_type | get_dt () const |
| bool | intersect_hull (const bezier_base< value_type, time_type > &x) const |
| time_type | intersect (const bezier_base< value_type, time_type > &x, time_type near=0.0) const |
| Bezier curve intersection function. | |
| value_type & | operator[] (int i) |
| const value_type & | operator[] (int i) const |
Protected Attributes | |
| affine_combo< value_type, time_type > | affine_func |
Private Attributes | |
| value_type | a |
| value_type | b |
| value_type | c |
| value_type | d |
| time_type | r |
| time_type | s |
Definition at line 49 of file _bezier.h.
|
|||||
|
Reimplemented in bezier< V, T >, and hermite< V, T >. |
|
|||||
|
Reimplemented in bezier< V, T >, and hermite< V, T >. |
|
|||||||||
|
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 64 of file _bezier.h. References bezier_base< V, T >::sync(). |
|
|||||||||
|
Reimplemented in hermite< V, T >. Definition at line 69 of file _bezier.h. Referenced by bezier_base< double, float >::bezier_base(), bezier_base< float, float >::bezier_base(), bezier_base< V, T >::bezier_base(), bezier< V, T >::subdivide(), and hermite< V, T >::sync(). |
|
||||||||||
|
Definition at line 74 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 >::r, and bezier_base< V, T >::s. |
|
||||||||||||||||
|
Definition at line 109 of file _bezier.h. References bezier_base< V, T >::r, and bezier_base< V, T >::s. |
|
||||||||||
|
Definition at line 110 of file _bezier.h. References bezier_base< V, T >::r. Referenced by bezier< V, T >::subdivide(). |
|
||||||||||
|
Definition at line 111 of file _bezier.h. References bezier_base< V, T >::s. Referenced by bezier< V, T >::subdivide(). |
|
|||||||||
|
Definition at line 112 of file _bezier.h. References bezier_base< V, T >::r. |
|
|||||||||
|
Definition at line 113 of file _bezier.h. References bezier_base< V, T >::s. |
|
|||||||||
|
Definition at line 114 of file _bezier.h. References bezier_base< V, T >::r, and bezier_base< V, T >::s. |
|
||||||||||
|
|
|
||||||||||||||||
|
Bezier curve intersection function. Calculates the time of intersection for the calling curve. I still have not figured out a good generic method of doing this for a bi-infinite cubic bezier curve calculated with the DeCasteljau algorithm. One method, although it does not work for the entire bi-infinite curve, is to iteratively intersect the hulls. However, we would only detect intersections that occur between R and S. It is entirely possible that a new construct similar to the affine combination function will be necessary for this to work properly. For now, this function is BROKEN. (although it works for the floating-point specializations, using newton's method) |
|
||||||||||
|
Definition at line 193 of file _bezier.h. References bezier_base< V, T >::a. Referenced by hermite< V, T >::sync(). |
|
||||||||||
|
Definition at line 197 of file _bezier.h. References bezier_base< V, T >::a. |
|
|||||
|
Definition at line 56 of file _bezier.h. Referenced by bezier_base< V, T >::operator()(), bezier_base< double, float >::operator[](), bezier_base< float, float >::operator[](), bezier_base< V, T >::operator[](), bezier_base< double, float >::sync(), and bezier_base< float, float >::sync(). |
|
|||||
|
Definition at line 56 of file _bezier.h. Referenced by bezier_base< V, T >::operator()(), bezier_base< double, float >::sync(), and bezier_base< float, float >::sync(). |
|
|||||
|
Definition at line 56 of file _bezier.h. Referenced by bezier_base< V, T >::operator()(), bezier_base< double, float >::sync(), and bezier_base< float, float >::sync(). |
|
|||||
|
Definition at line 56 of file _bezier.h. Referenced by bezier_base< V, T >::operator()(), bezier_base< double, float >::sync(), and bezier_base< float, float >::sync(). |
|
|||||
|
|||||
|
|||||
|
Definition at line 60 of file _bezier.h. Referenced by bezier_base< V, T >::operator()(). |
1.4.6