Classes | Enumerations | Functions
TypeIIRMLMath Namespace Reference

Classes

struct  MotionPolynomials
 Three arrays of TypeIIRMLMath::TypeIIRMLPolynomial. More...
 
class  TypeIIRMLPolynomial
 This class realizes polynomials of degree three as required for the Type II On-Line Trajectory Generation algorithm. More...
 

Enumerations

enum  Step1_Profile {
  Step1_Undefined = 0, Step1_Profile_PosLinHldNegLin = 1, Step1_Profile_PosLinNegLin = 2, Step1_Profile_PosTriNegLin = 3,
  Step1_Profile_PosTrapNegLin = 4, Step1_Profile_NegLinHldPosLin = 5, Step1_Profile_NegLinPosLin = 6, Step1_Profile_NegTriPosLin = 7,
  Step1_Profile_NegTrapPosLin = 8
}
 Enumeration of all possible profiles of Step 1 (A, B, and C). More...
 
enum  Step2_Profile {
  Step2_Undefined = 0, Step2_Profile_PosLinHldNegLin = 1, Step2_Profile_PosLinHldPosLin = 2, Step2_Profile_NegLinHldPosLin = 3,
  Step2_Profile_NegLinHldNegLin = 4, Step2_Profile_PosTrapNegLin = 5, Step2_Profile_NegLinHldNegLinNegLin = 6
}
 Enumeration of all possible profiles of Step 2. More...
 

Functions

bool Decision_1A__001 (const double &CurrentVelocity)
 Is (vi >= 0)? More...
 
bool Decision_1A__002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi <= +vmax)? More...
 
bool Decision_1A__003 (const double &CurrentVelocity, const double &TargetVelocity)
 Is (vi <= vtrgt)? More...
 
bool Decision_1A__004 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->vtrgt, is p<=ptrgt? More...
 
bool Decision_1A__005 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 If v->vmax->vtrgt, is p<=ptrgt? More...
 
bool Decision_1A__006 (const double &TargetVelocity)
 Is (vtrgt >= 0)? More...
 
bool Decision_1A__007 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->vtrgt, is p>=ptrgt? More...
 
bool Decision_1A__008 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->0->vtrgt, is p>=ptrgt? More...
 
bool Decision_1A__009 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 If v->vmax->0->vtrgt, is p>=ptrgt? More...
 
bool Decision_1B__001 (const double &CurrentVelocity)
 Is (vi >= 0)? More...
 
bool Decision_1B__002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi <= +vmax)? More...
 
bool Decision_1B__003 (const double &TargetVelocity)
 Is (vtrgt >= 0)? More...
 
bool Decision_1B__004 (const double &CurrentVelocity, const double &TargetVelocity)
 Is (vi <= vtrgt)? More...
 
bool Decision_1B__005 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->vtrgt, is p<=ptrgt? More...
 
bool Decision_1B__006 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->0->vtrgt, is p<=ptrgt? More...
 
bool Decision_1B__007 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->vtrgt, is p>=ptrgt? More...
 
bool Decision_1C__001 (const double &CurrentVelocity)
 Is (vi >= 0)? More...
 
bool Decision_1C__002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi <= +vmax)? More...
 
bool Decision_1C__003 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 If v->vmax->0->vtrgt, is p>=ptrgt? More...
 
bool Decision_2___001 (const double &CurrentVelocity)
 Is (vi >= 0)? More...
 
bool Decision_2___002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi <= +vmax)? More...
 
bool Decision_2___003 (const double &CurrentVelocity, const double &TargetVelocity)
 Is (vi <= vtrgt)? More...
 
