INOS
|
Public Types | |
typedef std::function< CINOSMovePathInterpolator *(CINOSMovePathCurve *, CINOSMovePath *)> | TINOSInterpolatorConstructor |
Public Member Functions | |
virtual void | GetPosition (double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) |
get position vector at 'adP' | |
virtual void | GetDirection (double adP, TINOSMovePathVec &ovDir) |
get direction vector at 'adP' | |
virtual void | GetDirectionLast (TINOSMovePathVec &ovDir) |
get direction vector at the end | |
virtual void | GetDerivative (uint32 auLevel, double adP, TINOSMovePathVec &ovDer) |
get auLevel derivative vector at 'adP' | |
virtual void | GetD2max (double adBgn, double adEnd, TINOSMovePathVec &aD2max) |
get max D2 vector of given range | |
virtual void | GetD3max (double adBgn, double adEnd, TINOSMovePathVec &aD3max) |
get max D3 vector of given range | |
virtual double | GetCurveLength () |
get curve length | |
virtual bool | IsCurveContinuous (uint32 auLevel) |
check if curve continuous | |
virtual uint32 | Prepare () |
do precalculation | |
CINOSMovePathInterpolatorSegment * | GetFirstSegment () |
CINOSMovePathInterpolatorSegment * | GetLastSegment () |
void | AddSegment (CINOSMovePathInterpolatorSegment *apSegment) |
virtual uint32 | ConnectSegments (CINOSMovePathInterpolator *apOther) |
virtual | ~CINOSMovePathInterpolator () |
destructor | |
Static Public Member Functions | |
static CINOSMovePathInterpolator * | CreateInterpolator (const char *apInterpolatorType, CINOSMovePathCurve *apCurve, CINOSMovePath *apMovePath) |
static int | AddInterpolator (const char *apInterpolatorType, const TINOSInterpolatorConstructor &constructor_call) |
add new interpolator constructor to the interplators map | |
static bool | CheckInterpolatorType (const char *apInterpolatorType) |
check if an interpolator with the given name is in the interpolators map | |
Protected Types | |
typedef std::map< std::string, TINOSInterpolatorConstructor > | TINOSInterpolatorMap |
Protected Member Functions | |
CINOSMovePathInterpolator (CINOSMovePathCurve *apCurve, class CINOSMovePath *apPath=NULL) | |
constructor | |
virtual void | Cleanup () |
cleanup | |
class CINOSMovePath * | GetPath () |
get pointer to my path | |
void | SetPath (class CINOSMovePath *apPath) |
set pointer to my path | |
class CINOSMovePathCurve * | GetCurve () |
get pointer to my curve | |
bool | IsContinuous (CINOSMovePathSegment *apSegment1, CINOSMovePathSegment *apSegment2, uint32 auLevel) |
return true if segment 1 and 2 are auLevel continuous | |
bool | IsBlendingRequired (CINOSMovePathSegment *apSegment1, CINOSMovePathSegment *apSegment2) |
return true if blending between segment 1 and 2 required | |
bool | IsBlendingAllowed (CINOSMovePathSegment *apSegment1, CINOSMovePathSegment *apSegment2) |
return true if blending between segment 1 and 2 allowed | |
virtual CINCOObject * | RequestRegister () |
return pointer to inco registration | |
void | ReleaseRegister () |
release inco registration | |
CINCOObject * | GetRegister () |
get pointer to inco registration (if any) | |
DECLARE_DYNAMIC (CINOSMovePathInterpolator) | |
Static Protected Member Functions | |
static TINOSInterpolatorMap & | GetInterpolatorsMap () |
get interpolatos map, to avoid inserting before initialization | |
Protected Attributes | |
inosName32 | m_cType |
interpolator type | |
class CINOSMovePath * | m_pPath |
pointer to my path | |
char | m_cSpeedSet [64] |
speedset name | |
SINOSRampParam | m_sSpeedSet |
speedset | |
double | m_dTolerance |
requested tolerance | |
double | m_dCycleTime |
cycle time | |
double | m_dCycleTime_1 |
inverse cycle time | |
uint32 | m_uRegisterCnt = 0 |
inco tree registration counter | |
CINCOObject * | m_pRegister = nullptr |
pointer to inco registration | |
CINOSMovePathCurve * | m_pCurve |
class CINOSMovePathInterpolatorSegment * | m_pFirstSegment = nullptr |
array of interpolator segments | |
class CINOSMovePathInterpolatorSegment * | m_pLastSegment = nullptr |
Friends | |
class | CINOSMovePath |
cleanup
Reimplemented in CINOSMovePathInterpolatorBlend, CINOSMovePathInterpolatorNurbs, and CINOSMovePathInterpolatorShape.
get curve length
Reimplemented in CINOSMovePathInterpolatorNurbs, and CINOSMovePathInterpolatorShape.
|
virtual |
get max D2 vector of given range
Reimplemented in CINOSMovePathInterpolatorNurbs.
|
virtual |
get max D3 vector of given range
Reimplemented in CINOSMovePathInterpolatorNurbs.
|
virtual |
get auLevel derivative vector at 'adP'
Reimplemented in CINOSMovePathInterpolatorNurbs.
|
virtual |
get direction vector at 'adP'
Reimplemented in CINOSMovePathInterpolatorNurbs.
get direction vector at the end
Reimplemented in CINOSMovePathInterpolatorNurbs.
|
virtual |
get position vector at 'adP'
Reimplemented in CINOSMovePathInterpolatorBlend, CINOSMovePathInterpolatorClothoid, CINOSMovePathInterpolatorNurbs, and CINOSMovePathInterpolatorShape.
check if curve continuous
Reimplemented in CINOSMovePathInterpolatorClothoid, CINOSMovePathInterpolatorNone, and CINOSMovePathInterpolatorShape.
|
virtual |
do precalculation
Reimplemented in CINOSMovePathInterpolatorBlend, CINOSMovePathInterpolatorClothoid, CINOSMovePathInterpolatorNone, CINOSMovePathInterpolatorNurbs, and CINOSMovePathInterpolatorShape.