INOS
CINOSMovePathSegmentNurbs Class Reference
Inheritance diagram for CINOSMovePathSegmentNurbs:

Public Member Functions

void AddPoint (CINOSNurbsPoint< DF_INOS_MOVEPATH_MAX_AXES > &aPoint)
 add point to segment
 
void AddKnot (double adKnot, uint32 auMultiplicity=1)
 add knot to segment
 
virtual void GetPosition (double adP, TINOSMovePathVec &ovPos) override
 get position at 'adP'
 
virtual void GetPositionFirst (TINOSMovePathVec &ovPos) override
 get last position
 
virtual void GetPositionLast (TINOSMovePathVec &ovPos) override
 get last position
 
virtual void GetDerivative (uint32 auLevel, double adP, TINOSMovePathVec &ovDir) override
 get auLevel derivative at 'adP'
 
virtual void GetD2max (TINOSMovePathVec &ovD2max) override
 get max. second derivative over the whole segment
 
virtual void GetD3max (TINOSMovePathVec &ovD3max) override
 get max. 3rd derivative over the whole segment
 
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 IsEndBlendingAllowed () override
 return true if end blending allowed
 
virtual bool IsContinuous (uint32 auLevel) override
 return true if segment is auLevel continuous
 
CINOSNurbsCurve< DF_INOS_MOVEPATH_MAX_AXES > * GetCurve ()
 return pointer to curve
 
 CINOSMovePathSegmentNurbs (uint32 auId, uint32 auFlags, uint32 auDegree, uint32 auInterpolationPoints, uint32 auLengthMask, double adVelocity)
 constructor
 
- 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
 
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 bool IsStartBlendingAllowed ()
 return true if start blending allowed
 
 CINOSMovePathSegment ()
 constructor
 
 CINOSMovePathSegment (uint32 auId, uint32 auFlags, double adTolerance, double adVelocity)
 constructor
 
virtual ~CINOSMovePathSegment ()
 destructor
 

Protected Member Functions

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

Protected Attributes

CINOSNurbsCurve< DF_INOS_MOVEPATH_MAX_AXES > * m_pCurve = nullptr
 pointer to nurbs curve
 
- 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 CINOSMovePathSegmentNurbs::Check ( )
inlineoverridevirtual

check segment integrity (called before added to curve)

Implements CINOSMovePathSegment.

◆ GetD2max()

virtual void CINOSMovePathSegmentNurbs::GetD2max ( TINOSMovePathVec &  ovD2max)
inlineoverridevirtual

get max. second derivative over the whole segment

Implements CINOSMovePathSegment.

◆ GetD3max()

virtual void CINOSMovePathSegmentNurbs::GetD3max ( TINOSMovePathVec &  ovD3max)
inlineoverridevirtual

get max. 3rd derivative over the whole segment

Implements CINOSMovePathSegment.

◆ GetDerivative()

virtual void CINOSMovePathSegmentNurbs::GetDerivative ( uint32  auLevel,
double  adP,
TINOSMovePathVec &  ovDir 
)
inlineoverridevirtual

get auLevel derivative at 'adP'

Implements CINOSMovePathSegment.

◆ GetDerivativeBgn()

virtual void CINOSMovePathSegmentNurbs::GetDerivativeBgn ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
inlineoverridevirtual

get auLevel derivative at segment begin

Implements CINOSMovePathSegment.

◆ GetDerivativeEnd()

virtual void CINOSMovePathSegmentNurbs::GetDerivativeEnd ( uint32  auLevel,
TINOSMovePathVec &  ovDir 
)
inlineoverridevirtual

get auLevel derivative at segment end

Implements CINOSMovePathSegment.

◆ GetPosition()

virtual void CINOSMovePathSegmentNurbs::GetPosition ( double  adP,
TINOSMovePathVec &  ovPos 
)
inlineoverridevirtual

get position at 'adP'

Implements CINOSMovePathSegment.

◆ GetPositionFirst()

virtual void CINOSMovePathSegmentNurbs::GetPositionFirst ( TINOSMovePathVec &  ovPos)
inlineoverridevirtual

get last position

Reimplemented from CINOSMovePathSegment.

◆ GetPositionLast()

virtual void CINOSMovePathSegmentNurbs::GetPositionLast ( TINOSMovePathVec &  ovPos)
inlineoverridevirtual

get last position

Reimplemented from CINOSMovePathSegment.

◆ IsContinuous()

virtual bool CINOSMovePathSegmentNurbs::IsContinuous ( uint32  auLevel)
inlineoverridevirtual

return true if segment is auLevel continuous

Implements CINOSMovePathSegment.

◆ IsEndBlendingAllowed()

virtual bool CINOSMovePathSegmentNurbs::IsEndBlendingAllowed ( )
inlineoverridevirtual

return true if end blending allowed

Reimplemented from CINOSMovePathSegment.

◆ Prepare()

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

prepare segment

Implements CINOSMovePathSegment.

◆ Recalc()

virtual void CINOSMovePathSegmentNurbs::Recalc ( double adP,
TINOSMovePathVec &  ovStart,
uint32  auInvolved,
double  adEpsilon 
)
inlineoverridevirtual

prepare segment

Implements CINOSMovePathSegment.


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