INOS
CINOSMovePathInterpolatorShape Class Reference
Inheritance diagram for CINOSMovePathInterpolatorShape:

Public Member Functions

virtual void GetPosition (double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) override
 get position vector at 'adP'
 
virtual double GetCurveLength () override
 get curve length
 
virtual bool IsCurveContinuous (uint32 auLevel) override
 check if curve continuous
 
virtual uint32 Prepare () override
 do precalculation
 
virtual uint32 ConnectSegments (CINOSMovePathInterpolator *apOther) override
 
 CINOSMovePathInterpolatorShape (CINOSMovePathCurve *apCurve, CINOSMovePath *apPath=nullptr)
 constructor
 
- Public Member Functions inherited from CINOSMovePathInterpolator
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
 
CINOSMovePathInterpolatorSegment * GetFirstSegment ()
 
CINOSMovePathInterpolatorSegment * GetLastSegment ()
 
void AddSegment (CINOSMovePathInterpolatorSegment *apSegment)
 
virtual ~CINOSMovePathInterpolator ()
 destructor
 

Protected Member Functions

void CalcTandV (TINOSMovePathVec &iP0, TINOSMovePathVec &iP1, TINOSMovePathVec &iVmax, double adVcmd, uint32 auMask, double &odT, double &odFactor, TINOSMovePathVec &oV)
 cal T and V vector of a segment
 
double GetCorrectedP (double adP)
 get corrected P
 
virtual void Cleanup () override
 cleanup
 
 DECLARE_DYNAMIC (CINOSMovePathInterpolatorShape)
 
- Protected Member Functions inherited from CINOSMovePathInterpolator
 CINOSMovePathInterpolator (CINOSMovePathCurve *apCurve, class CINOSMovePath *apPath=NULL)
 constructor
 
class CINOSMovePathGetPath ()
 get pointer to my path
 
void SetPath (class CINOSMovePath *apPath)
 set pointer to my path
 
class CINOSMovePathCurveGetCurve ()
 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)
 

Protected Attributes

double m_dPlast = 0.0
 P of last GetPosition.
 
double m_dLengthCorrection = 0.0
 curve length correction
 
double m_dConnectionLength = 0.0
 curve length correction
 
class CINOSRampJob * m_pJob [DF_INOS_MOVEPATH_MAX_AXES]
 ramp jobs
 
struct SCorr * m_pFstCorr = nullptr
 pointer to head of correctino list
 
struct SCorr * m_pLstCorr = nullptr
 
- Protected Attributes inherited from CINOSMovePathInterpolator
inosName32 m_cType
 interpolator type
 
class CINOSMovePathm_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
 
CINOSMovePathCurvem_pCurve
 
class CINOSMovePathInterpolatorSegment * m_pFirstSegment = nullptr
 array of interpolator segments
 
class CINOSMovePathInterpolatorSegment * m_pLastSegment = nullptr
 

Additional Inherited Members

- Public Types inherited from CINOSMovePathInterpolator
typedef std::function< CINOSMovePathInterpolator *(CINOSMovePathCurve *, CINOSMovePath *)> TINOSInterpolatorConstructor
 
- Static Public Member Functions inherited from CINOSMovePathInterpolator
static CINOSMovePathInterpolatorCreateInterpolator (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 inherited from CINOSMovePathInterpolator
typedef std::map< std::string, TINOSInterpolatorConstructor > TINOSInterpolatorMap
 
- Static Protected Member Functions inherited from CINOSMovePathInterpolator
static TINOSInterpolatorMap & GetInterpolatorsMap ()
 get interpolatos map, to avoid inserting before initialization
 

Member Function Documentation

◆ Cleanup()

virtual void CINOSMovePathInterpolatorShape::Cleanup ( )
overrideprotectedvirtual

cleanup

Reimplemented from CINOSMovePathInterpolator.

◆ ConnectSegments()

virtual uint32 CINOSMovePathInterpolatorShape::ConnectSegments ( CINOSMovePathInterpolator apOther)
overridevirtual

Reimplemented from CINOSMovePathInterpolator.

◆ GetCurveLength()

virtual double CINOSMovePathInterpolatorShape::GetCurveLength ( )
overridevirtual

get curve length

Reimplemented from CINOSMovePathInterpolator.

◆ GetPosition()

virtual void CINOSMovePathInterpolatorShape::GetPosition ( double  adP,
CINOSMovePathSegment *&  opSegment,
TINOSMovePathVec &  ovPos 
)
overridevirtual

get position vector at 'adP'

Reimplemented from CINOSMovePathInterpolator.

◆ IsCurveContinuous()

virtual bool CINOSMovePathInterpolatorShape::IsCurveContinuous ( uint32  auLevel)
inlineoverridevirtual

check if curve continuous

Reimplemented from CINOSMovePathInterpolator.

◆ Prepare()

virtual uint32 CINOSMovePathInterpolatorShape::Prepare ( )
overridevirtual

do precalculation

Reimplemented from CINOSMovePathInterpolator.


The documentation for this class was generated from the following file: