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