#include <rational_curve.hpp>
Rational curve.
Definition at line 45 of file rational_curve.hpp.
typedef bounding_box<C,V> BoundingBox |
Reimplemented from parametric_curve< C, V >.
Definition at line 47 of file rational_curve.hpp.
Definition at line 48 of file parametric_curve.hpp.
typedef parametric_curve<C,V> ParametricCurve |
Definition at line 48 of file rational_curve.hpp.
typedef ParametricCurve::Point Point |
Reimplemented from parametric_curve< C, V >.
Definition at line 50 of file rational_curve.hpp.
typedef point_set<C,3, REF_OF(V) >::PointIterator PointIterator [inherited] |
Definition at line 50 of file parametric_curve.hpp.
typedef use<rational_curve_def,C,V>::Polynomial Polynomial |
Definition at line 51 of file rational_curve.hpp.
typedef ParametricCurve::Scalar Scalar |
Reimplemented from parametric_curve< C, V >.
Definition at line 49 of file rational_curve.hpp.
rational_curve | ( | void | ) | [inline] |
Definition at line 53 of file rational_curve.hpp.
00053 :ParametricCurve(), m_tmin(0), m_tmax(1) {}
rational_curve | ( | const BoundingBox & | box | ) | [inline] |
Definition at line 55 of file rational_curve.hpp.
00055 : 00056 ParametricCurve(box), m_tmin(0), m_tmax(1) {}
rational_curve | ( | const Polynomial & | X, | |
const Polynomial & | Y, | |||
const Polynomial & | Z, | |||
const Polynomial & | W = 1 | |||
) | [inline] |
Definition at line 58 of file rational_curve.hpp.
00059 : ParametricCurve(), m_tmin(0), m_tmax(1), m_w(W) 00060 { 00061 m_p<<X; m_p<<Y; m_p<<Z; 00062 }
rational_curve | ( | double | m, | |
double | M, | |||
const Polynomial & | X, | |||
const Polynomial & | Y, | |||
const Polynomial & | Z, | |||
const Polynomial & | W = 1 | |||
) | [inline] |
Definition at line 64 of file rational_curve.hpp.
00065 : ParametricCurve(), m_tmin(m), m_tmax(M), m_w(W) 00066 { 00067 m_p<<X; m_p<<Y; m_p<<Z; 00068 }
rational_curve | ( | const rational_curve< C, V > & | c | ) | [inline] |
Definition at line 70 of file rational_curve.hpp.
00071 : ParametricCurve(), m_tmin(c.tmin()), m_tmax(c.tmax()), m_w(c.m_w) 00072 { 00073 m_p=c.m_p; 00074 }
~rational_curve | ( | void | ) | [inline] |
Definition at line 78 of file rational_curve.hpp.
Seq< typename rational_curve< C, V >::Point * > critical_points | ( | void | ) | [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 136 of file rational_curve.hpp.
const Polynomial& denominator | ( | ) | const [inline] |
Definition at line 91 of file rational_curve.hpp.
int dimension | ( | void | ) | const [inline] |
Definition at line 76 of file rational_curve.hpp.
References Seq< C, R >::size().
Implements parametric_curve< C, V >.
Definition at line 118 of file rational_curve.hpp.
00118 { 00119 Scalar w=m_w(p); 00120 v.setx(m_p[0](p)/w); 00121 v.sety(m_p[1](p)/w); 00122 v.setz(m_p[2](p)/w); 00123 }
void eval | ( | double | t, | |
double * | x, | |||
double * | y, | |||
double * | z | |||
) | const |
rational_curve< C, V >::Point * eval | ( | const double & | t | ) | const [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 110 of file rational_curve.hpp.
Referenced by rational_curve< C, V >::operator()().
Seq< typename rational_curve< C, V >::Point * > extremal_points | ( | void | ) | [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 143 of file rational_curve.hpp.
const Polynomial& numerator | ( | int | i | ) | const [inline] |
Definition at line 92 of file rational_curve.hpp.
virtual Point* operator() | ( | double | t | ) | const [inline, virtual, inherited] |
Definition at line 61 of file parametric_curve.hpp.
00061 { return this->eval(t); }
rational_curve< C, V >::Point * operator() | ( | double | t | ) | [inline] |
Definition at line 126 of file rational_curve.hpp.
References rational_curve< C, V >::eval().
00126 { return eval(t); }
Definition at line 86 of file parametric_curve.hpp.
References parametric_curve< C, V >::eval().
void sample | ( | PointIterator | p, | |
int | n | |||
) | const [inline, virtual, inherited] |
Definition at line 76 of file parametric_curve.hpp.
References assert, parametric_curve< C, V >::eval(), parametric_curve< C, V >::tmax(), and parametric_curve< C, V >::tmin().
void set_denominator | ( | const Polynomial & | d | ) | [inline] |
Definition at line 94 of file rational_curve.hpp.
void set_numerator | ( | const Polynomial & | p, | |
int | i | |||
) | [inline] |
Definition at line 95 of file rational_curve.hpp.
References Seq< C, R >::push_back(), and Seq< C, R >::size().
void set_range | ( | double | tmin, | |
double | tmax | |||
) | [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 130 of file rational_curve.hpp.
Seq< typename rational_curve< C, V >::Point * > singular_points | ( | void | ) | [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 150 of file rational_curve.hpp.
virtual void subdivide | ( | parametric_curve< C, V > *& | a, | |
parametric_curve< C, V > *& | b, | |||
double | t | |||
) | const [pure virtual, inherited] |
void subdivide | ( | ParametricCurve *& | a, | |
ParametricCurve *& | b, | |||
double | t | |||
) | const [inline] |
Definition at line 157 of file rational_curve.hpp.
References SELF, rational_curve< C, V >::tmax(), and rational_curve< C, V >::tmin().
00157 { 00158 SELF 00159 * ar = new SELF(*this), 00160 * br = new SELF(*this); 00161 ar->set_range(tmin(),t); 00162 br->set_range(t,tmax()); 00163 00164 a = dynamic_cast<ParametricCurve*>(ar); 00165 b = dynamic_cast<ParametricCurve*>(br); 00166 00167 }
double tmax | ( | void | ) | const [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 81 of file rational_curve.hpp.
Referenced by rational_curve< C, V >::subdivide().
double tmin | ( | void | ) | const [inline, virtual] |
Implements parametric_curve< C, V >.
Definition at line 80 of file rational_curve.hpp.
Referenced by rational_curve< C, V >::subdivide().