From 00c6301a936449a7e191d65c32c2f281aad8cf47 Mon Sep 17 00:00:00 2001 From: D-AIRY <admin@ds-servers.com> Date: Mon, 11 May 2020 01:14:30 +0300 Subject: [PATCH] Terrax center on selection --- source/terrax/mainWindow.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/source/terrax/mainWindow.cpp b/source/terrax/mainWindow.cpp index 69b892da2..6aaf6459a 100644 --- a/source/terrax/mainWindow.cpp +++ b/source/terrax/mainWindow.cpp @@ -939,6 +939,34 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) g_isPropWindowVisible = TRUE; break; + case ID_VIEW_CENTERONSELECTION: + if(g_xState.bHasSelection) + { + float3 vCenterPos = (g_xState.vSelectionBoundMax + g_xState.vSelectionBoundMin) * 0.5f; + for(UINT i = 1; i < 4; ++i) + { + ICamera *pCamera = g_xConfig.m_pViewportCamera[i]; + float3 vCamPos; + pCamera->getPosition(&vCamPos); + + switch(g_xConfig.m_x2DView[i]) + { + case X2D_TOP: + vCamPos = float3(vCenterPos.x, vCamPos.y, vCenterPos.z); + break; + case X2D_FRONT: + vCamPos = float3(vCenterPos.x, vCenterPos.y, vCamPos.z); + break; + case X2D_SIDE: + vCamPos = float3(vCamPos.x, vCenterPos.y, vCenterPos.z); + break; + } + + pCamera->setPosition(&vCamPos); + } + } + break; + case IDC_CMB_TYPE: { int iSel = ComboBox_GetCurSel(g_hComboTypesWnd); -- GitLab