kernelv_ch_get_cs_rot_matrix()
Prototype
KERNELV_RETURN | kernelv_ch_get_cs_rot_matrix(unsigned long int chanIndex, |
Description
Returns the rotation matrix of the coordinate system specified by the parameter csIndex.
A 3x3 rotation matrix is returned. It can be used to generate the coordinate system from the subordinate coordinate system.
The rotation matrix generated by the parameters ϕ1, ϕ2 ϕ3 of the following NC command is returned:
#CS DEF [CS1] [ <v1>,<v2>,<v3>,<ϕ1>,<ϕ2>,<ϕ3> ]
If no coordinate system is defined at the specific index in the coordinate system stack, a standard matrix is returned and the return value of the function is ERR_CNC_NO_DATA.
Parameter
Name | Type | Meaning |
chanIndex | unsigned long | Channel index of the channel. |
csIndex | unsigned short | Index of the coordinate system in the coordinate system stack. |
matrix | double* | Pointer to the memory location for the rotation matrix. |
bufferSize | unsigned long | Length of the memory area for the rotation matrix must be at least 3 x 3 x sizeof(double). |
returnLength | unsigned long* | Pointer to the value to which the actually returned number of bytes is to be written. If the transferred memory is too small for the return value, the return value ERR_CNC_RET_MEMORY is returned and this parameter returns the required memory size. |
Return values
Symbol | Value | Meaning |
RET_FINISHED | 0 | The function was executed without error. |
ERR_INVALID_CHAN | -1 | The transferred channel index is higher than the number of configured channels –1 |
ERR_CNC_NOT_INIT | -3 | The simulation CNC kernel was not yet initialised. |
ERR_CNC_RET_MEMORY | -4 | The return value(s) does/do not fit into the memory provided. In this case, the minimum size required for the return is returned in returnLength. |
ERR_READ_ERR | -26 | An error occurred on reading data from the kernelv DLL. |
ERR_CNC_NO_DATA | -28 | The requested data is not available. No coordinate system is defined in the coordinate system stack at the location specified by the call parameter csIndex. The standard matrix is returned. |
ERR_INVALID_PARAMETER | -30 | An invalid parameter was transferred: The coordinate system index transferred in the parameter csIndex is higher than the maximum possible index in the coordinate system stack. |