1#ifndef IRBCAMINTERFACEPUBLIC_H
2#define IRBCAMINTERFACEPUBLIC_H
4#include <qguiapplication.h>
5#include <qqmlapplicationengine.h>
10#include "targetproxymodel.h"
11#include "hokaqmlutils.hpp"
33 Q_PROPERTY(
bool irbcamForWeb READ IrbcamForWeb CONSTANT)
35 Q_PROPERTY(QString pluginUrl READ getPluginUrl CONSTANT)
49 Q_PROPERTY(QString
pluginName READ getPluginName CONSTANT)
116 friend HokaSingleton;
121 static
void RegisterContext();
123 void init(QGuiApplication *app);
145 Xyz = int(Hokarob::RotationSequence::xyz),
147 Xzy = int(Hokarob::RotationSequence::xzy),
149 Yxz = int(Hokarob::RotationSequence::yxz),
151 Yzx = int(Hokarob::RotationSequence::yzx),
153 Zxy = int(Hokarob::RotationSequence::zxy),
155 Zyx = int(Hokarob::RotationSequence::zyx),
157 Zyz = int(Hokarob::RotationSequence::zyz)
471 static
bool IrbcamForWeb();
Public Interface for Extending IRBCAM using QML Plugins.
Definition irbcaminterfacepublic.h:29
void mainWindowChanged()
Signal emitted when the main window size has changed.
TargetProxyModel * pathModel
Access the Cartesian path in the station.
Definition irbcaminterfacepublic.h:95
QRect mainWindow
Q_PROPERTY for accessing the main window's geometry as a QRect.
Definition irbcaminterfacepublic.h:113
CoordinateFrame
Enum representing different coordinate frames.
Definition irbcaminterfacepublic.h:324
@ RobotBaseFrame
Robot base frame transformation.
Definition irbcaminterfacepublic.h:334
@ LinearTrackBaseFrame
Linear track base frame transformation.
Definition irbcaminterfacepublic.h:338
@ ObjectFrame
Object frame transformation.
Definition irbcaminterfacepublic.h:328
@ TooltipFrame
Tool tip (TCP) frame transformation.
Definition irbcaminterfacepublic.h:330
@ UserFrame
User frame transformation.
Definition irbcaminterfacepublic.h:326
@ StationaryToolBaseFrame
Stationary tool base frame transformation.
Definition irbcaminterfacepublic.h:332
@ RotaryTableBaseFrame
Rotary table base frame transformation.
Definition irbcaminterfacepublic.h:336
SpeedMode
Target speed mode.
Definition irbcaminterfacepublic.h:392
@ SpeedModeRapid
Rapid move speed. Usually a special type of move speed configured by the controller.
Definition irbcaminterfacepublic.h:396
@ SpeedModeInput
Manual input.
Definition irbcaminterfacepublic.h:394
@ SpeedModeCutting
Cutting move speed. Usually a special type of move speed configured by the controller.
Definition irbcaminterfacepublic.h:398
Q_INVOKABLE void setCoordinateFrame(CoordinateFrame frame, QVector3D position, QQuaternion quat)
Sets position and orientation of a given coordinate frame.
KinSolution
Solution status.
Definition irbcaminterfacepublic.h:433
@ Solved
The target /path was solved successfully.
Definition irbcaminterfacepublic.h:439
@ NotSolved
The target/path is not solved and an attempt to solve it has not been made.
Definition irbcaminterfacepublic.h:435
@ Failed
An attempt to solve the target/path was made, but it failed.
Definition irbcaminterfacepublic.h:437
MotionType
Type of move operation.
Definition irbcaminterfacepublic.h:357
@ MotionTypeRotaryLiftPoint2
Rotary table lift point. Exported as a linear move.
Definition irbcaminterfacepublic.h:367
@ MotionTypeRotaryLiftPoint1
Rotary table lift point. Exported as a linear move.
Definition irbcaminterfacepublic.h:365
@ MotionTypeArcMidpoint
Arc move. Corresponds to moveC.
Definition irbcaminterfacepublic.h:361
@ MotionTypeRotaryLiftPoint4
Rotary table lift point. Exported as a linear move.
Definition irbcaminterfacepublic.h:371
@ MotionTypeLinear
Linear move. Corresponds to moveL.
Definition irbcaminterfacepublic.h:359
@ MotionTypeRotaryLiftPoint3
Rotary table lift point. Exported as a linear move.
Definition irbcaminterfacepublic.h:369
@ MotionTypeJoint
Joint move.
Definition irbcaminterfacepublic.h:373
@ MotionTypeLinearLiftPoint
Linear lift point. Exported as a linear move.
Definition irbcaminterfacepublic.h:363
QString pluginName
Q_PROPERTY for accessing the name of the plugin.
Definition irbcaminterfacepublic.h:49
Q_INVOKABLE double radToDeg(double val)
Converts an angle from radians to degrees.
Q_INVOKABLE QMatrix4x4 quaternionToMatrix(QQuaternion quat)
Converts quaternion to transformation matrix.
RotationSequence
Enum representing different rotation sequences.
Definition irbcaminterfacepublic.h:143
@ Xzy
Rotation in sequence: X > Z > Y.
Definition irbcaminterfacepublic.h:147
@ Xyz
Rotation in sequence: X > Y > Z.
Definition irbcaminterfacepublic.h:145
@ Yxz
Rotation in sequence: Y > X > Z.
Definition irbcaminterfacepublic.h:149
@ Zxy
Rotation in sequence: Z > X > Y.
Definition irbcaminterfacepublic.h:153
@ Zyx
Rotation in sequence: Z > Y > X.
Definition irbcaminterfacepublic.h:155
@ Zyz
Rotation in sequence: Z > Y > Z.
Definition irbcaminterfacepublic.h:157
@ Yzx
Rotation in sequence: Y > Z > X.
Definition irbcaminterfacepublic.h:151
Q_INVOKABLE QQuaternion eulerToQuaternion(double rx, double ry, double rz, RotationSequence seq)
Converts Euler angles to a Quaternion using the specified rotation sequence.
Q_INVOKABLE QQuaternion matrixToQuaternion(QMatrix4x4 mat)
Converts transformation matrix to a quaternion.
Q_INVOKABLE QVector3D quaternionToEuler(QQuaternion quat, RotationSequence seq)
Converts a Quaternion to Euler angles using the specified rotation sequence.
Q_INVOKABLE QVector3D quaternionToRpy(QQuaternion quat)
Converts a quaternion to Roll Pitch Yaw (RPY) angles. This function converts a rotation expressed in ...
Q_INVOKABLE double degToRad(double val)
Converts an angle from degrees to radians.