Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | Namespace Members | Class Members | Related Pages

ControlPointCurve Class Template Reference
[XEngineMath Library]

Inheritance diagram for ControlPointCurve:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<unsigned int Dimension, typename ControlPointT>
class XEngine::Math::Curves::ControlPointCurve< Dimension, ControlPointT >

This class is the base class for all types of curves using control points, such as Bezier curves or cubic splines. Control point curves receive a number of control points that describe the so-called control point polygon for the curve.

The template parameter ControlPointT can be any type describing a control point, e.g. Vector3 is used by Bézier curves wheres the ControlPoint structure that defines a time and a position value for each control point is used for cubic splines.


Public Types

typedef ControlPointT ControlPointType
 Defines the type of control point used by this control point curve.

Public Member Functions

const std::vector< ControlPointT > & GetControlPoints () const
 Returns the control points of this curve.
template<typename OutputIteratorT>
void GetControlPoints (OutputIteratorT it) const
 Returns the control points of this curve.
const ControlPointT & GetControlPoint (size_t index) const
 Returns a control point of this curve.
size_t GetControlPointCount () const
 Returns the number of control points of this curve.


Member Function Documentation

const ControlPointT & GetControlPoint size_t  index  )  const
 

Returns a control point of this curve.

size_t GetControlPointCount  )  const
 

Returns the number of control points of this curve.

void GetControlPoints OutputIteratorT  it  )  const
 

Returns the control points of this curve. The output iterator must iterate over instances of type ControlPointT.

const std::vector< ControlPointT > & GetControlPoints  )  const
 

Returns the control points of this curve.


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