 |
CUGL 1.3
Cornell University Game Library
|
36 #ifndef __CU_CUBIC_SPLINE_APPROXIMATOR_H__
37 #define __CU_CUBIC_SPLINE_APPROXIMATOR_H__
39 #include <cugl/math/CUPoly2.h>
40 #include <cugl/math/CUCubicSpline.h>
41 #include <cugl/math/CUVec2.h>
45 #define DEFAULT_TOLERANCE 0.25
76 std::vector<Vec2> _pointbuff;
78 std::vector<float> _parambuff;
120 #pragma mark Constructors
140 #pragma mark Initialization
162 _pointbuff.clear(); _parambuff.clear();
174 _pointbuff.
clear(); _parambuff.clear();
179 #pragma mark Calculation
198 void calculate(
Criterion criterion=Criterion::DISTANCE,
float tolerance=DEFAULT_TOLERANCE);
202 #pragma mark Materialization
536 #pragma mark Internal Data Generation
554 int generate(
const std::vector<Vec2>& src,
int soff,
float tp,
555 float tolerance,
Criterion criterion,
int depth);
563 const std::vector<Vec2>* getActivePoints()
const {
564 return (_calculated ? &_pointbuff : (_spline ? &(_spline->_points) :
nullptr));
572 bool isClosed()
const {
573 return (_calculated ? _closed : (_spline ? _spline->_closed :
false));
Definition: CUCubicSplineApproximator.h:70
void reset()
Definition: CUCubicSplineApproximator.h:160
std::vector< float > getParameters() const
void clear()
Definition: CUCubicSplineApproximator.h:171
CubicSplineApproximator()
Definition: CUCubicSplineApproximator.h:124
CubicSpline getRefinement() const
Definition: CUCubicSplineApproximator.h:116
std::vector< Vec2 > getNormals() const
Definition: CUCubicSpline.h:88
Poly2 getHandles(float radius, int segments=4) const
CubicSplineApproximator(const CubicSpline *spline)
Definition: CUCubicSplineApproximator.h:131
Definition: CUPoly2.h:109
void set(const CubicSpline *spline)
Definition: CUCubicSplineApproximator.h:149
void calculate(Criterion criterion=Criterion::DISTANCE, float tolerance=DEFAULT_TOLERANCE)
Definition: CUCubicSplineApproximator.h:100
~CubicSplineApproximator()
Criterion
Definition: CUCubicSplineApproximator.h:93
std::vector< Vec2 > getTangents() const
void clear()
Definition: CUCubicSpline.h:670
Definition: CUCubicSplineApproximator.h:108
Poly2 getAnchors(float radius, int segments=4) const