Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
BezierCurve Class Referenceabstract

abstract base class and interface for bezier curves More...

#include <BezierCurve.h>

Inheritance diagram for BezierCurve:
Inheritance graph
[legend]
Collaboration diagram for BezierCurve:
Collaboration graph
[legend]

Public Member Functions

virtual ~BezierCurve ()
 destructor
 
int subdiv (double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)
 interface function to perform Bezier curve sub-division
 
bool is_ctrl_pts_colinear ()
 returns if the control points are colinear
 
void get_all_ctrl_pts (Point3d *out_ctrl_pts)
 get all the control points of the curve
 
void get_ctrl_pt (int index, Point3d &out_pt)
 get the i'th control point of the curve
 
- Public Member Functions inherited from ParametricCurve
int eval (Point1d in_t, Point3d &out_xyz)
 
int order (void)
 
int deriv1 (Point1d in_t, Point3d &out_xyz)
 
void deriv1_fd (const Point1d in_t, Point3d &dxyz_dt, double step=1.0e-3)
 Evaluate first derivative numerically by finite difference.
 

Protected Member Functions

void checkInputParam (double in_t)
 check if input parameter is within range More...
 
- Protected Member Functions inherited from ParametricCurve
virtual int v_order (void)=0
 

Protected Attributes

Point3d * m_ctrl_pts_
 control point data container
 

Private Member Functions

virtual int v_eval (double in_param, Point3d &out_xyz)
 evaluate Cartesian coordinates based on input param coord
 
virtual int v_deriv1 (double in_param, Point3d &out_xyz)
 evaluate first derivatives w.r.t. param coord
 
virtual bool v_is_ctrl_pts_colinear ()
 return if all control points are co-linear
 
virtual int v_subdiv (double in_param, Point3d *out_left_xyz, Point3d *out_right_xyz)=0
 calculates sub-division and returns new sub-curves
 

Detailed Description

abstract base class and interface for bezier curves

Member Function Documentation

void BezierCurve::checkInputParam ( double  in_t)
inlineprotected

check if input parameter is within range

parameter range: [0, 1]


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