INOS
|
Public Types | |
enum | { eOptNone = 0x00000000 , eOptClockWise = 0x00000001 , eOptInverted = 0x00000002 } |
clothoid options | |
![]() | |
enum | { eTypeUnknown , eTypeLinear , eTypeLinearBay , eTypeCircle , eTypeRapid } |
Public Member Functions | |
virtual uint8 | GetMainAxisIndex () |
get main axis index (relevant for abs/inc/nlg) | |
virtual uint32 | GetInvolved () |
get mask of involved axes | |
virtual double | Prepare (uint32 auIncremental, double *apPosition) |
prepare part | |
virtual void | GetPosition (double adP, double *apPosition) |
get position at P | |
virtual void | GetDerivative (uint32 auLevel, double adP, double *apDerivative) |
get auLevel derivative at P | |
virtual void | GetD2max (double *apD2max) |
get max 2. derivative of part | |
virtual void | GetD3max (double *apD3max) |
get max 3. derivative of part | |
CINOSMovePathPartClothoid (uint8 auIndex1, uint8 auIndex2, double adR, double adL, double adRotationAngle, uint32 auOptions) | |
virtual | ~CINOSMovePathPartClothoid () |
destructor | |
![]() | |
uint8 | GetType () |
get part type | |
virtual double | GetMaxVectorLength (double adError) |
get max vector length for given error | |
virtual bool | IsStartBlendingAllowed () |
return true if start blending allowed | |
virtual bool | IsEndBlendingAllowed () |
return true if end blending allowed | |
virtual bool | IsContinuous (uint32 auLevel) |
return true if part is auLevel continuous | |
CINOSMovePathPart () | |
constructor | |
CINOSMovePathPart (uint8 auType) | |
constructor | |
virtual | ~CINOSMovePathPart () |
destructor | |
void | SetSegment (class CINOSMovePathSegment *apSegment) |
set pointer to my segment | |
Static Public Member Functions | |
static double | GetTangentLength (double adR, double adL, double adGamma) |
static void | GetXY (double adL, uint32 auOptions, double &adX, double &adY, SINOSMovePathPartClothoidConstants &asConst) |
get clothoid coordinates | |
static void | InitConstants (double adA, SINOSMovePathPartClothoidConstants &asConst) |
init calculation constants | |
Protected Member Functions | |
double | GetD2x (double adP) |
get 2. derivative of x coord at given P | |
double | GetD2y (double adP) |
get 2. derivative of y coord at given P | |
double | GetD3x (double adP) |
get 3. derivative of x coord at given P | |
double | GetD3y (double adP) |
get 3. derivative of y coord at given P | |
DECLARE_DYNAMIC (CINOSMovePathPartClothoid) | |
![]() | |
DECLARE_DYNAMIC (CINOSMovePathPart) | |
Protected Attributes | |
uint8 | m_uIndex [2] |
axis indexes | |
uint32 | m_uOptions |
clothoid options | |
double | m_dR |
requested radius | |
double | m_dL |
requested length | |
double | m_dA |
clothoid param A | |
double | m_dA_2 |
double | m_dA_4 |
double | m_dRotationAngle |
rotation angle | |
double | m_dCosA |
rotation factors | |
double | m_dSinA |
double | m_dXe |
calc end coordinates | |
double | m_dYe |
SINOSMovePathPartClothoidConstants | m_sConst |
![]() | |
uint8 | m_uType |
part type | |
class CINOSMovePathSegment * | m_pSegment |
pointer to my segment | |
Friends | |
class | CINOSMovePath |
CINOSMovePathPartClothoid::CINOSMovePathPartClothoid | ( | uint8 | auIndex1, |
uint8 | auIndex2, | ||
double | adR, | ||
double | adL, | ||
double | adRotationAngle, | ||
uint32 | auOptions | ||
) |
Clothoid part : A = sqrt(R*L)
auIndex1 | Index of the first axis |
auIndex2 | Index of the second axis |
adR | End radius, R of A^2=R*L |
adL | Clothoid length, L of A^2=R*L |
auOptions | see enum clothoid options |
get max 2. derivative of part
Implements CINOSMovePathPart.
get max 3. derivative of part
Implements CINOSMovePathPart.
|
virtual |
get auLevel derivative at P
Implements CINOSMovePathPart.
|
inlinevirtual |
get mask of involved axes
Implements CINOSMovePathPart.
get main axis index (relevant for abs/inc/nlg)
Implements CINOSMovePathPart.
get position at P
Implements CINOSMovePathPart.
|
static |
return tangent length from starting point of clothoid till intersection point of the two base linear segments
|
virtual |
prepare part
Implements CINOSMovePathPart.