27 lines · 902 B · C++
RawDownload
////  Created by Sabrina Shanman 8/14/2018//  Copyright 2018 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// #include "MouseTransformNode.h" #include "Application.h"#include "display-plugins/CompositorHelper.h"#include "RayPick.h" Transform MouseTransformNode::getTransform() {    QVariant position = qApp->getApplicationCompositor().getReticleInterface()->getPosition();    if (position.isValid()) {        Transform transform;        QVariantMap posMap = position.toMap();        PickRay pickRay = qApp->getCamera().computePickRay(posMap["x"].toFloat(), posMap["y"].toFloat());        transform.setTranslation(pickRay.origin);        transform.setRotation(rotationBetween(Vectors::UP, pickRay.direction));        return transform;    }     return Transform();}