From 143648860b10af1732acdb2006025ccf66de2e4b Mon Sep 17 00:00:00 2001 From: viktorljung Date: Thu, 14 Jan 2016 15:32:41 +0100 Subject: [PATCH] Added world pointer to PickData --- include/Engine/Rendering/IRenderer.h | 1 + src/Engine/Editor/EditorSystem.cpp | 3 +-- src/Engine/Rendering/PickingPass.cpp | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/Engine/Rendering/IRenderer.h b/include/Engine/Rendering/IRenderer.h index 8aaf3e2d..773da732 100644 --- a/include/Engine/Rendering/IRenderer.h +++ b/include/Engine/Rendering/IRenderer.h @@ -16,6 +16,7 @@ struct PickData glm::vec3 Position; //World position float Depth; ::Camera* Camera; + const ::World* World; }; class IRenderer diff --git a/src/Engine/Editor/EditorSystem.cpp b/src/Engine/Editor/EditorSystem.cpp index a687d506..de57c705 100644 --- a/src/Engine/Editor/EditorSystem.cpp +++ b/src/Engine/Editor/EditorSystem.cpp @@ -245,6 +245,7 @@ void EditorSystem::Picking() LOG_INFO("Selected %i", entity); if (entity != EntityID_Invalid) { EntityID parent = m_World->GetParent(entity); + m_Camera = result.Camera; if (parent == m_Widget) { m_WidgetCurrentAxis = glm::vec3( (entity == m_WidgetX) || (entity == m_WidgetOrigin) || (entity == m_WidgetPlaneY || entity == m_WidgetPlaneZ), @@ -252,7 +253,6 @@ void EditorSystem::Picking() (entity == m_WidgetZ) || (entity == m_WidgetOrigin) || (entity == m_WidgetPlaneX || entity == m_WidgetPlaneY) ); m_WidgetPickingDepth = result.Depth; - m_Camera = result.Camera; //auto widgetTransform = m_World->GetComponent(m_Widget, "Transform"); //auto selectionTransform = m_World->GetComponent(m_Selection, "Transform"); //widgetTransform["Position"] = (glm::vec3)selectionTransform["Position"]; @@ -263,7 +263,6 @@ void EditorSystem::Picking() } setWidgetMode(m_WidgetMode); m_Selection = entity; - m_Camera = result.Camera; } } } diff --git a/src/Engine/Rendering/PickingPass.cpp b/src/Engine/Rendering/PickingPass.cpp index f4f3d490..aa42a961 100644 --- a/src/Engine/Rendering/PickingPass.cpp +++ b/src/Engine/Rendering/PickingPass.cpp @@ -144,6 +144,7 @@ PickData PickingPass::Pick(glm::vec2 screenCoord) pickData.Entity = pickInfo.Entity; pickData.Camera = pickInfo.Camera; + pickData.World = pickInfo.World; return pickData; }