RoboDK API - Documentation
tJoints Class Reference

The tJoints class represents a joint position of a robot (robot axes). More...

#include <robodk_api.h>

Public Member Functions

 tJoints (int ndofs=0)
 tJoints More...
 
 tJoints (const double *joints, int ndofs=0)
 Set joint values given a double array and the number of joint values. More...
 
 tJoints (const float *joints, int ndofs=0)
 Set joint values given a float array and the number of joint values. More...
 
 tJoints (const tJoints &jnts)
 Create a copy of an object. More...
 
 tJoints (const tMatrix2D *mat2d, int column=0, int ndofs=-1)
 Create joint values given a 2D matrix and the column selecting the desired values. More...
 
 tJoints (const QString &str)
 Convert a string to joint values. More...
 
 operator QString () const
 To String operator (use with qDebug() << tJoints;. More...
 
const double * ValuesD () const
 Joint values. More...
 
const float * ValuesF () const
 Joint values. More...
 
const double * Values () const
 Joint values. More...
 
double * Data ()
 
int Length () const
 Number of joint axes of the robot (or degrees of freedom) More...
 
void setLength (int new_length)
 Set the length of the array (only shrinking the array is allowed) More...
 
bool Valid () const
 Check if the joints are valid. For example, when we request the Inverse kinematics and there is no solution the joints will not be valid. (for example, an invalid result after calling class: IItem::SolveIK returns a non valid joints) More...
 
int GetValues (double *joints)
 GetValues. More...
 
void SetValues (const double *joints, int ndofs=-1)
 Set the joint values in deg or mm. You can also important provide the number of degrees of freedom (6 for a 6 axis robot). More...
 
void SetValues (const float *joints, int ndofs=-1)
 Set the joint values in deg or mm (floats). You can also important provide the number of degrees of freedom (6 for a 6 axis robot). More...
 
QString ToString (const QString &separator=", ", int precision=3) const
 Retrieve a string representation of the joint values. More...
 
bool FromString (const QString &str)
 Set the joint values given a comma-separated string. Tabs and spaces are also allowed. More...
 

Public Attributes

int _nDOFs
 number of degrees of freedom More...
 
double _Values [RDK_SIZE_JOINTS_MAX]
 joint values (doubles, used to store the joint values) More...
 
float _ValuesF [RDK_SIZE_JOINTS_MAX]
 joint values (floats, used to return a copy as a float pointer) More...
 

Detailed Description

The tJoints class represents a joint position of a robot (robot axes).

Definition at line 384 of file robodk_api.h.

Constructor & Destructor Documentation

◆ tJoints() [1/6]

tJoints ( int  ndofs = 0)

tJoints

Parameters
ndofsnumber of robot joint axes or degrees of freedom

Definition at line 42 of file robodk_api.cpp.

◆ tJoints() [2/6]

tJoints ( const double *  joints,
int  ndofs = 0 
)

Set joint values given a double array and the number of joint values.

Parameters
jointsPointer to the joint values
ndofsNumber of joints

Definition at line 51 of file robodk_api.cpp.

◆ tJoints() [3/6]

tJoints ( const float *  joints,
int  ndofs = 0 
)

Set joint values given a float array and the number of joint values.

Parameters
jointsPointer to the joint values
ndofsNumber of joints

Definition at line 54 of file robodk_api.cpp.

◆ tJoints() [4/6]

tJoints ( const tJoints jnts)

Create a copy of an object.

Parameters
jnts

Definition at line 48 of file robodk_api.cpp.

◆ tJoints() [5/6]

tJoints ( const tMatrix2D mat2d,
int  column = 0,
int  ndofs = -1 
)

Create joint values given a 2D matrix and the column selecting the desired values.

Parameters
mat2d
column
ndofs

Definition at line 62 of file robodk_api.cpp.

◆ tJoints() [6/6]

tJoints ( const QString &  str)

Convert a string to joint values.

Parameters
strComma separated joint values (spaces or tabs are also accepted)

Definition at line 75 of file robodk_api.cpp.

Member Function Documentation

◆ Data()

double * Data ( )
Returns
Data same as Values. The only difference is that the array pointer is not const. This is provided for backwards compatibility.

Definition at line 99 of file robodk_api.cpp.

◆ FromString()

bool FromString ( const QString &  str)

Set the joint values given a comma-separated string. Tabs and spaces are also allowed.

Parameters
strstring. Such as "10, 20, 30, 40, 50, 60"
Returns
false if parsing the string failed. True otherwise.

Definition at line 143 of file robodk_api.cpp.

◆ GetValues()

int GetValues ( double *  joints)

GetValues.

Parameters
jointsjoint values in deg or mm
Returns
returns the number of degrees of freedom

Definition at line 121 of file robodk_api.cpp.

◆ Length()

int Length ( ) const

Number of joint axes of the robot (or degrees of freedom)

Returns

Definition at line 153 of file robodk_api.cpp.

◆ operator QString()

operator QString ( ) const
inline

To String operator (use with qDebug() << tJoints;.

Definition at line 416 of file robodk_api.h.

◆ setLength()

void setLength ( int  new_length)

Set the length of the array (only shrinking the array is allowed)

Definition at line 157 of file robodk_api.cpp.

◆ SetValues() [1/2]

void SetValues ( const double *  joints,
int  ndofs = -1 
)

Set the joint values in deg or mm. You can also important provide the number of degrees of freedom (6 for a 6 axis robot).

Parameters
jointsjoint values in deg or mm
ndofsnumber of degrees of freedom (number of axes or joints)

Definition at line 104 of file robodk_api.cpp.

◆ SetValues() [2/2]

void SetValues ( const float *  joints,
int  ndofs = -1 
)

Set the joint values in deg or mm (floats). You can also important provide the number of degrees of freedom (6 for a 6 axis robot).

Parameters
jointsjoint values in deg or mm
ndofsnumber of degrees of freedom (number of axes or joints)

Definition at line 113 of file robodk_api.cpp.

◆ ToString()

QString ToString ( const QString &  separator = ", ",
int  precision = 3 
) const

Retrieve a string representation of the joint values.

Parameters
separatorString to add between consecutive joint values
precisionNumber of decimals
Returns
string as a QString

Definition at line 127 of file robodk_api.cpp.

◆ Valid()

bool Valid ( ) const

Check if the joints are valid. For example, when we request the Inverse kinematics and there is no solution the joints will not be valid. (for example, an invalid result after calling class: IItem::SolveIK returns a non valid joints)

Returns
true if it has 1 degree of freedom or more

Definition at line 163 of file robodk_api.cpp.

◆ Values()

const double * Values ( ) const

Joint values.

Returns
Returns a pointer to the joint data array (doubles or floats if ROBODK_API_FLOATS is defined)

Definition at line 94 of file robodk_api.cpp.

◆ ValuesD()

const double * ValuesD ( ) const

Joint values.

Returns
Returns a pointer to the joint data array (doubles)

Definition at line 80 of file robodk_api.cpp.

◆ ValuesF()

const float * ValuesF ( ) const

Joint values.

Returns
Returns a pointer to the joint data array (floats)

Definition at line 83 of file robodk_api.cpp.

Member Data Documentation

◆ _nDOFs

int _nDOFs

number of degrees of freedom

Definition at line 485 of file robodk_api.h.

◆ _Values

double _Values[RDK_SIZE_JOINTS_MAX]

joint values (doubles, used to store the joint values)

Definition at line 488 of file robodk_api.h.

◆ _ValuesF

float _ValuesF[RDK_SIZE_JOINTS_MAX]

joint values (floats, used to return a copy as a float pointer)

Definition at line 491 of file robodk_api.h.


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