49 #ifndef __RMLOutputParameters__ 50 #define __RMLOutputParameters__ 155 for (i = 0; i < DegreesOfFreedom; i++)
252 void Echo(FILE* FileHandler = stdout)
const 256 if (FileHandler == NULL)
261 fprintf(FileHandler,
"New position vector : ");
266 fprintf(FileHandler,
"\nNew velocity vector : ");
271 fprintf(FileHandler,
"\nNew acceleration vector : ");
276 fprintf(FileHandler,
"\n");
333 this->NumberOfDOFs = 0 ;
428 ,
const unsigned int &SizeInBytes)
const 430 memcpy( (
void*)OutputVector
458 ,
const unsigned int &Index)
const 547 ,
const unsigned int &SizeInBytes)
const 549 memcpy( (
void*)OutputVector
577 ,
const unsigned int &Index)
const 666 ,
const unsigned int &SizeInBytes)
const 668 memcpy( (
void*)OutputVector
696 ,
const unsigned int &Index)
const 793 ,
double *MaximumPositionVector
794 ,
const unsigned int &SizeInBytes)
const 796 memcpy( (
void*)MinimumPositionVector
800 memcpy( (
void*)MaximumPositionVector
876 ,
const unsigned int &SizeInBytes)
const 878 memcpy( (
void*)ExtremaTimes
908 ,
const unsigned int &SizeInBytes)
const 910 memcpy( (
void*)ExtremaTimes
1024 ,
double *PositionVector
1025 ,
double *VelocityVector
1026 ,
double *AccelerationVector
1027 ,
const unsigned int &SizeInBytes)
const 1034 memcpy( (
void*)PositionVector
1038 memcpy( (
void*)VelocityVector
1042 memcpy( (
void*)AccelerationVector
1158 ,
double *PositionVector
1159 ,
double *VelocityVector
1160 ,
double *AccelerationVector
1161 ,
const unsigned int &SizeInBytes)
const 1168 memcpy( (
void*)PositionVector
1172 memcpy( (
void*)VelocityVector
1176 memcpy( (
void*)AccelerationVector
1326 ,
const unsigned int &SizeInBytes)
const 1328 memcpy( (
void*)OutputVector
1358 ,
const unsigned int &Index)
const Header file for the dynamic vector class used for the Reflexxes Motion Libraries. ...
RMLVector< double > RMLDoubleVector
Type definition for vectors of double elements.
void GetTimesAtMinPosition(double *ExtremaTimes, const unsigned int &SizeInBytes) const
Copies the array of double values that contain the time values (in seconds) at which the minimum posi...
void GetNewAccelerationVector(double *OutputVector, const unsigned int &SizeInBytes) const
Copies the array of double values representing the new acceleration vector to the memory pointed to ...
int GetMotionStateAtMaxPosForOneDOF(const unsigned int &DOF, double *PositionVector, double *VelocityVector, double *AccelerationVector, const unsigned int &SizeInBytes) const
Copies the motion state, at which the position of the degree of freedom with the index DOF has reache...
double SynchronizationTime
The synchronization time in seconds.
unsigned int GetDOFWithTheGreatestExecutionTime(void) const
Returns the index of the degree of freedom with the greatest trajectory execution time...
RMLDoubleVector * NewAccelerationVector
A pointer to the new acceleration vector .
void GetNewPositionVectorElement(double *OutputValue, const unsigned int &Index) const
Copies one element of the new selection vector to the memory pointed to by OutputValue.
int GetMotionStateAtMinPosForOneDOF(const unsigned int &DOF, RMLDoubleVector *PositionVector, RMLDoubleVector *VelocityVector, RMLDoubleVector *AccelerationVector) const
Copies the motion state, at which the position of the degree of freedom with the index DOF has reache...
double GetSynchronizationTime(void) const
Returns the synchronization time.
RMLDoubleVector ** MaxPosExtremaAccelerationVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...
void GetExecutionTimes(double *OutputVector, const unsigned int &SizeInBytes) const
Copies the array of double values representing the execution times for each degree of freedom...
ReturnValue
Return values for the methods of the class RMLOutputParameters.
double GetExecutionTimesElement(const unsigned int &Index) const
Returns one single element of the execution times for each degree of freedom, at which the desired ta...
RMLDoubleVector * ExecutionTimes
A pointer to an RMLDoubleVector object that contains the execution times of all selected degrees of f...
T * VecData
Pointer to the actual vector data, that is, an array of type T objects.
void GetExecutionTimesElement(double *OutputValue, const unsigned int &Index) const
Copies one element of the execution times for each degree of freedom, at which the desired target vel...
unsigned int NumberOfDOFs
The number of degrees of freedom .
void GetPositionalExtrema(double *MinimumPositionVector, double *MaximumPositionVector, const unsigned int &SizeInBytes) const
Copies two RMLDoubleVector objects that contain the minimum and maximum positions, which are reached until the target state of motion is reached.
RMLDoubleVector * NewPositionVector
A pointer to the new position vector .
RMLDoubleVector ** MaxPosExtremaVelocityVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...
RMLDoubleVector ** MinPosExtremaVelocityVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...
unsigned int GetNumberOfDOFs(void) const
Returns the number of degrees of freedom.
void GetNewAccelerationVector(RMLDoubleVector *OutputVector) const
Copies the contents of the RMLDoubleVector object containing the new acceleration vector to the RMLD...
RMLDoubleVector * MaxExtremaTimesVector
A pointer to an RMLDoubleVector object that contains the times at which each degree of freedom reache...
void GetNewVelocityVector(double *OutputVector, const unsigned int &SizeInBytes) const
Copies the array of double values representing the new velocity vector to the memory pointed to by O...
void GetTimesAtMaxPosition(RMLDoubleVector *ExtremaTimes) const
Copies the contents of a RMLDoubleVector object that contains the times (in seconds) at which the max...
RMLDoubleVector * MinExtremaTimesVector
A pointer to an RMLDoubleVector object that contains the times at which each degree of freedom reache...
bool IsTrajectoryPhaseSynchronized(void) const
Indicates whether the currently calculated trajectory is phase- synchronized or only time-synchronize...
RMLOutputParameters(const RMLOutputParameters &OP)
Copy constructor of class RMLPositionOutputParameters.
double GetNewVelocityVectorElement(const unsigned int &Index) const
Returns one single element of the new selection vector .
unsigned int DOFWithTheGreatestExecutionTime
Index of the degree of freedom that requires the greatest execution time to reach its desired target ...
void GetNewVelocityVector(RMLDoubleVector *OutputVector) const
Copies the contents of the RMLDoubleVector object containing the new velocity vector to the RMLDoubl...
int GetMotionStateAtMaxPosForOneDOF(const unsigned int &DOF, RMLDoubleVector *PositionVector, RMLDoubleVector *VelocityVector, RMLDoubleVector *AccelerationVector) const
Copies the motion state, at which the position of the degree of freedom with the index DOF has reache...
void GetTimesAtMinPosition(RMLDoubleVector *ExtremaTimes) const
Copies the contents of a RMLDoubleVector object that contains the times (in seconds) at which the min...
bool ANewCalculationWasPerformed
Indicates, whether a new computation was performed in the last cycle.
RMLOutputParameters(const unsigned int DegreesOfFreedom)
Constructor of class RMLOutputParameters.
bool WasACompleteComputationPerformedDuringTheLastCycle(void) const
Indicates, whether a new computation was performed in the last cycle.
void Echo(FILE *FileHandler=stdout) const
Prints the new state of motion of the output parameters to *FileHandler.
void GetNewPositionVector(RMLDoubleVector *OutputVector) const
Copies the contents of the RMLDoubleVector object containing the new position vector to the RMLDoubl...
void GetNewAccelerationVectorElement(double *OutputValue, const unsigned int &Index) const
Copies one element of the new selection vector to the memory pointed to by OutputValue.
double GetNewPositionVectorElement(const unsigned int &Index) const
Returns one single element of the new selection vector .
~RMLOutputParameters(void)
Destructor of class RMLOutputParameters.
void GetExecutionTimes(RMLDoubleVector *OutputVector) const
Copies the contents of the RMLDoubleVector object containing the execution times for each degree of f...
void GetPositionalExtrema(RMLDoubleVector *MinimumPositionVector, RMLDoubleVector *MaximumPositionVector) const
Copies two RMLDoubleVector objects that contain the minimum and maximum positions, which are reached until the target state of motion is reached.
void GetNewPositionVector(double *OutputVector, const unsigned int &SizeInBytes) const
Copies the array of double values representing the new position vector to the memory pointed to by O...
RMLDoubleVector * NewVelocityVector
A pointer to the new velocity vector .
void GetNewVelocityVectorElement(double *OutputValue, const unsigned int &Index) const
Copies one element of the new selection vector to the memory pointed to by OutputValue.
bool TrajectoryIsPhaseSynchronized
Boolean flag that indicates whether the current trajectory is phase-synchronized. ...
RMLDoubleVector * MinPosExtremaPositionVectorOnly
A pointer to an RMLDoubleVector object that contains the maximum positions for all degrees of freedom...
RMLDoubleVector * MaxPosExtremaPositionVectorOnly
A pointer to an RMLDoubleVector object that contains the maximum positions for all degrees of freedom...
int GetMotionStateAtMinPosForOneDOF(const unsigned int &DOF, double *PositionVector, double *VelocityVector, double *AccelerationVector, const unsigned int &SizeInBytes) const
Copies the motion state, at which the position of the degree of freedom with the index DOF has reache...
RMLDoubleVector ** MinPosExtremaAccelerationVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...
double GetNewAccelerationVectorElement(const unsigned int &Index) const
Returns one single element of the new selection vector .
RMLOutputParameters & operator=(const RMLOutputParameters &OP)
Copy operator.
unsigned int GetVecDim(void) const
Returns the dimension of the vector.
void GetTimesAtMaxPosition(double *ExtremaTimes, const unsigned int &SizeInBytes) const
Copies the array of double values that contain the time values (in seconds) at which the maximum posi...
Class for the output parameters of the On-Line Trajectory Generation algorithm.
This is a minimalistic dynamic vector class implementation used for the Reflexxes Motion Libraries...
RMLDoubleVector ** MinPosExtremaPositionVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...
double GetGreatestExecutionTime(void) const
Returns the time value in seconds which is required by the degree with the greatest execution to reac...
RMLDoubleVector ** MaxPosExtremaPositionVectorArray
A pointer to an array of pointers to RMLDoubleVector objects. The number of array elements equals the...