27#ifndef INC_CINOSMOVEPATHPARTCLOTHOID_H
28#define INC_CINOSMOVEPATHPARTCLOTHOID_H
52 double m_dY[eCnsSeries];
80 virtual double Prepare(uint32 auIncremental,
double* apPosition)
override;
83 virtual void GetPosition(
double adP,
double* apPosition)
override;
85 virtual void GetDerivative(uint32 auLevel,
double adP,
double* apDerivative)
override;
87 virtual void GetD2max(
double* apD2max)
override;
89 virtual void GetD3max(
double* apD3max)
override;
103 eOptNone = 0x00000000,
104 eOptClockWise = 0x00000001,
105 eOptInverted = 0x00000002,
116 double adR,
double adL,
double adRotationAngle, uint32 auOptions);
121 static void GetXY(
double adL, uint32 auOptions,
double& adX,
double& adY,
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition cinosmovepathpartclothoid.h:60
virtual double Prepare(uint32 auIncremental, double *apPosition) override
prepare part
double m_dL
requested length
Definition cinosmovepathpartclothoid.h:144
double GetD2x(double adP)
get 2. derivative of x coord at given P
double m_dRotationAngle
rotation angle
Definition cinosmovepathpartclothoid.h:150
virtual void GetPosition(double adP, double *apPosition) override
get position at P
virtual void GetDerivative(uint32 auLevel, double adP, double *apDerivative) override
get auLevel derivative at P
double GetD2y(double adP)
get 2. derivative of y coord at given P
CINOSMovePathPartClothoid(uint8 auIndex1, uint8 auIndex2, double adR, double adL, double adRotationAngle, uint32 auOptions)
virtual void GetD3max(double *apD3max) override
get max 3. derivative of part
uint32 m_uOptions
clothoid options
Definition cinosmovepathpartclothoid.h:140
double m_dA
clothoid param A
Definition cinosmovepathpartclothoid.h:146
static double GetTangentLength(double adR, double adL, double adGamma)
double m_dCosA
rotation factors
Definition cinosmovepathpartclothoid.h:152
uint8 m_uIndex[2]
axis indexes
Definition cinosmovepathpartclothoid.h:138
virtual ~CINOSMovePathPartClothoid()
destructor
double m_dR
requested radius
Definition cinosmovepathpartclothoid.h:142
virtual uint8 GetMainAxisIndex() override
get main axis index (relevant for abs/inc/nlg)
Definition cinosmovepathpartclothoid.h:67
double m_dXe
calc end coordinates
Definition cinosmovepathpartclothoid.h:155
double GetD3y(double adP)
get 3. derivative of y coord at given P
virtual void GetD2max(double *apD2max) override
get max 2. derivative of part
double GetD3x(double adP)
get 3. derivative of x coord at given P
virtual uint32 GetInvolved() override
get mask of involved axes
Definition cinosmovepathpartclothoid.h:74
static void InitConstants(double adA, SINOSMovePathPartClothoidConstants &asConst)
init calculation constants
static void GetXY(double adL, uint32 auOptions, double &adX, double &adY, SINOSMovePathPartClothoidConstants &asConst)
get clothoid coordinates
Definition cinosmovepathpart.h:45
Definition cinosmovepath.h:566
Definition cinosmovepathpartclothoid.h:45
double m_dX[eCnsSeries]
calculation constants
Definition cinosmovepathpartclothoid.h:51