INOS
CINOSMovePathSegmentBase Class Reference
Inheritance diagram for CINOSMovePathSegmentBase:

Public Member Functions

void AddPart (CINOSMovePathPart *apPart, uint32 auFlags)
 add part to segment
 
uint32 GetParts ()
 get number of parts
 
CINOSMovePathPartGetPart (uint32 auNumber)
 get n-th part
 
virtual void GetPosition (double adP, TINOSMovePathVec &ovPos) override
 get position at 'adP'
 
virtual void GetDerivative (uint32 auLevel, double adP, TINOSMovePathVec &ovDir) override
 get auLevel derivative at 'adP'
 
virtual void GetD2max (TINOSMovePathVec &ovD2max) override
 get D2 max
 
virtual void GetD3max (TINOSMovePathVec &ovD3max) override
 get D3 max
 
double GetMaxVectorLength (double adError)
 get vector length for given error
 
virtual void GetDerivativeBgn (uint32 auLevel, TINOSMovePathVec &ovDir) override
 get auLevel derivative at segment begin
 
virtual void GetDerivativeEnd (uint32 auLevel, TINOSMovePathVec &ovDir) override
 get auLevel derivative at segment end
 
virtual uint32 Check () override
 check segment integrity (called before added to curve)
 
virtual uint32 Prepare (double &adP, uint32 uIncremental, TINOSMovePathVec &ovPos, double adEpsilon) override
 prepare segment
 
virtual void Recalc (double &adP, TINOSMovePathVec &ovStart, uint32 auInvolved, double adEpsilon) override
 prepare segment
 
virtual bool IsStartBlendingAllowed () override
 return true if start blending allowed
 
virtual bool IsEndBlendingAllowed () override
 return true if end blending allowed
 
virtual bool IsContinuous (uint32 auLevel) override
 return true if segment is auLevel continuous
 
 CINOSMovePathSegmentBase ()
 constructor
 
 CINOSMovePathSegmentBase (uint32 auId, uint32 auFlags, double adTolerance, double adVelocity)
 constructor
 
virtual ~CINOSMovePathSegmentBase ()
 destructor
 
void DestroyParts ()
 destroy parts
 
- Public Member Functions inherited from CINOSMovePathSegment
double GetLength ()
 get segment length
 
double GetLength_1 ()
 get segment 1/length
 
uint32 GetId ()
 get segment id
 
uint32 GetFlags ()
 get flags
 
void SetFlags (uint32 auFlags)
 set flags
 
bool IsPureLinear ()
 return true if segment is pure linear
 
bool IsPureRapid ()
 return true if segment is pure linear
 
virtual void GetPositionFirst (TINOSMovePathVec &ovPos)
 get start position
 
virtual void GetPositionLast (TINOSMovePathVec &ovPos)
 get end position
 
CINOSMovePathSegmentGetNext ()
 get pointer to next segment in chain
 
void SetNext (CINOSMovePathSegment *apSegment)
 set pointer to next segment in chain
 
CINOSMovePathSegmentGetPrevious ()
 get pointer to previous segment in chain
 
void SetPrevious (CINOSMovePathSegment *apSegment)
 set pointer to previous segment in chain
 
uint32 GetInvolved ()
 get involved axes
 
double GetStart ()
 get segment start
 
virtual void SetStart (double &adP)
 set segment start, adjusts segment end accordingly and sets adP to new end.
 
double GetEnd ()
 get segment end
 
double GetTolerance ()
 get segment tolerance
 
double GetVelocity ()
 get segment velocity
 
uint32 GetLengthMask ()
 get segment length mask
 
 CINOSMovePathSegment ()
 constructor
 
 CINOSMovePathSegment (uint32 auId, uint32 auFlags, double adTolerance, double adVelocity)
 constructor
 
virtual ~CINOSMovePathSegment ()
 destructor
 

Protected Member Functions

 DECLARE_DYNAMIC (CINOSMovePathSegmentBase)
 
- Protected Member Functions inherited from CINOSMovePathSegment
 DECLARE_DYNAMIC (CINOSMovePathSegment)
 

Protected Attributes

