PathElem_FindByS_LeftRight_Internal (FUN) ¶ FUNCTION PathElem_FindByS_LeftRight_Internal : BOOL Internal variant of PathElem_FindByS_LeftRight that allows specifying the index k_init where the search should start. InOut: Scope Name Type Inout Const path PathQueue Input ds LREAL segment SegmentId k_init UDINT ds_init LREAL Return PathElem_FindByS_LeftRight_Internal BOOL Output pElem_left POINTER TO PathElem pElem_right POINTER TO PathElem k_left UDINT k_right UDINT dS_end_left LREAL dS_start_left LREAL dS_end_right LREAL dS_start_right LREAL
PathElem_FindByS_LeftRight (FUN) ¶ FUNCTION PathElem_FindByS_LeftRight : BOOL Combination of PathElem_FindByS and PathElem_FindByS_Right that returns both the leftmost and rightmost element at ds in the specified segment . If there is only one element at ds , the left and right variants of each output will have the same value. InOut: Scope Name Type Inout Const path PathQueue Input ds LREAL segment SegmentId Return PathElem_FindByS_LeftRight BOOL Output pElem_left POINTER TO PathElem pElem_right POINTER TO PathElem k_left UDINT k_right UDINT dS_end_left LREAL dS_start_left LREAL dS_end_right LREAL dS_start_right LREAL
PathElem_FindByGeoPrimType (FUN) ¶ FUNCTION PathElem_FindByGeoPrimType : POINTER TO PathElem InOut: Scope Name Type Inout Const path PathQueue Input t GeoPrimType Return PathElem_FindByGeoPrimType POINTER TO PathElem Output k UDINT
PathElem_FindById (FUN) ¶ FUNCTION PathElem_FindById : POINTER TO PathElem InOut: Scope Name Type Inout Const path PathQueue Input id PathElem_Id Return PathElem_FindById POINTER TO PathElem Output k UDINT dS_end LREAL dS_start LREAL segment SegmentId
PathElem_FindByS_Right (FUN) ¶ FUNCTION PathElem_FindByS_Right : POINTER TO PathElem Similar to PathElem_FindByS , but if there are multiple path elements at ds , the rightmost one is returned. InOut: Scope Name Type Inout Const path PathQueue Input ds LREAL segment SegmentId Return PathElem_FindByS_Right POINTER TO PathElem Output k UDINT dS_end LREAL dS_start LREAL
PathElem_Eval.EvalDerivs (METH) ¶ METHOD FINAL EvalDerivs : BOOL InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext Inout Const ef ElemFun Inout w ElemDynState Out: The position/orientation and dervatives wrt. the interpolation parameter x Given in the coordinate system of the element function. Input x LREAL t LREAL Return EvalDerivs BOOL
PathElem_Eval.EvalOri (METH) ¶ METHOD FINAL EvalOri : BOOL InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext Inout Const ef ElemFun vT SM3M.SMC_Vector3D Inout q SM3M.SMC_Quat Out: the orientation, given in the coordinate system of the element function. Input x LREAL t LREAL Return EvalOri BOOL
PathElem_Eval.EvalPos (METH) ¶ METHOD FINAL EvalPos : BOOL InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext Inout Const ef ElemFun Inout vT SM3M.SMC_Vector3D Out: the position, given in the coordinate system of the element function. psArc ParamState Out: The value and derivatives of the parameter transformation from the interpolation parameter x to the arc length s. For axis space movements, the members are zero (except for AxisBlending: an estimate of the parameter transformation from x to arc length s is returned) Input x LREAL t LREAL bComputePsArc BOOL Return EvalPos BOOL
PathElem_AddData_SetMvtIds (FUN) ¶ FUNCTION PathElem_AddData_SetMvtIds InOut: Scope Name Type Inout addData PathElem_AddData Inout Const mvtIds MvtIdRange
PathElem_CheckG2 (FB) ¶ FUNCTION_BLOCK FINAL PathElem_CheckG2 Checks whether the transition between two consecutive elements is G2 continuous, i.e. whether the position and the first and second derivative (w.r.t. the arc length) are equal where the two elements join. Also checks whether the orientation, angular velocity and angular acceleration are equal. Equality is checked up to a given accuracy. InOut: Scope Name Type Initial Comment Input dPositionTolerance LREAL SM3M.g_fSMC_CNC_EPS The allowed cartesian absolute position difference in technical units. dAngleTolerance LREAL 0.0001 The allowed angle deviation of adjacent tangents or acceleration vectors in degrees. dAccelerationMagnitudeTolerance LREAL SM3M.g_fSMC_CNC_EPS The allowed absolute difference of the acceleration magnitude dOrientationDifference LREAL SM3M.g_fSMC_CNC_EPS The allowed absolute difference between orientations, maximum angular difference of angular velocity vectors and angular velocity vectors in degrees. dAngularVelocityMagnitudeTolerance LREAL SM3M.g_fSMC_CNC_EPS The allowed absolute difference between the magnitude, of angular velocity vectors in degrees per technical unit. dAngularAccelerationMagnitudeTolerance LREAL SM3M.g_fSMC_CNC_EPS The allowed absolute difference between the magnitude, of angular acceleration vectors in degrees per technical units squared. Methods: Check Structure: Check (Method)