parametric_curve< C, V > Class Template Reference

#include <parametric_curve.hpp>

Inheritance diagram for parametric_curve< C, V >:
curve< V > SHAPE_OFV rational_curve< C, V >

List of all members.

Public Types

Public Member Functions


Detailed Description

template<class C, class V>
class mmx::shape::parametric_curve< C, V >

Definition at line 44 of file parametric_curve.hpp.


Member Typedef Documentation

typedef bounding_box<C, REF_OF(V) > BoundingBox

Reimplemented in bspline_curve< K >, and rational_curve< C, V >.

Definition at line 49 of file parametric_curve.hpp.

typedef curve< REF_OF(V) > Curve

Definition at line 48 of file parametric_curve.hpp.

typedef use<point_def,C,V>::Point Point

Reimplemented in bspline_curve< K >, and rational_curve< C, V >.

Definition at line 47 of file parametric_curve.hpp.

typedef point_set<C,3, REF_OF(V) >::PointIterator PointIterator

Definition at line 50 of file parametric_curve.hpp.

typedef C Scalar

Reimplemented in rational_curve< C, V >.

Definition at line 46 of file parametric_curve.hpp.


Constructor & Destructor Documentation

parametric_curve ( void   )  [inline]

Definition at line 52 of file parametric_curve.hpp.

00052 {} ;

parametric_curve ( const BoundingBox  box  )  [inline]

Definition at line 53 of file parametric_curve.hpp.

00053 : Curve(box) {}

virtual ~parametric_curve ( void   )  [inline, virtual]

Definition at line 54 of file parametric_curve.hpp.

00054 {} ;


Member Function Documentation

virtual Seq<Point *> critical_points ( void   )  [pure virtual]

Implemented in rational_curve< C, V >.

virtual void eval ( Point ,
Scalar   
) const [pure virtual]

Implemented in rational_curve< C, V >.

virtual Point* eval ( const double &  t  )  const [pure virtual]
virtual Seq<Point *> extremal_points ( void   )  [pure virtual]

Implemented in rational_curve< C, V >.

virtual Point* operator() ( double  t  )  const [inline, virtual]

Definition at line 61 of file parametric_curve.hpp.

00061 { return this->eval(t); }

void sample ( Point res,
const Scalar t,
int  n 
) const [inline, virtual]

Definition at line 86 of file parametric_curve.hpp.

References parametric_curve< C, V >::eval().

00086                                                      {
00087   for ( Point * o = res; o != res + n; o++, t++  )
00088     this->eval(*o,*t);
00089 }

void sample ( PointIterator  p,
int  n 
) const [inline, virtual]

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().

00076                                          {
00077   assert(n>1);
00078   Scalar h=(this->tmax() - this->tmin())/(n-1), t=tmin();
00079   for (int i=0; i<n; i++, p++) {
00080     this->eval(*p, t);   // SEGFAULT ?
00081     t+=h;
00082   }
00083 }

virtual void set_range ( double  tmin,
double  tmax 
) [pure virtual]

Implemented in rational_curve< C, V >.

virtual Seq<Point *> singular_points ( void   )  [pure virtual]

Implemented in rational_curve< C, V >.

virtual void subdivide ( parametric_curve< C, V > *&  a,
parametric_curve< C, V > *&  b,
double  t 
) const [pure virtual]
virtual double tmax ( void   )  const [pure virtual]
virtual double tmin ( void   )  const [pure virtual]

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

Generated on 6 Dec 2012 for shape by  doxygen 1.6.1