16 #include "ParametricCurve.h"
31 Point3d * out_left_xyz,
32 Point3d * out_right_xyz)
34 return v_subdiv(in_param, out_left_xyz, out_right_xyz);
51 virtual int v_eval(
double in_param, Point3d & out_xyz);
54 virtual int v_deriv1(
double in_param, Point3d & out_xyz);
63 virtual int v_subdiv(
double in_param, Point3d * out_left_xyz, Point3d * out_right_xyz) = 0;
74 assert( in_t >= 0.0 && in_t <= 1.0 );
93 virtual int v_order(
void);
94 virtual int v_subdiv(
double in_param,
95 Point3d * out_left_xyz,
96 Point3d * out_right_xyz);
114 virtual int v_order(
void);
115 virtual int v_subdiv(
double in_param,
116 Point3d * out_left_xyz,
117 Point3d * out_right_xyz);
137 virtual int v_order(
void) ;
138 virtual int v_subdiv(
double in_param,
139 Point3d * out_left_xyz,
140 Point3d * out_right_xyz);
159 virtual int v_order(
void) ;
160 virtual int v_subdiv(
double in_param,
161 Point3d * out_left_xyz,
162 Point3d * out_right_xyz);
183 virtual int v_order(
void) ;
184 virtual int v_subdiv(
double in_param,
185 Point3d * out_left_xyz,
186 Point3d * out_right_xyz);
188 #endif //BEZIERCURVE_H
~BezierCurve5()
dtor
Definition: BezierCurve.cc:298
BezierCurve1()
1st order bezier curve
Definition: BezierCurve.cc:56
interface class for all parametric curves The parametric curves use the same coordinate system as the...
Definition: ParametricCurve.h:18
BezierCurve5()
default ctor – disabled
Definition: BezierCurve.cc:303
int subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
interface function to perform Bezier curve sub-division
Definition: BezierCurve.h:30
BezierCurve2()
2nd order bezier curve
Definition: BezierCurve.cc:103
1st order bezier curve
Definition: BezierCurve.h:82
void get_ctrl_pt(int index, Point3d &out_pt)
get the i'th control point of the curve
Definition: BezierCurve.cc:23
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
calculates sub-division and returns new sub-curves
Definition: BezierCurve.cc:77
An implementation of 5th order bezier curve.
Definition: BezierCurve.h:168
virtual bool v_is_ctrl_pts_colinear()
return if all control points are co-linear
Definition: BezierCurve.cc:95
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
calculates sub-division and returns new sub-curves
Definition: BezierCurve.cc:126
2nd order bezier curve
Definition: BezierCurve.h:102
virtual bool v_is_ctrl_pts_colinear()
return if all control points are co-linear
Definition: BezierCurve.cc:144
virtual bool v_is_ctrl_pts_colinear()
return if all control points are co-linear
Definition: BezierCurve.h:57
void checkInputParam(double in_t)
check if input parameter is within range
Definition: BezierCurve.h:71
virtual int v_deriv1(double in_param, Point3d &out_xyz)
evaluate first derivatives w.r.t. param coord
Definition: BezierCurve.cc:43
void get_all_ctrl_pts(Point3d *out_ctrl_pts)
get all the control points of the curve
Definition: BezierCurve.cc:16
virtual int v_eval(double in_param, Point3d &out_xyz)
evaluate Cartesian coordinates based on input param coord
Definition: BezierCurve.cc:29
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
calculates sub-division and returns new sub-curves
Definition: BezierCurve.cc:190
BezierCurve3()
3rd order bezier curve
Definition: BezierCurve.cc:165
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)=0
calculates sub-division and returns new sub-curves
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
calculates sub-division and returns new sub-curves
Definition: BezierCurve.cc:242
virtual int v_subdiv(double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
Definition: BezierCurve.cc:314
3rd order bezier curve
Definition: BezierCurve.h:123
Point3d * m_ctrl_pts_
control point data container
Definition: BezierCurve.h:68
bool is_ctrl_pts_colinear()
returns if the control points are colinear
Definition: BezierCurve.h:38
virtual ~BezierCurve()
destructor
Definition: BezierCurve.h:25
4th order bezier curve
Definition: BezierCurve.h:144
abstract base class and interface for bezier curves
Definition: BezierCurve.h:20