QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
Bezier3D Class Reference

Class Bezier3D represents a bezier curve, represented by control points. More...

#include <Bezier3D.h>

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

Public Member Functions

 Bezier3D ()
 Default constructor.
 Bezier3D (ParametricLine *par, QVector< Point3D * > *controlpoly)
 Constructor, par is a pointer to the parent, controlpoly a controlpolygon.
virtual ~Bezier3D ()
 Destructor.
virtual void add (ParametricLine *pl)
 Do not use this method, since a Bezier curve does not consist of other curves.
virtual void calcFirstDer (float t, Vector3D *v)
 Calculates the first derivative and assigns it to v.
virtual void calcSecDer (float t, Vector3D *v)
 Calculates the second derivative and assigns it to v.
virtual void calcPoint (float t, Point3D *p)
 Calculates the point on the curve and assigns it to p.
virtual void changeDirection ()
 changes the order of control points
virtual void remove (int i)
 Do not use this method, since a Bezier curve does not consist of other curves.
virtual const Point3DgetControlPoint (int number) const
 Returns a control point.
virtual const QVector< Point3D * > * getControlPoly () const
 Returns a pointer to the control polygon.
virtual int getDegree () const
 Returns the degree of the curve.
virtual ParametricLinegetParent () const
 Returns the parent.
virtual void setParent (ParametricLine *par)
 Sets the parent.
virtual void setControlPoly (QVector< Point3D * > *cp)
 Sets the control polygon.
- Public Member Functions inherited from ParametricLine
 ParametricLine ()
 Default constructor.
 ParametricLine (ParametricLine *par, QVector< Point3D * > *controlpoly)
 Constructor, par is a pointer to the parent object, controlpoly the controlpolygon.
virtual ~ParametricLine ()
 Destructor.

Additional Inherited Members

- Protected Attributes inherited from ParametricLine
int mDegree
 Degree of the parametric Line.
ParametricLinemParent
 Pointer to the parent object.
QVector< Point3D * > * mControlPoly
 mControlPoly stores the points of the control polygon

Detailed Description

Class Bezier3D represents a bezier curve, represented by control points.

Parameter t is running from 0 to 1. The class is capable to calculate the curve point and the first two derivatives belonging to t.

Definition at line 26 of file Bezier3D.h.

Constructor & Destructor Documentation

Bezier3D::Bezier3D ( )
inline

Default constructor.

Definition at line 72 of file Bezier3D.h.

Bezier3D::Bezier3D ( ParametricLine par,
QVector< Point3D * > *  controlpoly 
)
inline

Constructor, par is a pointer to the parent, controlpoly a controlpolygon.

Note
not available in python binding

Definition at line 77 of file Bezier3D.h.

References ParametricLine::mControlPoly, and ParametricLine::mDegree.

Bezier3D::~Bezier3D ( )
inlinevirtual

Destructor.

Definition at line 82 of file Bezier3D.h.

Member Function Documentation

void Bezier3D::add ( ParametricLine pl)
inlinevirtual

Do not use this method, since a Bezier curve does not consist of other curves.

Implements ParametricLine.

Definition at line 89 of file Bezier3D.h.

References QgsDebugMsg.

virtual void Bezier3D::calcFirstDer ( float  t,
Vector3D v 
)
virtual

Calculates the first derivative and assigns it to v.

Implements ParametricLine.

virtual void Bezier3D::calcPoint ( float  t,
Point3D p 
)
virtual

Calculates the point on the curve and assigns it to p.

Implements ParametricLine.

virtual void Bezier3D::calcSecDer ( float  t,
Vector3D v 
)
virtual

Calculates the second derivative and assigns it to v.

Implements ParametricLine.

virtual void Bezier3D::changeDirection ( )
virtual

changes the order of control points

Implements ParametricLine.

const Point3D * Bezier3D::getControlPoint ( int  number) const
inlinevirtual

Returns a control point.

Implements ParametricLine.

Definition at line 103 of file Bezier3D.h.

References ParametricLine::mControlPoly.

const QVector< Point3D * > * Bezier3D::getControlPoly ( ) const
inlinevirtual

Returns a pointer to the control polygon.

Note
not available in python binding

Implements ParametricLine.

Definition at line 108 of file Bezier3D.h.

References ParametricLine::mControlPoly.

int Bezier3D::getDegree ( ) const
inlinevirtual

Returns the degree of the curve.

Implements ParametricLine.

Definition at line 113 of file Bezier3D.h.

References ParametricLine::mDegree.

ParametricLine * Bezier3D::getParent ( ) const
inlinevirtual

Returns the parent.

Implements ParametricLine.

Definition at line 118 of file Bezier3D.h.

References ParametricLine::mParent.

void Bezier3D::remove ( int  i)
inlinevirtual

Do not use this method, since a Bezier curve does not consist of other curves.

Implements ParametricLine.

Definition at line 95 of file Bezier3D.h.

References QgsDebugMsg.

void Bezier3D::setControlPoly ( QVector< Point3D * > *  cp)
inlinevirtual

Sets the control polygon.

Note
not available in python binding

Implements ParametricLine.

Definition at line 128 of file Bezier3D.h.

References ParametricLine::mControlPoly, and ParametricLine::mDegree.

void Bezier3D::setParent ( ParametricLine par)
inlinevirtual

Sets the parent.

Implements ParametricLine.

Definition at line 123 of file Bezier3D.h.

References ParametricLine::mParent.


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