void MouseInput::wheelEvent(const QWheelEventPtr &event) { QBackendScenePropertyChangePtr e(new QBackendScenePropertyChange(NodeUpdated, peerUuid())); e->setTargetNode(peerUuid()); e->setPropertyName("wheel"); e->setValue(QVariant::fromValue(event)); notifyObservers(e); }
void MouseInput::setController(const Qt3DCore::QNodeId &controller) { if (!m_mouseController.isNull()) { MouseController *controller = m_inputHandler->mouseControllerManager()->lookupResource(m_mouseController); if (controller) controller->removeMouseInput(peerUuid()); } m_mouseController = controller; if (!m_mouseController.isNull()) { MouseController *controller = m_inputHandler->mouseControllerManager()->lookupResource(m_mouseController); if (controller) controller->addMouseInput(peerUuid()); } }
void RenderScene::setSceneSubtree(QEntity *subTree) { QBackendScenePropertyChangePtr e(new QBackendScenePropertyChange(NodeUpdated, peerUuid())); e->setPropertyName("scene"); // The Frontend element has to perform the clone // So that the objects are created in the main thread e->setValue(QVariant::fromValue(subTree)); e->setTargetNode(peerUuid()); notifyObservers(e); QBackendScenePropertyChangePtr e2(new QBackendScenePropertyChange(NodeUpdated, peerUuid())); e2->setPropertyName("status"); e2->setValue(subTree != Q_NULLPTR ? QAbstractSceneLoader::Loaded : QAbstractSceneLoader::Error); e2->setTargetNode(peerUuid()); notifyObservers(e2); }
void RenderScene::updateFromPeer(QNode *peer) { QAbstractSceneLoader *loader = static_cast<QAbstractSceneLoader *>(peer); m_source = loader->source(); m_sceneManager->addSceneData(m_source, peerUuid()); }
void RenderScene::sceneChangeEvent(const QSceneChangePtr &e) { QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e); if (propertyChange->propertyName() == QByteArrayLiteral("source")) { m_source = propertyChange->value().toUrl(); m_sceneManager->addSceneData(m_source, peerUuid()); } }
void TextureImage::updateFromPeer(Qt3DCore::QNode *peer) { QAbstractTextureImage *textureImage = static_cast<QAbstractTextureImage *>(peer); m_layer = textureImage->layer(); m_mipmapLevel = textureImage->mipmapLevel(); m_face = textureImage->cubeMapFace(); m_functor = textureImage->dataFunctor(); // Notify the Texture that we are one of its TextureImage if (!peer->parentNode()) { qWarning() << "Not QAbstractTextureProvider parent found"; } else { m_textureProviderId = peer->parentNode()->id(); m_textureProvider = m_textureManager->lookupHandle(m_textureProviderId); Texture *txt = m_textureManager->data(m_textureProvider); // Notify the Texture that it has a new TextureImage and needs an update txt->addTextureImageData(m_textureImageManager->lookupHandle(peerUuid())); if (txt != Q_NULLPTR) txt->addToPendingTextureJobs(); } }
PhysicsGeometry::~PhysicsGeometry(){ m_manager->m_resources.remove(peerUuid()); }
PhysicsGeometryRenderer::~PhysicsGeometryRenderer(){ m_manager->m_resources.remove(peerUuid()); }
PhysicsTransform::~PhysicsTransform(){ m_manager->m_resources.remove(peerUuid()); }