INOS
CINOSMovePathSegment Class Referenceabstract
Inheritance diagram for CINOSMovePathSegment:

Public Member Functions

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 GetPosition (double adP, TINOSMovePathVec &ovPos)=0
 get position at 'adP'
 
virtual void GetPositionFirst (TINOSMovePathVec &ovPos)
 get start position
 
virtual void GetPositionLast (TINOSMovePathVec &ovPos)
 get end position
 
virtual void GetDerivative (uint32 auLevel, double adP, TINOSMovePathVec &ovDir)=0
 get auLevel derivative at 'adP'
 
virtual void GetD2max (TINOSMovePathVec &ovDir)=0
 get max 2nd derivative of segment
 
virtual void GetD3max (TINOSMovePathVec &ovDir)=0
 get max 3rd derivative of segment
 
virtual void GetDerivativeBgn (uint32 auLevel, TINOSMovePathVec &ovDir)=0
 get auLevel derivative at segment begin
 
virtual void GetDerivativeEnd (uint32 auLevel, TINOSMovePathVec &ovDir)=0
 get auLevel derivative at segment end
 
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
 
virtual uint32 Check ()=0
 check segment integrity (called before added to curve)
 
virtual uint32 Prepare (double &adP, uint32 uIncremental, TINOSMovePathVec &ovPos, double adEpsilon)=0
 prepare segment
 
virtual void Recalc (double &adP, TINOSMovePathVec &ovStart, uint32 auInvolved, double adEpsilon)=0
 recalc segment
 
virtual bool IsStartBlendingAllowed ()
 return true if start blending allowed
 
virtual bool IsEndBlendingAllowed ()
 return true if end blending allowed
 
virtual bool IsContinuous (uint32 auLevel)=0
 return true if segment is auLevel continuous
 
 CINOSMovePathSegment ()
 constructor
 
 CINOSMovePathSegment (uint32 auId, uint32 auFlags, double adTolerance, double adVelocity)
 constructor
 
virtual ~CINOSMovePathSegment ()
 destructor
 

Protected Member Functions

 DECLARE_DYNAMIC (CINOSMovePathSegment)
 

Protected Attributes

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 CINOSMovePathSegment::Check ( )
pure virtual

check segment integrity (called before added to curve)

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetD2max()

virtual void CINOSMovePathSegment::GetD2max ( TINOSMovePathVec &  ovDir)
pure virtual

get max 2nd derivative of segment

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetD3max()

virtual void CINOSMovePathSegment::GetD3max ( TINOSMovePathVec &  ovDir)
pure virtual

get max 3rd derivative of segment

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetDerivative()

virtual void CINOSMovePathSegment::GetDerivative ( uint32  auLevel,
double  adP,
TINOSMovePathVec &  ovDir 
)
pure virtual

get auLevel derivative at 'adP'

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetDerivativeBgn()

virtual void CINOSMovePathSegment::GetDerivativeBgn ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
pure virtual

get auLevel derivative at segment begin

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetDerivativeEnd()

virtual void CINOSMovePathSegment::GetDerivativeEnd ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
pure virtual

get auLevel derivative at segment end

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetPosition()

virtual void CINOSMovePathSegment::GetPosition ( double  adP,
TINOSMovePathVec &  ovPos 
)
pure virtual

get position at 'adP'

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ GetPositionFirst()

virtual void CINOSMovePathSegment::GetPositionFirst ( TINOSMovePathVec &  ovPos)
inlinevirtual

get start position

Reimplemented in CINOSMovePathSegmentNurbs.

◆ GetPositionLast()

virtual void CINOSMovePathSegment::GetPositionLast ( TINOSMovePathVec &  ovPos)
inlinevirtual

get end position

Reimplemented in CINOSMovePathSegmentNurbs.

◆ IsContinuous()

virtual bool CINOSMovePathSegment::IsContinuous ( uint32  auLevel)
pure virtual

return true if segment is auLevel continuous

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ IsEndBlendingAllowed()

virtual bool CINOSMovePathSegment::IsEndBlendingAllowed ( )
inlinevirtual

return true if end blending allowed

Reimplemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ IsStartBlendingAllowed()

virtual bool CINOSMovePathSegment::IsStartBlendingAllowed ( )
inlinevirtual

return true if start blending allowed

Reimplemented in CINOSMovePathSegmentBase.

◆ Prepare()

virtual uint32 CINOSMovePathSegment::Prepare ( double &  adP,
uint32  uIncremental,
TINOSMovePathVec &  ovPos,
double  adEpsilon 
)
pure virtual

prepare segment

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.

◆ Recalc()

virtual void CINOSMovePathSegment::Recalc ( double &  adP,
TINOSMovePathVec &  ovStart,
uint32  auInvolved,
double  adEpsilon 
)
pure virtual

recalc segment

Implemented in CINOSMovePathSegmentBase, and CINOSMovePathSegmentNurbs.


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