INOS
|
Public Member Functions | |
virtual double | GetCurveLength () override |
get curve length | |
virtual void | GetPosition (double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) override |
get position vector at 'adP' | |
virtual void | GetDirection (double adP, TINOSMovePathVec &ovDir) override |
get direction vector at 'adP' | |
virtual void | GetDirectionLast (TINOSMovePathVec &ovDir) override |
get direction vector at the end | |
virtual void | GetDerivative (uint32 auLevel, double adP, TINOSMovePathVec &ovDer) override |
get auLevel derivative vector at 'adP' | |
virtual void | GetD2max (double adBgn, double adEnd, TINOSMovePathVec &aD2max) override |
get max D2 vector of given range | |
virtual void | GetD3max (double adBgn, double adEnd, TINOSMovePathVec &aD3max) override |
get max D3 vector of given range | |
virtual uint32 | Prepare () override |
do precalculation | |
CINOSMovePathInterpolatorNurbs (CINOSMovePathCurve *apCurve, CINOSMovePath *apPath=NULL) | |
constructor | |
virtual | ~CINOSMovePathInterpolatorNurbs () |
destructor | |
virtual uint32 | PreparePart (CINOSMovePathSegmentBase *apBgn, CINOSMovePathSegmentBase *apEnd, CINOSMovePathSegmentBase *apNxt, double adTolerance, double adShorten=0.0, double adExtend=0.0) |
prepare part | |
virtual SINOSNurbsPart * | GetPart (double adP) |
get part | |
virtual double | CalcAngle (CINOSMovePathSegment *apSeg1, CINOSMovePathSegment *apSeg2) |
calc angle between segments | |
uint32 | GetPartPoints (CINOSMovePathSegmentBase *apBgn, CINOSMovePathSegmentBase *apEnd, double adTolerance) |
get number of part points | |
![]() | |
virtual bool | IsCurveContinuous (uint32 auLevel) |
check if curve continuous | |
CINOSMovePathInterpolatorSegment * | GetFirstSegment () |
CINOSMovePathInterpolatorSegment * | GetLastSegment () |
void | AddSegment (CINOSMovePathInterpolatorSegment *apSegment) |
virtual uint32 | ConnectSegments (CINOSMovePathInterpolator *apOther) |
virtual | ~CINOSMovePathInterpolator () |
destructor | |
Protected Member Functions | |
virtual void | Cleanup () override |
cleanup | |
DECLARE_DYNAMIC (CINOSMovePathInterpolatorNurbs) | |
![]() | |
CINOSMovePathInterpolator (CINOSMovePathCurve *apCurve, class CINOSMovePath *apPath=NULL) | |
constructor | |
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) | |
Protected Attributes | |
double | m_dLength |
curve length | |
uint32 | m_uParts |
number of parts | |
uint32 | m_uLastPart |
last part index | |
SINOSNurbsPart * | m_pPart [DF_INOS_MOVEPATH_MAX_POINTS] |
array of parts | |
double | m_dVectorLength [DF_INOS_MOVEPATH_MAX_POINTS > >1] |
sub parts vector lengths | |
double | m_dVectorize |
vectorize factor | |
uint32 | m_uInterpolationPoints = DF_INOS_NURBSCURVE_INTERPOLATION_POINTS |
nurbs interpolation points | |
bool | m_bOverlapPos {} |
overlap position valid | |
TINOSMovePathVec | m_OverlapPos {} |
overlap position | |
double | m_dOverlapExtend {} |
overlap reduce length | |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
typedef std::function< CINOSMovePathInterpolator *(CINOSMovePathCurve *, CINOSMovePath *)> | TINOSInterpolatorConstructor |
![]() | |
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 | |
![]() | |
typedef std::map< std::string, TINOSInterpolatorConstructor > | TINOSInterpolatorMap |
![]() | |
static TINOSInterpolatorMap & | GetInterpolatorsMap () |
get interpolatos map, to avoid inserting before initialization | |
cleanup
Reimplemented from CINOSMovePathInterpolator.
get curve length
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get max D2 vector of given range
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get max D3 vector of given range
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get auLevel derivative vector at 'adP'
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get direction vector at 'adP'
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get direction vector at the end
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
get position vector at 'adP'
Reimplemented from CINOSMovePathInterpolator.
|
overridevirtual |
do precalculation
Reimplemented from CINOSMovePathInterpolator.