bool Decision_2___004 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->vtrgt->hold, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_2___005 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->hold->vtrgt, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_2___006 (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If (v->0->vtrgt, is p<=ptrgt || t > tsync)? More...
 
bool Decision_2___007 (const double &TargetVelocity)
 Is (vtrgt >= 0)? More...
 
bool Decision_2___008 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->hold->vtrgt, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_2___009 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->vtrgt->hold, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_2___010 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 If v->0->vtrgt, is p>=ptrgt? More...
 
bool Decision_2___011 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->vtrgt->hold, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_2___012 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
 If v->hold->0->vtrgt, so that t=tsync, is p<=ptrgt? More...
 
bool Decision_V___001 (const double &CurrentVelocity, const double &TargetVelocity)
 Is (vi <= vtrgt)? More...
 
bool IsEpsilonEquality (const double &Value1, const double &Value2, const double &Epsilon)
 Checks epsilon equality for two values. More...
 
bool IsSolutionForProfile_PosLinHldNegLin_Possible (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Checks whether a valid solution for the PosLinHldNegLin velocity profile would be possible. More...
 
bool IsSolutionForProfile_PosLinNegLin_Possible (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Checks whether a valid solution for the PosLinNegLin velocity profile would be possible. More...
 
bool IsSolutionForProfile_PosTrapNegLin_Possible (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Checks whether a valid solution for the PosTrapNegLin velocity profile would be possible. More...
 
bool IsSolutionForProfile_PosTriNegLin_Possible (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Checks whether a valid solution for the PosTriNegLin velocity profile would be possible. More...
 
void NegateStep1 (double *ThisCurrentPosition, double *ThisCurrentVelocity, double *ThisTargetPosition, double *ThisTargetVelocity)
 Negate input values during Step 1. More...
 
void NegateStep2 (double *ThisCurrentPosition, double *ThisCurrentVelocity, double *ThisTargetPosition, double *ThisTargetVelocity, bool *Inverted)
 Negate input values. More...
 
double ProfileStep1NegLinPosLin (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 Calculates the execution time of the NegLinPosLin velocity profile. More...
 
double ProfileStep1PosLinHldNegLin (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Calculates the execution time of the PosLinHldNegLin velocity profile. More...
 
double ProfileStep1PosLinNegLin (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 Calculates the execution time of the PosLinNegLin velocity profile. More...
 
double ProfileStep1PosTrapNegLin (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 Calculates the execution time of the PosTrapNegLin velocity profile. More...
 
double ProfileStep1PosTriNegLin (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
 Calculates the execution time of the PosTriNegLin velocity profile. More...
 
void ProfileStep2NegLinHldNegLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile NegLinHldNegLin (leaf of the Step 2 decision tree) More...
 
void ProfileStep2NegLinHldNegLinNegLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile NegLinHldNegLinNegLin (leaf of the Step 2 decision tree) More...
 
void ProfileStep2NegLinHldPosLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile NegLinHldPosLin (leaf of the Step 2 decision tree) More...
 
void ProfileStep2PosLinHldNegLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile PosLinHldNegLin (leaf of the Step 2 decision tree) More...
 
void ProfileStep2PosLinHldPosLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile PosLinHldNegLin (leaf of the Step 2 decision tree) More...
 
void ProfileStep2PosTrapNegLin (const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 Parameterization of the Step 2 velocity profile PosTrapNegLin (leaf of the Step 2 decision tree) More...
 
void Quicksort (const int &LeftBound, const int &RightBound, double *ArrayOfValues)
 Standard implementation of the Quicksort algorithm for double values. More...
 
double RMLSqrt (const double &Value)
 Calculates the real square root of a given value. If the value is negative a value of almost zero will be returned. More...
 
void Step2WithoutSynchronization (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, const TypeIIRMLMath::Step1_Profile &UsedProfile, const double &MinimumExecutionTime, MotionPolynomials *PolynomialsInternal)
 This function contains sets of trajectory parameters (i.e., all polynomial coefficients) in the case of non-synchronized trajectories. More...
 
void TypeIIRMLDecisionTree1A (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, Step1_Profile *AppliedProfile, double *MinimalExecutionTime)
 This function contains the decision tree 1A of the Step 1 of the Type II On-Line Trajectory Generation algorithm. More...
 
void TypeIIRMLDecisionTree1B (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, double *MaximalExecutionTime)
 This function contains the decision tree 1B of the Step 1 of the Type II On-Line Trajectory Generation algorithm. More...
 
void TypeIIRMLDecisionTree1C (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, double *AlternativeExecutionTime)
 This function contains the decision tree 1C of the Step 1 of the Type II On-Line Trajectory Generation algorithm. More...
 
void TypeIIRMLDecisionTree2 (const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, const double &SynchronizationTime, MotionPolynomials *PolynomialsInternal)
 This function contains the decision tree of the Step 2 of the Type II On-Line Trajectory Generation algorithm. More...
 
void VToVMaxStep1 (double *TotalTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration)
 One intermediate Step 1 trajectory segment: v -> +vmax (NegLin) More...
 
void VToVMaxStep2 (double *ThisCurrentTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 One intermediate Step 2 trajectory segment: v -> vmax (NegLin) More...
 
void VToZeroStep1 (double *TotalTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxAcceleration)
 One intermediate Step 1 trajectory segment: v -> 0 (NegLin) More...
 
void VToZeroStep2 (double *ThisCurrentTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxAcceleration, MotionPolynomials *PolynomialsLocal, const bool &Inverted)
 One intermediate Step 2 trajectory segment: v -> 0 (NegLin) More...
 

Enumeration Type Documentation

Enumeration of all possible profiles of Step 1 (A, B, and C).

See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
Enumerator
Step1_Undefined 

The profile is undefined.

Step1_Profile_PosLinHldNegLin 

The profile is PosLinHldNegLin.

Step1_Profile_PosLinNegLin 

The profile is PosLinNegLin.

Step1_Profile_PosTriNegLin 

The profile is PosTriNegLin.

Step1_Profile_PosTrapNegLin 

The profile is PosTrapNegLin.

Step1_Profile_NegLinHldPosLin 

The profile is NegLinHldPosLin.

Step1_Profile_NegLinPosLin 

The profile is NegLinPosLin.

Step1_Profile_NegTriPosLin 

The profile is NegTriPosLin.

Step1_Profile_NegTrapPosLin 

The profile is NegTrapPosLin.

Definition at line 71 of file TypeIIRMLStep1Profiles.h.

Enumeration of all possible profiles of Step 2.

See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()
Enumerator
Step2_Undefined 

The profile is undefined.

Step2_Profile_PosLinHldNegLin 

The profile is PosLinHldNegLin.

Step2_Profile_PosLinHldPosLin 

The profile is PosLinHldPosLin.

Step2_Profile_NegLinHldPosLin 

The profile is NegLinHldPosLin.

Step2_Profile_NegLinHldNegLin 

The profile is NegLinHldNegLin.

Step2_Profile_PosTrapNegLin 

The profile is PosTrapNegLin.

Step2_Profile_NegLinHldNegLinNegLin 

The profile is NegLinHldNegLinNegLin.

Definition at line 69 of file TypeIIRMLStep2Profiles.h.

Function Documentation

bool TypeIIRMLMath::Decision_1A__001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 52 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi <= +vmax)?

Definition at line 61 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__003 ( const double &  CurrentVelocity,
const double &  TargetVelocity 
)

Is (vi <= vtrgt)?

Definition at line 71 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__004 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->vtrgt, is p<=ptrgt?

Definition at line 81 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__005 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

If v->vmax->vtrgt, is p<=ptrgt?

Definition at line 96 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__006 ( const double &  TargetVelocity)

Is (vtrgt >= 0)?

Definition at line 114 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__007 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->vtrgt, is p>=ptrgt?

Definition at line 123 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__008 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->0->vtrgt, is p>=ptrgt?

Definition at line 138 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1A__009 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

If v->vmax->0->vtrgt, is p>=ptrgt?

Definition at line 154 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 171 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi <= +vmax)?

Definition at line 180 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__003 ( const double &  TargetVelocity)

Is (vtrgt >= 0)?

Definition at line 191 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__004 ( const double &  CurrentVelocity,
const double &  TargetVelocity 
)

Is (vi <= vtrgt)?

Definition at line 200 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__005 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->vtrgt, is p<=ptrgt?

Definition at line 211 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__006 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->0->vtrgt, is p<=ptrgt?

Definition at line 228 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1B__007 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->vtrgt, is p>=ptrgt?

Definition at line 243 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1C__001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 260 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1C__002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi <= +vmax)?

Definition at line 269 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_1C__003 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

If v->vmax->0->vtrgt, is p>=ptrgt?

Definition at line 280 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 299 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi <= +vmax)?

Definition at line 308 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___003 ( const double &  CurrentVelocity,
const double &  TargetVelocity 
)

Is (vi <= vtrgt)?

Definition at line 319 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___004 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?

Definition at line 330 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___005 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->hold->vtrgt, so that t=tsync, is p<=ptrgt?

Definition at line 348 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___006 ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If (v->0->vtrgt, is p<=ptrgt || t > tsync)?

Definition at line 366 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___007 ( const double &  TargetVelocity)

Is (vtrgt >= 0)?

Definition at line 385 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___008 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->hold->vtrgt, so that t=tsync, is p<=ptrgt?

Definition at line 394 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___009 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?

Definition at line 412 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___010 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

If v->0->vtrgt, is p>=ptrgt?

Definition at line 430 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___011 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?

Definition at line 447 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_2___012 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
const double &  CurrentTime,
const double &  SynchronizationTime 
)

If v->hold->0->vtrgt, so that t=tsync, is p<=ptrgt?

Definition at line 468 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::Decision_V___001 ( const double &  CurrentVelocity,
const double &  TargetVelocity 
)

Is (vi <= vtrgt)?

Definition at line 485 of file TypeIIRMLDecisions.cpp.

bool TypeIIRMLMath::IsEpsilonEquality ( const double &  Value1,
const double &  Value2,
const double &  Epsilon 
)
inline

Checks epsilon equality for two values.

Returns $ \left(\left|Value1\,-\,Value2\right|\ <=\ Epsilon\right)$, that if epsilon quality holds, true will be returned, otherwise false.

Parameters
Value1First value to be compared
Value2Second value to be compared
EpsilonValue for Epsilon
Returns
true if both values are epsilon equal, otherwise false

Definition at line 330 of file TypeIIRMLMath.h.

bool TypeIIRMLMath::IsSolutionForProfile_PosLinHldNegLin_Possible ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Checks whether a valid solution for the PosLinHldNegLin velocity profile would be possible.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
  • true if a valid solution would be possible
  • false otherwise
See also
TypeIIRMLPosition::Step1()

Definition at line 144 of file TypeIIRMLStep1Profiles.cpp.

bool TypeIIRMLMath::IsSolutionForProfile_PosLinNegLin_Possible ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Checks whether a valid solution for the PosLinNegLin velocity profile would be possible.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
  • true if a valid solution would be possible
  • false otherwise
See also
TypeIIRMLPosition::Step1()

Definition at line 180 of file TypeIIRMLStep1Profiles.cpp.

bool TypeIIRMLMath::IsSolutionForProfile_PosTrapNegLin_Possible ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Checks whether a valid solution for the PosTrapNegLin velocity profile would be possible.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
  • true if a valid solution would be possible
  • false otherwise
See also
TypeIIRMLPosition::Step1()

Definition at line 327 of file TypeIIRMLStep1Profiles.cpp.

bool TypeIIRMLMath::IsSolutionForProfile_PosTriNegLin_Possible ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Checks whether a valid solution for the PosTriNegLin velocity profile would be possible.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
  • true if a valid solution would be possible
  • false otherwise
See also
TypeIIRMLPosition::Step1()

Definition at line 254 of file TypeIIRMLStep1Profiles.cpp.

void TypeIIRMLMath::NegateStep1 ( double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
double *  ThisTargetPosition,
double *  ThisTargetVelocity 
)

Negate input values during Step 1.

Parameters
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. The sign of this value will be flipped.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ The sign of this value will be flipped.
ThisTargetPositionPointer to a double value: Target position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $ The sign of this value will be flipped.
ThisTargetVelocityPointer to a double value: Target velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $ The sign of this value will be flipped.
Note
This function is used in the Step 1 decision trees 1A, 1B, and 1C.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
TypeIIRMLMath::NegateStep2()

Definition at line 55 of file TypeIIRMLStep1IntermediateProfiles.cpp.

void TypeIIRMLMath::NegateStep2 ( double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
double *  ThisTargetPosition,
double *  ThisTargetVelocity,
bool *  Inverted 
)

Negate input values.

Parameters
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. The sign of this value will be flipped.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ The sign of this value will be flipped.
ThisTargetPositionPointer to a double value: Target position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $ The sign of this value will be flipped.
ThisTargetVelocityPointer to a double value: Target velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $ The sign of this value will be flipped.
InvertedPointer to bool value: This bit will be flipped; it indicates, whether the input values have been flipped even or odd times, such that succeeding functions can set-up the trajectory parameters correspondingly.
Note
This function is used in the Step 2 decision tree.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()
TypeIIRMLMath::NegateStep1()

Definition at line 55 of file TypeIIRMLStep2IntermediateProfiles.cpp.

double TypeIIRMLMath::ProfileStep1NegLinPosLin ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

Calculates the execution time of the NegLinPosLin velocity profile.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
Execution time for this profile in seconds
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 126 of file TypeIIRMLStep1Profiles.cpp.

double TypeIIRMLMath::ProfileStep1PosLinHldNegLin ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Calculates the execution time of the PosLinHldNegLin velocity profile.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
Execution time for this profile in seconds
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 54 of file TypeIIRMLStep1Profiles.cpp.

double TypeIIRMLMath::ProfileStep1PosLinNegLin ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

Calculates the execution time of the PosLinNegLin velocity profile.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
Execution time for this profile in seconds
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 73 of file TypeIIRMLStep1Profiles.cpp.

double TypeIIRMLMath::ProfileStep1PosTrapNegLin ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

Calculates the execution time of the PosTrapNegLin velocity profile.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
Execution time for this profile in seconds
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 109 of file TypeIIRMLStep1Profiles.cpp.

double TypeIIRMLMath::ProfileStep1PosTriNegLin ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration 
)

Calculates the execution time of the PosTriNegLin velocity profile.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
Returns
Execution time for this profile in seconds
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 91 of file TypeIIRMLStep1Profiles.cpp.

void TypeIIRMLMath::ProfileStep2NegLinHldNegLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile NegLinHldNegLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 504 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::ProfileStep2NegLinHldNegLinNegLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile NegLinHldNegLinNegLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 812 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::ProfileStep2NegLinHldPosLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile NegLinHldPosLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 353 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::ProfileStep2PosLinHldNegLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile PosLinHldNegLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 54 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::ProfileStep2PosLinHldPosLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile PosLinHldNegLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 205 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::ProfileStep2PosTrapNegLin ( const double &  CurrentTime,
const double &  SynchronizationTime,
const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

Parameterization of the Step 2 velocity profile PosTrapNegLin (leaf of the Step 2 decision tree)

Parameters
CurrentTimeTime in seconds required for preceding intermediate trajectory segments, $ ^{\left(\Lambda+1\right)}_{\ \ \ \ \ k}t_i $, where $ \Lambda $ is the number of preceding trajectory segments.
SynchronizationTimeSynchronization time in seconds, $ t_i^{\,sync} $
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will set-up all remaining trajectory parameters.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegateStep2()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 652 of file TypeIIRMLStep2Profiles.cpp.

void TypeIIRMLMath::Quicksort ( const int &  LeftBound,
const int &  RightBound,
double *  ArrayOfValues 
)

Standard implementation of the Quicksort algorithm for double values.

This function is used to sort of time values that are calculated during Step 1

$ _kt_i^{\,min},\,_kt_i^{\,begin},\,_kt_i^{\,end}\ \forall\ k\ \in\ \left\{1,\,\dots,\,K\right\} $

where $ K $ is the number of degrees of freedom.

Parameters
LeftBoundIndex value for the left border
RightBoundIndex value for the right border
ArrayOfValuesA pointer to an array of double values to be sorted
See also
TypeIIRMLPosition::Step1()

Definition at line 52 of file TypeIIRMLQuicksort.cpp.

double TypeIIRMLMath::RMLSqrt ( const double &  Value)
inline

Calculates the real square root of a given value. If the value is negative a value of almost zero will be returned.

Parameters
ValueSquare root radicand
Returns
Square root value (real).
See also
POSITIVE_ZERO

Definition at line 291 of file TypeIIRMLMath.h.

void TypeIIRMLMath::Step2WithoutSynchronization ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
const TypeIIRMLMath::Step1_Profile UsedProfile,
const double &  MinimumExecutionTime,
MotionPolynomials PolynomialsInternal 
)

This function contains sets of trajectory parameters (i.e., all polynomial coefficients) in the case of non-synchronized trajectories.

Based on all input values for one selected degree of freedom and on the velocity profile that was applied in Step 1A, all trajectory parameters, that is, all polynomial coefficients, are set-up. This method is only applied in the case of non-synchronized trajectories (cf. RMLFlags::NO_SYNCHRONIZATION).

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
UsedProfileThe ID of the used acceleration profile in Step 1A (cf. RMLMath::Step1_Profile).
MinimumExecutionTimeMinimum execution time $ t_{i}^{\,min} $ for the current degree of freedom $ k $ (i.e., the result of profiles of the Step 1A 1A decision tree.
PolynomialsInternalA pointer to a MotionPolynomials object (cf. TypeIIRMLMath::MotionPolynomials). All trajectory parameters of the synchronized Type II trajectory will be written into this object.
See also
RMLFlags::NO_SYNCHRONIZATION

Definition at line 57 of file TypeIIRMLStep2WithoutSynchronization.cpp.

void TypeIIRMLMath::TypeIIRMLDecisionTree1A ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
Step1_Profile AppliedProfile,
double *  MinimalExecutionTime 
)

This function contains the decision tree 1A of the Step 1 of the Type II On-Line Trajectory Generation algorithm.

This function calculates the minimum possible trajectory execution time $\ _{k}t_{i}^{\,min} $ for DOF $ k $ at instant $ T_{i} $.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
AppliedProfileA pointer to an int value. The index of the motion profile, which is used to achieve the minimum execution time (cf. TypeIIRMLMath::Step1_Profile) will be copied to this variable.
MinimalExecutionTimePointer to a double value: The actual result of the of this function, that is, minimum possible execution time $\ _{k}t_{i}^{\,min} $ will be copied to this variable.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 56 of file TypeIIRMLDecisionTree1A.cpp.

void TypeIIRMLMath::TypeIIRMLDecisionTree1B ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
double *  MaximalExecutionTime 
)

This function contains the decision tree 1B of the Step 1 of the Type II On-Line Trajectory Generation algorithm.

This function calculates the beginning of possible inoperative time interval, that is, the time $\ _{k}t_{i}^{\,begin} $ for DOF $ k $ at instant $ T_{i} $.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
MaximalExecutionTimePointer to a double value: The actual result of the of this function, that is, the value of the beginning of possible inoperative time interval, that is, the time $\ _{k}t_{i}^{\,begin} $ for DOF $ k $ at instant $ T_{i} $. If no inoperative time interval is existent, a value of RML_INFINITY will be written to this variable.
Returns
For the case, an error during the calculations of one motion profile happens, the return value will be true, otherwise false.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 55 of file TypeIIRMLDecisionTree1B.cpp.

void TypeIIRMLMath::TypeIIRMLDecisionTree1C ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
double *  AlternativeExecutionTime 
)

This function contains the decision tree 1C of the Step 1 of the Type II On-Line Trajectory Generation algorithm.

This function calculates the end of an inoperative time interval, that is, the time $\ _{k}t_{i}^{\,end} $ for DOF $ k $ at instant $ T_{i} $.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
AlternativeExecutionTimePointer to a double value: The actual result of the of this function, that is, the value of the end of the inoperative time interval, that is, the time $\ _{k}t_{i}^{\,end} $ for DOF $ k $ at instant $ T_{i} $.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree2()

Definition at line 56 of file TypeIIRMLDecisionTree1C.cpp.

void TypeIIRMLMath::TypeIIRMLDecisionTree2 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  TargetPosition,
const double &  TargetVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
const double &  SynchronizationTime,
MotionPolynomials PolynomialsInternal 
)

This function contains the decision tree of the Step 2 of the Type II On-Line Trajectory Generation algorithm.

This function synchronizes the trajectory for one single degree of freedom to the synchronization time $ t_{i}^{\,sync} $ and calculates all trajectory parameters.

Parameters
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
TargetVelocityTarget velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,trgt} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
SynchronizationTimeThe synchronization time $ t_{i}^{\,sync} $ that was calculated in Step 1 of the On-Line Trajectory Generation algorithm (in seconds).
PolynomialsInternalA pointer to a MotionPolynomials object (cf. TypeIIRMLMath::MotionPolynomials). All trajectory parameters of the synchronized Type II trajectory will be written into this object.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()

Definition at line 56 of file TypeIIRMLDecisionTree2.cpp.

void TypeIIRMLMath::VToVMaxStep1 ( double *  TotalTime,
double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration 
)

One intermediate Step 1 trajectory segment: v -> +vmax (NegLin)

Parameters
TotalTimePointer to a double value: Time in seconds required for preceding trajectory segments. This value will be increased by the amount of time required time for this trajectory segment.
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. This value will be changed by the function in order to intermediately reach an acceleration value of zero.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ This value will be increased in order to intermediately reach an acceleration value of $\ _{k}A_{i}^{\,max} $.
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $.
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $.
Note
This function is used in the Step 1 decision trees 1A, 1B, and 1C.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
TypeIIRMLMath::VToVMaxStep2()

Definition at line 72 of file TypeIIRMLStep1IntermediateProfiles.cpp.

void TypeIIRMLMath::VToVMaxStep2 ( double *  ThisCurrentTime,
double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

One intermediate Step 2 trajectory segment: v -> vmax (NegLin)

Parameters
ThisCurrentTimePointer to a double value: Time in seconds required for preceding trajectory segments. This value will be increased by the amount of time required time for this trajectory segment.
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. This value will be changed by the function in order to intermediately reach the maximum velocity value, $\ _{k}V_{i}^{\,max} $.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ This value will be increased in order to intermediately reach the maximum velocity value, $\ _{k}V_{i}^{\,max} $.
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $.
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $.
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will add one further trajectory segment to this object.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegatePink()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
Note
This function is used in the Step 2 decision tree.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()
TypeIIRMLMath::VToVMaxStep1()

Definition at line 74 of file TypeIIRMLStep2IntermediateProfiles.cpp.

void TypeIIRMLMath::VToZeroStep1 ( double *  TotalTime,
double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
const double &  MaxAcceleration 
)

One intermediate Step 1 trajectory segment: v -> 0 (NegLin)

Parameters
TotalTimePointer to a double value: Time in seconds required for preceding trajectory segments. This value will be increased by the amount of time required time for this trajectory segment.
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. This value will be changed by the function in order to intermediately reach an acceleration value of zero.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ This value will be increased in order to intermediately reach an acceleration value of $\ _{k}A_{i}^{\,max} $.
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $.
Note
This function is used in the Step 1 decision trees 1A, 1B, and 1C.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree1A()
TypeIIRMLMath::TypeIIRMLDecisionTree1B()
TypeIIRMLMath::TypeIIRMLDecisionTree1C()
TypeIIRMLMath::VToZeroStep2()

Definition at line 93 of file TypeIIRMLStep1IntermediateProfiles.cpp.

void TypeIIRMLMath::VToZeroStep2 ( double *  ThisCurrentTime,
double *  ThisCurrentPosition,
double *  ThisCurrentVelocity,
const double &  MaxAcceleration,
MotionPolynomials PolynomialsLocal,
const bool &  Inverted 
)

One intermediate Step 2 trajectory segment: v -> 0 (NegLin)

Parameters
ThisCurrentTimePointer to a double value: Time in seconds required for preceding trajectory segments. This value will be increased by the amount of time required time for this trajectory segment.
ThisCurrentPositionPointer to a double value: Current position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $. This value will be changed by the function in order to intermediately reach a velocity value of zero.
ThisCurrentVelocityPointer to a double value: Current velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $ This value will be increased in order to intermediately reach a velocity value of zero.
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $.
PolynomialsLocalPointer to a MotionPolynomials object, which contains the complete trajectory for one single DOF $ k $ at instant $ T_{i} $, $ _k{\cal M}_{i}(t) $. This function will add one further trajectory segment to this object.
InvertedA bool value that indicates whether the input values have been flipped even or odd times prior to the execution of this function (cf. TypeIIRMLMath::NegatePink()). The trajectory parameters in PolynomialsLocal will be set-up correspondingly.
Note
This function is used in the Step 2 decision tree.
See also
TypeIIRMLMath::TypeIIRMLDecisionTree2()
TypeIIRMLMath::VToZeroStep1()

Definition at line 114 of file TypeIIRMLStep2IntermediateProfiles.cpp.



libreflexxestype2
Author(s):
autogenerated on Sat Nov 21 2020 03:17:35