kernelv_ch_get_total_cs_rot_matrix()

Prototyp

KERNELV_RETURN

 

kernelv_ch_get_total_cs_rot_matrix(unsigned long int chanIndex,
                                                         double *matrix,
                                                         unsigned long int bufferSize,
                                                         unsigned long int *retBytes);

 

Beschreibung

Liefert die durch die Verkettung aller aktiven Koordinatensysteme entstandene Rotationsmatrix zurück.

Es wird die Rotationsmatrix zurückgegeben, die z.B. durch die Parameter ϕ1, ϕ2 ϕ3 des folgenden NC-Befehls erzeugt wird:

#CS DEF [CS1] [ <v1>,<v2>,<v3>,<ϕ1>,<ϕ2>,<ϕ3> ]

Falls kein Koordinatensystem aktiv ist, wird die Einheitsmatrix zurückgegeben.

Parameter

Name

Typ

Bedeutung

chanIndex

unsigned long

Kanalindex des Kanals.

matrix

double*

Zeiger auf den Speicherplatz für die Rotationsmatrix.

bufferSize

unsigned long

Länge des Speicherbereiches für die Rotationsmatrix muss mindestens 3 x 3 x sizeof(double) sein.

returnLength

unsigned long*

Zeiger auf den Wert, in den die tatsächlich zurückgegebene Anzahl Bytes geschrieben werden soll.

Falls der übergebene Speicher zu klein für die Rückgabe des Wertes ist, wird der Rückgabewert ERR_CNC_RET_MEMORY zurückgegeben und es wird über diesen Parameter die benötigte Speichergröße zurückgegeben.

Rückgabewerte

Symbol

Wert

Bedeutung

RET_FINISHED

0

Die Funktion wurde fehlerfrei durchgeführt.

ERR_INVALID_CHAN

-1

Der übergebene Kanalindex ist größer als die Anzahl der konfigurierten Kanäle – 1

ERR_CNC_NOT_INIT

-3

Der Simulations-CNC-Kern ist noch nicht initialisiert.

ERR_CNC_RET_MEMORY

-4

Der oder die Rückgabewerte passen nicht in den bereitgestellten Speicher. In diesem Fall wird über returnLength die zur Rückgabe benötigte Mindestgröße zurückgegeben.