Add frustum property to JavaScript Camera object

This commit is contained in:
David Rowe 2016-09-09 18:56:05 +12:00
parent 28cfca993f
commit ce58edc4e0
2 changed files with 17 additions and 0 deletions

View file

@ -182,3 +182,16 @@ ViewFrustum Camera::toViewFrustum() const {
loadViewFrustum(result);
return result;
}
QVariantMap Camera::getViewFrustum() {
ViewFrustum frustum;
loadViewFrustum(frustum);
QVariantMap result;
result["position"].setValue(frustum.getPosition());
result["orientation"].setValue(frustum.getOrientation());
result["projection"].setValue(frustum.getProjection());
result["centerRadius"].setValue(frustum.getCenterRadius());
return result;
}

View file

@ -42,6 +42,8 @@ class Camera : public QObject {
Q_PROPERTY(glm::quat orientation READ getOrientation WRITE setOrientation)
Q_PROPERTY(QString mode READ getModeString WRITE setModeString)
Q_PROPERTY(QUuid cameraEntity READ getCameraEntity WRITE setCameraEntity)
Q_PROPERTY(QVariantMap frustum READ getViewFrustum CONSTANT)
public:
Camera();
@ -63,6 +65,8 @@ public:
const glm::mat4& getProjection() const { return _projection; }
void setProjection(const glm::mat4& projection);
QVariantMap getViewFrustum();
public slots:
QString getModeString() const;
void setModeString(const QString& mode);