23 #include <QtCore/QObject>
24 #include <QtCore/QString>
26 #include "GLMHelpers.h"
27 #include "Scriptable.h"
82 Q_PROPERTY(glm::vec3 UNIT_X READ UNIT_X CONSTANT)
83 Q_PROPERTY(glm::vec3 UNIT_Y READ UNIT_Y CONSTANT)
84 Q_PROPERTY(glm::vec3 UNIT_Z READ UNIT_Z CONSTANT)
85 Q_PROPERTY(glm::vec3 UNIT_NEG_X READ UNIT_NEG_X CONSTANT)
86 Q_PROPERTY(glm::vec3 UNIT_NEG_Y READ UNIT_NEG_Y CONSTANT)
87 Q_PROPERTY(glm::vec3 UNIT_NEG_Z READ UNIT_NEG_Z CONSTANT)
88 Q_PROPERTY(glm::vec3 UNIT_XY READ UNIT_XY CONSTANT)
89 Q_PROPERTY(glm::vec3 UNIT_XZ READ UNIT_XZ CONSTANT)
90 Q_PROPERTY(glm::vec3 UNIT_YZ READ UNIT_YZ CONSTANT)
91 Q_PROPERTY(glm::vec3 UNIT_XYZ READ UNIT_XYZ CONSTANT)
92 Q_PROPERTY(glm::vec3 FLOAT_MAX READ FLOAT_MAX CONSTANT)
93 Q_PROPERTY(glm::vec3 FLOAT_MIN READ FLOAT_MIN CONSTANT)
94 Q_PROPERTY(glm::vec3 ZERO READ ZERO CONSTANT)
95 Q_PROPERTY(glm::vec3 ONE READ ONE CONSTANT)
96 Q_PROPERTY(glm::vec3 TWO READ TWO CONSTANT)
97 Q_PROPERTY(glm::vec3 HALF READ HALF CONSTANT)
98 Q_PROPERTY(glm::vec3 RIGHT READ RIGHT CONSTANT)
99 Q_PROPERTY(glm::vec3 UP READ UP CONSTANT)
100 Q_PROPERTY(glm::vec3 FRONT READ FRONT CONSTANT)
116 glm::vec3 reflect(
const glm::vec3& v1,
const glm::vec3& v2) {
return glm::reflect(v1, v2); }
130 glm::vec3 cross(
const glm::vec3& v1,
const glm::vec3& v2) {
return glm::cross(v1, v2); }
144 float dot(
const glm::vec3& v1,
const glm::vec3& v2) {
return glm::dot(v1, v2); }
153 glm::vec3 multiply(
const glm::vec3& v1,
float f) {
return v1 * f; }
162 glm::vec3 multiply(
float f,
const glm::vec3& v1) {
return v1 * f; }
177 glm::vec3 multiplyVbyV(
const glm::vec3& v1,
const glm::vec3& v2) {
return v1 * v2; }
191 glm::vec3 multiplyQbyV(
const glm::quat& q,
const glm::vec3& v) {
return q * v; }
200 glm::vec3 sum(
const glm::vec3& v1,
const glm::vec3& v2) {
return v1 + v2; }
209 glm::vec3 subtract(
const glm::vec3& v1,
const glm::vec3& v2) {
return v1 - v2; }
217 float length(
const glm::vec3& v) {
return glm::length(v); }
235 float distance(
const glm::vec3& v1,
const glm::vec3& v2) {
return glm::distance(v1, v2); }
257 float orientedAngle(
const glm::vec3& v1,
const glm::vec3& v2,
const glm::vec3& v3);
270 glm::vec3 normalize(
const glm::vec3& v) {
return glm::normalize(v); };
285 glm::vec3 mix(
const glm::vec3& v1,
const glm::vec3& v2,
float m) {
return glm::mix(v1, v2, m); }
297 void print(
const QString& label,
const glm::vec3& v);
318 bool equal(
const glm::vec3& v1,
const glm::vec3& v2) {
return v1 == v2; }
339 bool withinEpsilon(
const glm::vec3& v1,
const glm::vec3& v2,
float epsilon);
355 glm::vec3 toPolar(
const glm::vec3& v);
369 glm::vec3 fromPolar(
const glm::vec3& polar);
387 glm::vec3 fromPolar(
float elevation,
float azimuth);
401 float getAngle(
const glm::vec3& v1,
const glm::vec3& v2);
404 const glm::vec3& UNIT_X() {
return Vectors::UNIT_X; }
405 const glm::vec3& UNIT_Y() {
return Vectors::UNIT_Y; }
406 const glm::vec3& UNIT_Z() {
return Vectors::UNIT_Z; }
407 const glm::vec3& UNIT_NEG_X() {
return Vectors::UNIT_NEG_X; }
408 const glm::vec3& UNIT_NEG_Y() {
return Vectors::UNIT_NEG_Y; }
409 const glm::vec3& UNIT_NEG_Z() {
return Vectors::UNIT_NEG_Z; }
410 const glm::vec3& UNIT_XY() {
return Vectors::UNIT_XY; }
411 const glm::vec3& UNIT_XZ() {
return Vectors::UNIT_XZ; }
412 const glm::vec3& UNIT_YZ() {
return Vectors::UNIT_YZ; }
413 const glm::vec3& UNIT_XYZ() {
return Vectors::UNIT_XYZ; }
414 const glm::vec3& FLOAT_MAX() {
return Vectors::MAX; }
415 const glm::vec3& FLOAT_MIN() {
return Vectors::MIN; }
416 const glm::vec3& ZERO() {
return Vectors::ZERO; }
417 const glm::vec3& ONE() {
return Vectors::ONE; }
418 const glm::vec3& TWO() {
return Vectors::TWO; }
419 const glm::vec3& HALF() {
return Vectors::HALF; }
420 const glm::vec3& RIGHT() {
return Vectors::RIGHT; }
421 const glm::vec3& UP() {
return Vectors::UP; }
422 const glm::vec3& FRONT() {
return Vectors::FRONT; }
[ScriptInterface] Provides an engine-independent interface for QScriptable
Definition: Scriptable.h:29
Provides the Vec3 scripting interface.
Definition: Vec3.h:80