Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::BezierCurve Class Reference
[MotionPlanning]

This class can be used to generate Bezier Curves from provided control points. A Bezier Curve will interpolate the starting and end points and will stay within the convex hull of the control points. More...

#include <BezierCurve.h>

Inheritance diagram for OSCAR::BezierCurve:

Inheritance graph
[legend]
List of all members.

Public Methods

 BezierCurve (double stepsize, OSCARError &err=DUMMY_ERROR(noError))
 BezierCurve (OSCARError &err=DUMMY_ERROR(noError))
 BezierCurve (const BezierCurve &rhs)
BezierCurve & operator= (const BezierCurve &rhs)
virtual bool GenerateTrajectory ()
virtual bool GetParameterRange (double &tInitial, double &tFinal)
virtual bool GetCurvePoint (double t, Vector3 &curvePoint)
virtual ~BezierCurve ()

Protected Methods

double factorial (unsigned int i)
double binomial (unsigned int n, unsigned int i)
double bezierFunc (int n, int i, double t)

Detailed Description

Author:
Peter S. March


Constructor & Destructor Documentation

OSCAR::BezierCurve::BezierCurve double    stepsize,
OSCARError   err = DUMMY_ERROR(noError)
 

Constructor.

This constructor creates an BezierCurve object.

Parameters:
stepsize This will be used as the stepsize for the parameter t in the blend.
err An OSCARError object that on return will hold the value of any errors that were generated during the constructor call. If err is not equal to 'noError' you can call GetError() to get the details of the error code.

OSCAR::BezierCurve::BezierCurve OSCARError   err = DUMMY_ERROR(noError)
 

OSCAR::BezierCurve::BezierCurve const BezierCurve &    rhs
 

Copy Constructor.

This is the Copy constructor for an object of type BezierCurve. Use this to construct an BezierCurve object from an existing BezierCurve object.

Parameters:
rhs An BezierCurve object that will be used to initialize this new object.

virtual OSCAR::BezierCurve::~BezierCurve   [inline, virtual]
 


Member Function Documentation

double OSCAR::BezierCurve::bezierFunc int    n,
int    i,
double    t
[protected]
 

double OSCAR::BezierCurve::binomial unsigned int    n,
unsigned int    i
[protected]
 

double OSCAR::BezierCurve::factorial unsigned int    i [protected]
 

virtual bool OSCAR::BezierCurve::GenerateTrajectory   [virtual]
 

Use this method to generate a Bezier Curve from the set of control points.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information

Implements OSCAR::Spline.

virtual bool OSCAR::BezierCurve::GetCurvePoint double    t,
Vector3   curvePoint
[virtual]
 

This method is used to determine a specific point along the trajectory for a given value of the independent parameter.

Parameters:
t Value of the independent parameter.
curvePoint A 3x1 vector that will store the value of the curve at the provided value of the independent parameter t.
Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
See also:
GetParameterRange(double& tInitial, double& tFinal)

Implements OSCAR::Spline.

virtual bool OSCAR::BezierCurve::GetParameterRange double &    tInitial,
double &    tFinal
[virtual]
 

This method is used to determine the range of the independent parameter t that will fully interpolate the provided control points.

Parameters:
tInitial This initial value of the independent parameter.
tFinal The final value of the independent parameter.
Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
See also:
virtual bool GetCurvePoint(double t, Vector3& curvePoint)

Implements OSCAR::Spline.

BezierCurve& OSCAR::BezierCurve::operator= const BezierCurve &    rhs
 

Assignment operator.

This is the Assignment operator for an object of type BezierCurve. This operator assumes that the order and DOF of the two planners are the same.

Parameters:
rhs An BezierCurve object that goes on the right hand side of the = operator.
Returns:
A reference to the object on the left hand side of the = operator.


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations