Go to the documentation of this file.
27 #ifndef INC_CINOSMOVEPATHINTERPOLATORNURBS_H
28 #define INC_CINOSMOVEPATHINTERPOLATORNURBS_H
86 TINOSMovePathVec& ovPos)
override;
89 TINOSMovePathVec& ovDir)
override;
94 TINOSMovePathVec& ovDer)
override;
96 virtual void GetD2max(
double adBgn,
double adEnd, TINOSMovePathVec& aD2max)
override;
98 virtual void GetD3max(
double adBgn,
double adEnd, TINOSMovePathVec& aD3max)
override;
101 virtual uint32
Prepare()
override;
112 CINOSMovePathInterpolatorNurbs::NurbsCleanup();
121 double adTolerance,
double adShorten = 0.0,
double adExtend = 0.0);
136 virtual void Cleanup()
override;
176 #endif // INC_CINOSMOVEPATHINTERPOLATORNURBS_H
#define DF_INOS_NURBSCURVE_INTERPOLATION_POINTS
Definition: inosdefault.h:196
virtual ~CINOSMovePathInterpolatorNurbs()
destructor
Definition: cinosmovepathinterpolatornurbs.h:111
bool m_bOverlapPos
overlap position valid
Definition: cinosmovepathinterpolatornurbs.h:162
virtual SINOSNurbsPart * GetPart(double adP)
get part
double m_dVectorize
vectorize factor
Definition: cinosmovepathinterpolatornurbs.h:158
virtual double GetCurveLength() override
get curve length
Definition: cinosmovepathinterpolatornurbs.h:50
double m_dOverlapExtend
overlap reduce length
Definition: cinosmovepathinterpolatornurbs.h:166
CINOSMovePathInterpolatorNurbs(CINOSMovePathCurve *apCurve, CINOSMovePath *apPath=NULL)
constructor
CINOSMovePathSegment * m_pSegmentFirst
pointer to first curve segment
Definition: cinosmovepathinterpolatornurbs.h:59
uint32 m_uSegmentActualIndex
actual segment index
Definition: cinosmovepathinterpolatornurbs.h:63
virtual uint32 PreparePart(CINOSMovePathSegmentBase *apBgn, CINOSMovePathSegmentBase *apEnd, CINOSMovePathSegmentBase *apNxt, double adTolerance, double adShorten=0.0, double adExtend=0.0)
prepare part
virtual uint32 Prepare() override
do precalculation
Definition: cinosmovepathinterpolatornurbs.h:74
uint32 m_uParts
number of parts
Definition: cinosmovepathinterpolatornurbs.h:150
Definition: cinosmovepathinterpolator.h:81
virtual void GetDerivative(uint32 auLevel, double adP, TINOSMovePathVec &ovDer) override
get auLevel derivative vector at 'adP'
virtual void GetPosition(double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) override
get position vector at 'adP'
CINOSNurbsCurve< DF_INOS_MOVEPATH_MAX_AXES > m_Curve
curve
Definition: cinosmovepathinterpolatornurbs.h:67
#define DF_INOS_MOVEPATH_MAX_POINTS
Definition: inosdefault.h:161
virtual void GetDirection(double adP, TINOSMovePathVec &ovDir) override
get direction vector at 'adP'
Definition: cinosmovepath.h:549
virtual void GetD2max(double adBgn, double adEnd, TINOSMovePathVec &aD2max) override
get max D2 vector of given range
Definition: cinosmovepathsegment.h:44
Definition: cinosmovepathcurve.h:55
Definition: cinosmovepathsegmentbase.h:47
CINOSMovePathSegment * m_pSegmentActual
pointer to actual curve segment
Definition: cinosmovepathinterpolatornurbs.h:61
The CINOSMovePathInterpolator class.
double m_dStart
part start
Definition: cinosmovepathinterpolatornurbs.h:53
double m_dLength
curve length
Definition: cinosmovepathinterpolatornurbs.h:148
virtual void Cleanup() override
cleanup
The CINOSNurbsCurve class.
uint32 GetPartPoints(CINOSMovePathSegmentBase *apBgn, CINOSMovePathSegmentBase *apEnd, double adTolerance)
get number of part points
uint32 m_uInterpolationPoints
nurbs interpolation points
Definition: cinosmovepathinterpolatornurbs.h:160
SINOSNurbsPart * m_pPart[DF_INOS_MOVEPATH_MAX_POINTS]
array of parts
Definition: cinosmovepathinterpolatornurbs.h:154
TINOSMovePathVec m_OverlapPos
overlap position
Definition: cinosmovepathinterpolatornurbs.h:164
virtual void GetD3max(double adBgn, double adEnd, TINOSMovePathVec &aD3max) override
get max D3 vector of given range
double m_dVectorLength[DF_INOS_MOVEPATH_MAX_POINTS >>1]
sub parts vector lengths
Definition: cinosmovepathinterpolatornurbs.h:156
virtual void GetDirectionLast(TINOSMovePathVec &ovDir) override
get direction vector at the end
uint32 m_uSegmentActualId
actual segment id
Definition: cinosmovepathinterpolatornurbs.h:65
uint32 m_uLastPart
last part index
Definition: cinosmovepathinterpolatornurbs.h:152
virtual double CalcAngle(CINOSMovePathSegment *apSeg1, CINOSMovePathSegment *apSeg2)
calc angle between segments