Go to the documentation of this file.
27 #ifndef INC_CINOSMOVEPATHSEGMENTBASE_H
28 #define INC_CINOSMOVEPATHSEGMENTBASE_H
65 virtual void GetPosition(
double adP, TINOSMovePathVec& ovPos)
override;
69 virtual void GetDerivative(uint32 auLevel,
double adP, TINOSMovePathVec& ovDir)
override;
73 virtual void GetD2max(TINOSMovePathVec& ovD2max)
override;
75 virtual void GetD3max(TINOSMovePathVec& ovD3max)
override;
83 virtual void GetDerivativeBgn(uint32 auLevel, TINOSMovePathVec& ovDir)
override;
87 virtual void GetDerivativeEnd(uint32 auLevel, TINOSMovePathVec& ovDir)
override;
98 virtual uint32
Prepare(
double& adP, uint32 uIncremental,
99 TINOSMovePathVec& ovPos,
double adEpsilon)
override;
102 virtual void Recalc(
double& adP, TINOSMovePathVec& ovStart, uint32 auInvolved,
103 double adEpsilon)
override;
159 #endif // INC_CINOSMOVEPATHSEGMENTBASE_H
The CINOSMovePathSegment class.
virtual void GetD2max(TINOSMovePathVec &ovD2max) override
get D2 max
CINOSMovePathPart * GetPart(uint32 auNumber)
get n-th part
virtual uint32 Check() override
check segment integrity (called before added to curve)
Definition: cinosmovepathsegmentbase.h:91
class CINOSMovePathPart * m_pParts[DF_INOS_MOVEPATH_MAX_AXES]
array of my parts. Can store at most as many parts as supported "axes"
Definition: cinosmovepathsegmentbase.h:148
void DestroyParts()
destroy parts
virtual uint32 Prepare(double &adP, uint32 uIncremental, TINOSMovePathVec &ovPos, double adEpsilon) override
prepare segment
virtual bool IsStartBlendingAllowed() override
return true if start blending allowed
virtual void GetD3max(TINOSMovePathVec &ovD3max) override
get D3 max
virtual void GetDerivativeBgn(uint32 auLevel, TINOSMovePathVec &ovDir) override
get auLevel derivative at segment begin
CINOSMovePathSegmentBase(uint32 auId, uint32 auFlags, double adTolerance, double adVelocity)
constructor
Definition: cinosmovepathsegmentbase.h:130
uint32 INOS_OK
Definition: inoserror.h:1681
virtual void GetDerivativeEnd(uint32 auLevel, TINOSMovePathVec &ovDir) override
get auLevel derivative at segment end
virtual bool IsEndBlendingAllowed() override
return true if end blending allowed
Definition: cinosmovepath.h:565
virtual bool IsContinuous(uint32 auLevel) override
return true if segment is auLevel continuous
The CINOSMovePathPartLinear class.
virtual void Recalc(double &adP, TINOSMovePathVec &ovStart, uint32 auInvolved, double adEpsilon) override
prepare segment
Definition: cinosmovepathsegment.h:44
Definition: cinosmovepathcurve.h:55
virtual void GetPosition(double adP, TINOSMovePathVec &ovPos) override
get position at 'adP'
Definition: cinosmovepathsegmentbase.h:47
Definition: cinosmovepathpart.h:44
uint32 GetParts()
get number of parts
The CINOSMovePathPart class.
double GetMaxVectorLength(double adError)
get vector length for given error
CINOSMovePathSegmentBase()
constructor
Definition: cinosmovepathsegmentbase.h:126
virtual ~CINOSMovePathSegmentBase()
destructor
Definition: cinosmovepathsegmentbase.h:136
#define DF_INOS_MOVEPATH_MAX_AXES
Definition: inosdefault.h:144
void AddPart(CINOSMovePathPart *apPart, uint32 auFlags)
add part to segment
virtual void GetDerivative(uint32 auLevel, double adP, TINOSMovePathVec &ovDir) override
get auLevel derivative at 'adP'