class CINOSMovePathPartm_pParts [DF_INOS_MOVEPATH_MAX_AXES]
 array of my parts. Can store at most as many parts as supported "axes"
 
- Protected Attributes inherited from CINOSMovePathSegment
uint32 m_uFlags
 segment flags
 
double m_dLength
 segment length
 
double m_dLength_1
 segment 1/length
 
uint32 m_uId
 segment id
 
uint32 m_uInvolved
 involved axes
 
uint32 m_uAbsolute
 absolute mask (bit = 1 -> corresponding part is absolute)
 
uint32 m_uIncremental
 incremental mask (bit = 1 -> corresponding part is incremental)
 
uint32 m_uLengthMask
 length mask (bit = 1 -> corresponding part is NOT length relevant)
 
double m_dTolerance
 tolerance
 
double m_dVelocity
 velocity
 
double m_dStart
 segment start position
 
double m_dEnd
 segment end position
 
TINOSMovePathVec m_vStart
 segment start position vector
 
TINOSMovePathVec m_vEnd
 segment end position vector
 
CINOSMovePathSegmentm_pNxtSegment
 pointer to next segment in chain
 
CINOSMovePathSegmentm_pPrvSegment
 pointer to previous segment in chain
 

Friends

class CINOSMovePath
 
class CINOSMovePathCurve
 

Member Function Documentation

◆ Check()

virtual uint32 CINOSMovePathSegmentBase::Check ( )
inlineoverridevirtual

check segment integrity (called before added to curve)

Implements CINOSMovePathSegment.

◆ GetD2max()

virtual void CINOSMovePathSegmentBase::GetD2max ( TINOSMovePathVec &  ovD2max)
overridevirtual

get D2 max

Implements CINOSMovePathSegment.

◆ GetD3max()

virtual void CINOSMovePathSegmentBase::GetD3max ( TINOSMovePathVec &  ovD3max)
overridevirtual

get D3 max

Implements CINOSMovePathSegment.

◆ GetDerivative()

virtual void CINOSMovePathSegmentBase::GetDerivative ( uint32  auLevel,
double  adP,
TINOSMovePathVec &  ovDir 
)
overridevirtual

get auLevel derivative at 'adP'

Implements CINOSMovePathSegment.

◆ GetDerivativeBgn()

virtual void CINOSMovePathSegmentBase::GetDerivativeBgn ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
overridevirtual

get auLevel derivative at segment begin

Implements CINOSMovePathSegment.

◆ GetDerivativeEnd()

virtual void CINOSMovePathSegmentBase::GetDerivativeEnd ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
overridevirtual

get auLevel derivative at segment end

Implements CINOSMovePathSegment.

◆ GetPosition()

virtual void CINOSMovePathSegmentBase::GetPosition ( double  adP,
TINOSMovePathVec &  ovPos 
)
overridevirtual

get position at 'adP'

Implements CINOSMovePathSegment.

◆ IsContinuous()

virtual bool CINOSMovePathSegmentBase::IsContinuous ( uint32  auLevel)
overridevirtual

return true if segment is auLevel continuous

Implements CINOSMovePathSegment.

◆ IsEndBlendingAllowed()

virtual bool CINOSMovePathSegmentBase::IsEndBlendingAllowed ( )
overridevirtual

return true if end blending allowed

Reimplemented from CINOSMovePathSegment.

◆ IsStartBlendingAllowed()

virtual bool CINOSMovePathSegmentBase::IsStartBlendingAllowed ( )
overridevirtual

return true if start blending allowed

Reimplemented from CINOSMovePathSegment.

◆ Prepare()

virtual uint32 CINOSMovePathSegmentBase::Prepare ( double adP,
uint32  uIncremental,
TINOSMovePathVec &  ovPos,
double  adEpsilon 
)
overridevirtual

prepare segment

Implements CINOSMovePathSegment.

◆ Recalc()

virtual void CINOSMovePathSegmentBase::Recalc ( double adP,
TINOSMovePathVec &  ovStart,
uint32  auInvolved,
double  adEpsilon 
)
overridevirtual

prepare segment

Implements CINOSMovePathSegment.


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