miqt/qt6/gen_qquaternion.h
2025-02-01 13:45:22 +13:00

84 lines
3.8 KiB
C++

#pragma once
#ifndef MIQT_QT6_GEN_QQUATERNION_H
#define MIQT_QT6_GEN_QQUATERNION_H
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include "../libmiqt/libmiqt.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
class QQuaternion;
class QVariant;
class QVector3D;
class QVector4D;
#else
typedef struct QQuaternion QQuaternion;
typedef struct QVariant QVariant;
typedef struct QVector3D QVector3D;
typedef struct QVector4D QVector4D;
#endif
QQuaternion* QQuaternion_new();
QQuaternion* QQuaternion_new2(int param1);
QQuaternion* QQuaternion_new3(float scalar, float xpos, float ypos, float zpos);
QQuaternion* QQuaternion_new4(float scalar, QVector3D* vector);
QQuaternion* QQuaternion_new5(QVector4D* vector);
QQuaternion* QQuaternion_new6(QQuaternion* param1);
bool QQuaternion_isNull(const QQuaternion* self);
bool QQuaternion_isIdentity(const QQuaternion* self);
QVector3D* QQuaternion_vector(const QQuaternion* self);
void QQuaternion_setVector(QQuaternion* self, QVector3D* vector);
void QQuaternion_setVector2(QQuaternion* self, float x, float y, float z);
float QQuaternion_x(const QQuaternion* self);
float QQuaternion_y(const QQuaternion* self);
float QQuaternion_z(const QQuaternion* self);
float QQuaternion_scalar(const QQuaternion* self);
void QQuaternion_setX(QQuaternion* self, float x);
void QQuaternion_setY(QQuaternion* self, float y);
void QQuaternion_setZ(QQuaternion* self, float z);
void QQuaternion_setScalar(QQuaternion* self, float scalar);
float QQuaternion_dotProduct(QQuaternion* q1, QQuaternion* q2);
float QQuaternion_length(const QQuaternion* self);
float QQuaternion_lengthSquared(const QQuaternion* self);
QQuaternion* QQuaternion_normalized(const QQuaternion* self);
void QQuaternion_normalize(QQuaternion* self);
QQuaternion* QQuaternion_inverted(const QQuaternion* self);
QQuaternion* QQuaternion_conjugated(const QQuaternion* self);
QVector3D* QQuaternion_rotatedVector(const QQuaternion* self, QVector3D* vector);
QQuaternion* QQuaternion_operatorPlusAssign(QQuaternion* self, QQuaternion* quaternion);
QQuaternion* QQuaternion_operatorMinusAssign(QQuaternion* self, QQuaternion* quaternion);
QQuaternion* QQuaternion_operatorMultiplyAssign(QQuaternion* self, float factor);
QQuaternion* QQuaternion_operatorMultiplyAssignWithQuaternion(QQuaternion* self, QQuaternion* quaternion);
QQuaternion* QQuaternion_operatorDivideAssign(QQuaternion* self, float divisor);
QVector4D* QQuaternion_toVector4D(const QQuaternion* self);
QVariant* QQuaternion_ToQVariant(const QQuaternion* self);
void QQuaternion_getAxisAndAngle(const QQuaternion* self, QVector3D* axis, float* angle);
QQuaternion* QQuaternion_fromAxisAndAngle(QVector3D* axis, float angle);
void QQuaternion_getAxisAndAngle2(const QQuaternion* self, float* x, float* y, float* z, float* angle);
QQuaternion* QQuaternion_fromAxisAndAngle2(float x, float y, float z, float angle);
QVector3D* QQuaternion_toEulerAngles(const QQuaternion* self);
QQuaternion* QQuaternion_fromEulerAngles(QVector3D* eulerAngles);
void QQuaternion_getEulerAngles(const QQuaternion* self, float* pitch, float* yaw, float* roll);
QQuaternion* QQuaternion_fromEulerAngles2(float pitch, float yaw, float roll);
void QQuaternion_getAxes(const QQuaternion* self, QVector3D* xAxis, QVector3D* yAxis, QVector3D* zAxis);
QQuaternion* QQuaternion_fromAxes(QVector3D* xAxis, QVector3D* yAxis, QVector3D* zAxis);
QQuaternion* QQuaternion_fromDirection(QVector3D* direction, QVector3D* up);
QQuaternion* QQuaternion_rotationTo(QVector3D* from, QVector3D* to);
QQuaternion* QQuaternion_slerp(QQuaternion* q1, QQuaternion* q2, float t);
QQuaternion* QQuaternion_nlerp(QQuaternion* q1, QQuaternion* q2, float t);
void QQuaternion_delete(QQuaternion* self);
#ifdef __cplusplus
} /* extern C */
#endif
#endif