27#ifndef INC_CINOSMOVEPATHPARTCIRCLE_H
28#define INC_CINOSMOVEPATHPARTCIRCLE_H
77 virtual double Prepare(uint32 auIncremental,
double* apPosition)
override;
80 virtual void GetPosition(
double adP,
double* apPosition)
override;
82 virtual void GetDerivative(uint32 auLevel,
double adP,
double* apDerivative)
override;
84 virtual void GetD2max(
double* apD2max)
override;
86 virtual void GetD3max(
double* apD2max)
override;
112 eOptNone = 0x00000000,
113 eOptClockWise = 0x00000001,
137 double adMid2,
double adAngle,
bool abAngleAbsolute, uint32 auOptions);
157 double adEnd2,
double adMid1,
double adMid2, uint32 auOptions);
186 double adEnd2,
double adRadius, uint32 auOptions);
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition cinosmovepathpartcircle.h:50
uint8 m_uSubType
circle type
Definition cinosmovepathpartcircle.h:193
double m_dEndO[2]
circle end point (original)
Definition cinosmovepathpartcircle.h:213
virtual double GetMaxVectorLength(double adError) override
get max linear error
virtual bool IsEndBlendingAllowed() override
return true if end blending allowed
Definition cinosmovepathpartcircle.h:98
virtual bool IsStartBlendingAllowed() override
return true if start blending allowed
Definition cinosmovepathpartcircle.h:91
CINOSMovePathPartCircle(uint8 auIndex1, uint8 auIndex2, double adEnd1, double adEnd2, double adMid1, double adMid2, uint32 auOptions)
virtual void GetDerivative(uint32 auLevel, double adP, double *apDerivative) override
get auLevel derivative at P
double GetRadius()
get circle radius
Definition cinosmovepathpartcircle.h:70
uint32 m_uOptions
circle options
Definition cinosmovepathpartcircle.h:197
double m_dMidO[2]
circle middle point (original)
Definition cinosmovepathpartcircle.h:209
CINOSMovePathPartCircle(uint8 auIndex1, uint8 auIndex2, double adMid1, double adMid2, double adAngle, bool abAngleAbsolute, uint32 auOptions)
uint8 m_uIndex[2]
axis indexes
Definition cinosmovepathpartcircle.h:195
virtual uint32 GetInvolved() override
get mask of involved axes
Definition cinosmovepathpartcircle.h:64
virtual void GetPosition(double adP, double *apPosition) override
get position at P
double m_dAlpha0
starting angle
Definition cinosmovepathpartcircle.h:203
virtual uint8 GetMainAxisIndex() override
get main axis index (relevant for abs/inc/nlg)
Definition cinosmovepathpartcircle.h:57
CINOSMovePathPartCircle(uint8 auIndex1, uint8 auIndex2, double adEnd1, double adEnd2, double adRadius, uint32 auOptions)
double m_dEndC[2]
circle end point (calculated)
Definition cinosmovepathpartcircle.h:215
virtual void GetD2max(double *apD2max) override
get max 2. derivative of part
double m_dAlpha
calculated angle
Definition cinosmovepathpartcircle.h:201
double m_dAngle
requested angle
Definition cinosmovepathpartcircle.h:199
virtual ~CINOSMovePathPartCircle()
destructor
double m_dRadiusEnd
radius at end of circle
Definition cinosmovepathpartcircle.h:207
double m_dMidC[2]
circle middle point (calculated)
Definition cinosmovepathpartcircle.h:211
virtual double Prepare(uint32 auIncremental, double *apPosition) override
prepare part
double m_dRadius
requested radius
Definition cinosmovepathpartcircle.h:205
virtual void GetD3max(double *apD2max) override
get max 3. derivative of part
Definition cinosmovepathpart.h:45
Definition cinosmovepath.h:566