#include <iso_geom_spline_alg.h>
Inherited by iso::geom::BezierSplineAlg, and iso::geom::HermiteSplineAlg.
Inheritance diagram for iso::geom::SplineAlg:

Public Member Functions | |
| SplineAlg (unsigned int p_dimension, unsigned int p_controlCount, unsigned int p_subdivisionCount) | |
| create spline algorithm | |
| virtual | ~SplineAlg () |
| destructor | |
| virtual SplineAlg * | copy () const=0 |
| create a copy of a spline alg | |
| unsigned int | dimension () const |
| return spline dimension | |
| unsigned int | controlCount () const |
| return number of control points | |
| unsigned int | subdivisionCount () const |
| return number of subdivisons | |
| virtual void | setSubdivisionCount (unsigned int p_subdivisionCount) |
| set subdivision count | |
| virtual void | createSpline (QVector< math::Vector< real > > &p_controlPoints, QVector< math::Vector< real > > &p_splinePoints, bool b_closed=false)=0 |
| create spline | |
Protected Member Functions | |
| SplineAlg () | |
| default constructor | |
| virtual void | preCalc ()=0 |
| precalculate polynomial values | |
Protected Attributes | |
| unsigned int | m_dimension |
| spline dimension | |
| unsigned int | m_controlCount |
| number of control points | |
| unsigned int | m_subdivisionCount |
| number of subdivisions | |
| math::Matrix< real > | m_SM |
| interpolation parameter matrix | |
| math::Matrix< real > | m_CM |
| spline parameter matrix | |
| math::Matrix< real > | m_HM |
| spline polynomial matrix | |
| math::Matrix< real > | m_PM |
| resulting point in matrix form | |
| math::Matrix< real > ** | m_preCalcMatrices |
| array of matrices containing precalculated polynomial values | |
| SplineAlg::SplineAlg | ( | unsigned int | p_dimension, | |
| unsigned int | p_controlCount, | |||
| unsigned int | p_subdivisionCount | |||
| ) |
create spline algorithm
| p_dimension | dimension of spline | |
| p_controlCount | number of control points | |
| p_subdivisionCount | number of subdivisions |
| SplineAlg::~SplineAlg | ( | ) | [virtual] |
destructor
| SplineAlg::SplineAlg | ( | ) | [protected] |
default constructor
| virtual SplineAlg* iso::geom::SplineAlg::copy | ( | ) | const [pure virtual] |
create a copy of a spline alg
Implemented in iso::geom::BezierSplineAlg, and iso::geom::HermiteSplineAlg.
| unsigned int SplineAlg::dimension | ( | ) | const |
return spline dimension
| unsigned int SplineAlg::controlCount | ( | ) | const |
return number of control points
| unsigned int SplineAlg::subdivisionCount | ( | ) | const |
return number of subdivisons
| void SplineAlg::setSubdivisionCount | ( | unsigned int | p_subdivisionCount | ) | [virtual] |
set subdivision count
| p_subdivisionCount | subdivision count |
Reimplemented in iso::geom::BezierSplineAlg, and iso::geom::HermiteSplineAlg.
| virtual void iso::geom::SplineAlg::createSpline | ( | QVector< math::Vector< real > > & | p_controlPoints, | |
| QVector< math::Vector< real > > & | p_splinePoints, | |||
| bool | b_closed = false | |||
| ) | [pure virtual] |
create spline
| p_controlPoints | control points | |
| p_splinePoints | resulting spline points | |
| b_closed | whether spline should be closed or not |
Implemented in iso::geom::BezierSplineAlg, and iso::geom::HermiteSplineAlg.
| virtual void iso::geom::SplineAlg::preCalc | ( | ) | [protected, pure virtual] |
precalculate polynomial values
Implemented in iso::geom::BezierSplineAlg, and iso::geom::HermiteSplineAlg.
unsigned int iso::geom::SplineAlg::m_dimension [protected] |
spline dimension
unsigned int iso::geom::SplineAlg::m_controlCount [protected] |
number of control points
unsigned int iso::geom::SplineAlg::m_subdivisionCount [protected] |
number of subdivisions
math::Matrix<real> iso::geom::SplineAlg::m_SM [protected] |
interpolation parameter matrix
math::Matrix<real> iso::geom::SplineAlg::m_CM [protected] |
spline parameter matrix
math::Matrix<real> iso::geom::SplineAlg::m_HM [protected] |
spline polynomial matrix
math::Matrix<real> iso::geom::SplineAlg::m_PM [protected] |
resulting point in matrix form
math::Matrix<real>** iso::geom::SplineAlg::m_preCalcMatrices [protected] |
array of matrices containing precalculated polynomial values
1.5.1