Merge remote-tracking branch 'upstream/main' into DisableAtomShim
@@ -2,4 +2,4 @@
|
||||
SDKs
|
||||
|
||||
#ignore these files
|
||||
*.user
|
||||
*.user
|
||||
|
||||
@@ -12,4 +12,4 @@
|
||||
# Plugins should be processed before because we are going to generate the list of plugins
|
||||
# that the editor should load
|
||||
add_subdirectory(Plugins)
|
||||
add_subdirectory(Editor)
|
||||
add_subdirectory(Editor)
|
||||
|
||||
@@ -35,4 +35,4 @@ namespace EditorAnimationBones
|
||||
}
|
||||
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_ANIMATION_ANIMATIONBIPEDBONENAMES_H
|
||||
#endif // CRYINCLUDE_EDITOR_ANIMATION_ANIMATIONBIPEDBONENAMES_H
|
||||
|
||||
@@ -36,4 +36,4 @@ namespace AssetDatabase
|
||||
|
||||
AzToolsFramework::AssetDatabase::AssetDatabaseConnection* m_assetDatabaseConnection = nullptr;
|
||||
};
|
||||
}//namespace AssetDatabase
|
||||
}//namespace AssetDatabase
|
||||
|
||||
@@ -31,4 +31,4 @@ public:
|
||||
|
||||
};
|
||||
|
||||
using CommandManagerRequestBus = AZ::EBus<CommandManagerRequests>;
|
||||
using CommandManagerRequestBus = AZ::EBus<CommandManagerRequests>;
|
||||
|
||||
@@ -136,4 +136,4 @@ void CControlMRU::OnCalcDynamicSize(DWORD dwMode)
|
||||
m_dwHideFlags = 0;
|
||||
SetEnabled(FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -577,16 +577,6 @@ void LevelEditorMenuHandler::PopulateEditMenu(ActionManager::MenuWrapper& editMe
|
||||
modifyMenu.AddAction(ID_MODIFY_LINK);
|
||||
modifyMenu.AddAction(ID_MODIFY_UNLINK);
|
||||
modifyMenu.AddSeparator();
|
||||
|
||||
auto alignMenu = modifyMenu.AddMenu(tr("Align"));
|
||||
alignMenu.AddAction(ID_OBJECTMODIFY_ALIGNTOGRID);
|
||||
|
||||
auto constrainMenu = modifyMenu.AddMenu(tr("Constrain"));
|
||||
constrainMenu.AddAction(ID_SELECT_AXIS_X);
|
||||
constrainMenu.AddAction(ID_SELECT_AXIS_Y);
|
||||
constrainMenu.AddAction(ID_SELECT_AXIS_Z);
|
||||
constrainMenu.AddAction(ID_SELECT_AXIS_XY);
|
||||
constrainMenu.AddAction(ID_SELECT_AXIS_TERRAIN);
|
||||
}
|
||||
|
||||
auto snapMenu = modifyMenu.AddMenu(tr("Snap"));
|
||||
@@ -608,20 +598,10 @@ void LevelEditorMenuHandler::PopulateEditMenu(ActionManager::MenuWrapper& editMe
|
||||
}
|
||||
|
||||
auto transformModeMenu = modifyMenu.AddMenu(tr("Transform Mode"));
|
||||
if (!newViewportInteractionModelEnabled)
|
||||
{
|
||||
transformModeMenu.AddAction(ID_EDITMODE_SELECT);
|
||||
}
|
||||
|
||||
transformModeMenu.AddAction(ID_EDITMODE_MOVE);
|
||||
transformModeMenu.AddAction(ID_EDITMODE_ROTATE);
|
||||
transformModeMenu.AddAction(ID_EDITMODE_SCALE);
|
||||
|
||||
if (!newViewportInteractionModelEnabled)
|
||||
{
|
||||
transformModeMenu.AddAction(ID_EDITMODE_SELECTAREA);
|
||||
}
|
||||
|
||||
editMenu.AddSeparator();
|
||||
|
||||
// Lock Selection
|
||||
|
||||
@@ -125,7 +125,6 @@ AZ_POP_DISABLE_WARNING
|
||||
#include "AnimationContext.h"
|
||||
|
||||
#include "GotoPositionDlg.h"
|
||||
#include "SetVectorDlg.h"
|
||||
|
||||
#include "ConsoleDialog.h"
|
||||
#include "Controls/ConsoleSCB.h"
|
||||
@@ -395,29 +394,20 @@ void CCryEditApp::RegisterActionHandlers()
|
||||
ON_COMMAND(ID_EDITMODE_MOVE, OnEditmodeMove)
|
||||
ON_COMMAND(ID_EDITMODE_ROTATE, OnEditmodeRotate)
|
||||
ON_COMMAND(ID_EDITMODE_SCALE, OnEditmodeScale)
|
||||
ON_COMMAND(ID_EDITMODE_SELECT, OnEditmodeSelect)
|
||||
ON_COMMAND(ID_OBJECTMODIFY_SETAREA, OnObjectSetArea)
|
||||
ON_COMMAND(ID_OBJECTMODIFY_SETHEIGHT, OnObjectSetHeight)
|
||||
ON_COMMAND(ID_OBJECTMODIFY_FREEZE, OnObjectmodifyFreeze)
|
||||
ON_COMMAND(ID_OBJECTMODIFY_UNFREEZE, OnObjectmodifyUnfreeze)
|
||||
ON_COMMAND(ID_EDITMODE_SELECTAREA, OnEditmodeSelectarea)
|
||||
ON_COMMAND(ID_SELECT_AXIS_X, OnSelectAxisX)
|
||||
ON_COMMAND(ID_SELECT_AXIS_Y, OnSelectAxisY)
|
||||
ON_COMMAND(ID_SELECT_AXIS_Z, OnSelectAxisZ)
|
||||
ON_COMMAND(ID_SELECT_AXIS_XY, OnSelectAxisXy)
|
||||
ON_COMMAND(ID_UNDO, OnUndo)
|
||||
ON_COMMAND(ID_TOOLBAR_WIDGET_REDO, OnUndo) // Can't use the same ID, because for the menu we can't have a QWidgetAction, while for the toolbar we want one
|
||||
ON_COMMAND(ID_SELECTION_SAVE, OnSelectionSave)
|
||||
ON_COMMAND(ID_IMPORT_ASSET, OnOpenAssetImporter)
|
||||
ON_COMMAND(ID_SELECTION_LOAD, OnSelectionLoad)
|
||||
ON_COMMAND(ID_OBJECTMODIFY_ALIGNTOGRID, OnAlignToGrid)
|
||||
ON_COMMAND(ID_LOCK_SELECTION, OnLockSelection)
|
||||
ON_COMMAND(ID_EDIT_LEVELDATA, OnEditLevelData)
|
||||
ON_COMMAND(ID_FILE_EDITLOGFILE, OnFileEditLogFile)
|
||||
ON_COMMAND(ID_FILE_RESAVESLICES, OnFileResaveSlices)
|
||||
ON_COMMAND(ID_FILE_EDITEDITORINI, OnFileEditEditorini)
|
||||
ON_COMMAND(ID_SELECT_AXIS_TERRAIN, OnSelectAxisTerrain)
|
||||
ON_COMMAND(ID_SELECT_AXIS_SNAPTOALL, OnSelectAxisSnapToAll)
|
||||
ON_COMMAND(ID_PREFERENCES, OnPreferences)
|
||||
ON_COMMAND(ID_RELOAD_GEOMETRY, OnReloadGeometry)
|
||||
ON_COMMAND(ID_REDO, OnRedo)
|
||||
@@ -484,7 +474,6 @@ void CCryEditApp::RegisterActionHandlers()
|
||||
ON_COMMAND(ID_VIEW_CYCLE2DVIEWPORT, OnViewCycle2dviewport)
|
||||
#endif
|
||||
ON_COMMAND(ID_DISPLAY_GOTOPOSITION, OnDisplayGotoPosition)
|
||||
ON_COMMAND(ID_DISPLAY_SETVECTOR, OnDisplaySetVector)
|
||||
ON_COMMAND(ID_SNAPANGLE, OnSnapangle)
|
||||
ON_COMMAND(ID_RULER, OnRuler)
|
||||
ON_COMMAND(ID_ROTATESELECTION_XAXIS, OnRotateselectionXaxis)
|
||||
@@ -2755,85 +2744,31 @@ void CCryEditApp::OnSetHeight()
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnEditmodeMove()
|
||||
{
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Translation);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeMove);
|
||||
}
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Translation);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnEditmodeRotate()
|
||||
{
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Rotation);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeRotate);
|
||||
}
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Rotation);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnEditmodeScale()
|
||||
{
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Scale);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeScale);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnEditmodeSelect()
|
||||
{
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeSelect);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnEditmodeSelectarea()
|
||||
{
|
||||
// TODO: Add your command handler code here
|
||||
GetIEditor()->SetEditMode(eEditModeSelectArea);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateEditmodeSelectarea(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetEditMode() == eEditModeSelectArea);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateEditmodeSelect(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
action->setChecked(GetIEditor()->GetEditMode() == eEditModeSelect);
|
||||
}
|
||||
using namespace AzToolsFramework;
|
||||
EditorTransformComponentSelectionRequestBus::Event(
|
||||
GetEntityContextId(),
|
||||
&EditorTransformComponentSelectionRequests::SetTransformMode,
|
||||
EditorTransformComponentSelectionRequests::Mode::Scale);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -2841,19 +2776,12 @@ void CCryEditApp::OnUpdateEditmodeMove(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Translation);
|
||||
}
|
||||
else
|
||||
{
|
||||
action->setChecked(GetIEditor()->GetEditMode() == eEditModeMove);
|
||||
}
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Translation);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -2861,20 +2789,12 @@ void CCryEditApp::OnUpdateEditmodeRotate(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Rotation);
|
||||
}
|
||||
else
|
||||
{
|
||||
action->setChecked(GetIEditor()->GetEditMode() == eEditModeRotate);
|
||||
action->setEnabled(true);
|
||||
}
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Rotation);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -2882,20 +2802,12 @@ void CCryEditApp::OnUpdateEditmodeScale(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequests::Mode mode;
|
||||
AzToolsFramework::EditorTransformComponentSelectionRequestBus::EventResult(
|
||||
mode, AzToolsFramework::GetEntityContextId(),
|
||||
&AzToolsFramework::EditorTransformComponentSelectionRequests::GetTransformMode);
|
||||
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Scale);
|
||||
}
|
||||
else
|
||||
{
|
||||
action->setChecked(GetIEditor()->GetEditMode() == eEditModeScale);
|
||||
action->setEnabled(true);
|
||||
}
|
||||
action->setChecked(mode == AzToolsFramework::EditorTransformComponentSelectionRequests::Mode::Scale);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -3076,101 +2988,6 @@ void CCryEditApp::OnViewSwitchToGame()
|
||||
GetIEditor()->SetInGameMode(inGame);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectAxisX()
|
||||
{
|
||||
AxisConstrains axis = (GetIEditor()->GetAxisConstrains() != AXIS_X) ? AXIS_X : AXIS_NONE;
|
||||
GetIEditor()->SetAxisConstraints(axis);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectAxisY()
|
||||
{
|
||||
AxisConstrains axis = (GetIEditor()->GetAxisConstrains() != AXIS_Y) ? AXIS_Y : AXIS_NONE;
|
||||
GetIEditor()->SetAxisConstraints(axis);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectAxisZ()
|
||||
{
|
||||
AxisConstrains axis = (GetIEditor()->GetAxisConstrains() != AXIS_Z) ? AXIS_Z : AXIS_NONE;
|
||||
GetIEditor()->SetAxisConstraints(axis);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnSelectAxisXy()
|
||||
{
|
||||
AxisConstrains axis = (GetIEditor()->GetAxisConstrains() != AXIS_XY) ? AXIS_XY : AXIS_NONE;
|
||||
GetIEditor()->SetAxisConstraints(axis);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnUpdateSelectAxisX(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_X);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnUpdateSelectAxisXy(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_XY);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnUpdateSelectAxisY(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_Y);
|
||||
}
|
||||
|
||||
void CCryEditApp::OnUpdateSelectAxisZ(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_Z);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSelectAxisTerrain()
|
||||
{
|
||||
IEditor* editor = GetIEditor();
|
||||
bool isAlreadyEnabled = (editor->GetAxisConstrains() == AXIS_TERRAIN) && (editor->IsTerrainAxisIgnoreObjects());
|
||||
if (!isAlreadyEnabled)
|
||||
{
|
||||
editor->SetAxisConstraints(AXIS_TERRAIN);
|
||||
editor->SetTerrainAxisIgnoreObjects(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// behave like a toggle button - click on the same thing again to disable.
|
||||
editor->SetAxisConstraints(AXIS_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSelectAxisSnapToAll()
|
||||
{
|
||||
IEditor* editor = GetIEditor();
|
||||
bool isAlreadyEnabled = (editor->GetAxisConstrains() == AXIS_TERRAIN) && (!editor->IsTerrainAxisIgnoreObjects());
|
||||
if (!isAlreadyEnabled)
|
||||
{
|
||||
editor->SetAxisConstraints(AXIS_TERRAIN);
|
||||
editor->SetTerrainAxisIgnoreObjects(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
// behave like a toggle button - click on the same thing again to disable.
|
||||
editor->SetAxisConstraints(AXIS_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateSelectAxisTerrain(QAction* action)
|
||||
{
|
||||
Q_ASSERT(action->isCheckable());
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_TERRAIN && GetIEditor()->IsTerrainAxisIgnoreObjects());
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnUpdateSelectAxisSnapToAll(QAction* action)
|
||||
{
|
||||
action->setChecked(GetIEditor()->GetAxisConstrains() == AXIS_TERRAIN && !GetIEditor()->IsTerrainAxisIgnoreObjects());
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnExportSelectedObjects()
|
||||
{
|
||||
@@ -3351,26 +3168,6 @@ void CCryEditApp::OnUpdateSelected(QAction* action)
|
||||
action->setEnabled(!GetIEditor()->GetSelection()->IsEmpty());
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnAlignToGrid()
|
||||
{
|
||||
CSelectionGroup* sel = GetIEditor()->GetSelection();
|
||||
if (!sel->IsEmpty())
|
||||
{
|
||||
CUndo undo("Align To Grid");
|
||||
Matrix34 tm;
|
||||
for (int i = 0; i < sel->GetCount(); i++)
|
||||
{
|
||||
CBaseObject* obj = sel->GetObject(i);
|
||||
tm = obj->GetWorldTM();
|
||||
Vec3 snaped = gSettings.pGrid->Snap(tm.GetTranslation());
|
||||
tm.SetTranslation(snaped);
|
||||
obj->SetWorldTM(tm, eObjectUpdateFlags_UserInput);
|
||||
obj->OnEvent(EVENT_ALIGN_TOGRID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CCryEditApp::OnShowHelpers()
|
||||
{
|
||||
GetIEditor()->GetDisplaySettings()->DisplayHelpers(!GetIEditor()->GetDisplaySettings()->IsDisplayHelpers());
|
||||
@@ -4530,13 +4327,6 @@ void CCryEditApp::OnDisplayGotoPosition()
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnDisplaySetVector()
|
||||
{
|
||||
CSetVectorDlg dlg;
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CCryEditApp::OnSnapangle()
|
||||
{
|
||||
|
||||
@@ -224,40 +224,23 @@ public:
|
||||
void OnEditmodeMove();
|
||||
void OnEditmodeRotate();
|
||||
void OnEditmodeScale();
|
||||
void OnEditmodeSelect();
|
||||
void OnObjectSetArea();
|
||||
void OnObjectSetHeight();
|
||||
void OnUpdateEditmodeSelect(QAction* action);
|
||||
void OnUpdateEditmodeMove(QAction* action);
|
||||
void OnUpdateEditmodeRotate(QAction* action);
|
||||
void OnUpdateEditmodeScale(QAction* action);
|
||||
void OnObjectmodifyFreeze();
|
||||
void OnObjectmodifyUnfreeze();
|
||||
void OnEditmodeSelectarea();
|
||||
void OnUpdateEditmodeSelectarea(QAction* action);
|
||||
void OnSelectAxisX();
|
||||
void OnSelectAxisY();
|
||||
void OnSelectAxisZ();
|
||||
void OnSelectAxisXy();
|
||||
void OnUpdateSelectAxisX(QAction* action);
|
||||
void OnUpdateSelectAxisXy(QAction* action);
|
||||
void OnUpdateSelectAxisY(QAction* action);
|
||||
void OnUpdateSelectAxisZ(QAction* action);
|
||||
void OnUndo();
|
||||
void OnSelectionSave();
|
||||
void OnOpenAssetImporter();
|
||||
void OnSelectionLoad();
|
||||
void OnUpdateSelected(QAction* action);
|
||||
void OnAlignToGrid();
|
||||
void OnLockSelection();
|
||||
void OnEditLevelData();
|
||||
void OnFileEditLogFile();
|
||||
void OnFileResaveSlices();
|
||||
void OnFileEditEditorini();
|
||||
void OnSelectAxisTerrain();
|
||||
void OnSelectAxisSnapToAll();
|
||||
void OnUpdateSelectAxisTerrain(QAction* action);
|
||||
void OnUpdateSelectAxisSnapToAll(QAction* action);
|
||||
void OnPreferences();
|
||||
void OnReloadTextures();
|
||||
void OnReloadGeometry();
|
||||
@@ -448,7 +431,6 @@ private:
|
||||
void OnToolsScriptHelp();
|
||||
void OnViewCycle2dviewport();
|
||||
void OnDisplayGotoPosition();
|
||||
void OnDisplaySetVector();
|
||||
void OnSnapangle();
|
||||
void OnUpdateSnapangle(QAction* action);
|
||||
void OnRuler();
|
||||
|
||||
@@ -279,8 +279,6 @@ void CCryEditDoc::DeleteContents()
|
||||
// [LY-90904] move this to the EditorVegetationManager component
|
||||
InstanceStatObjEventBus::Broadcast(&InstanceStatObjEventBus::Events::ReleaseData);
|
||||
|
||||
GetIEditor()->SetEditMode(eEditModeSelect);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Clear all undo info.
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -216,7 +216,6 @@ protected:
|
||||
void OnSliceInstantiationFailed(const AZ::Data::AssetId& sliceAssetId, const AzFramework::SliceInstantiationTicket& /*ticket*/) override;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
QString m_strMasterCDFolder;
|
||||
bool m_bLoadFailed;
|
||||
QColor m_waterColor;
|
||||
XmlNodeRef m_fogTemplate;
|
||||
|
||||
@@ -60,4 +60,4 @@ private:
|
||||
QStringList BuildModels(QWidget* parent);
|
||||
};
|
||||
|
||||
#endif //CRYINCLUDE_EDITOR_CUSTOMIZE_KEYBOARD_DIALOG_H
|
||||
#endif //CRYINCLUDE_EDITOR_CUSTOMIZE_KEYBOARD_DIALOG_H
|
||||
|
||||
@@ -1 +1 @@
|
||||
IDI_ICON1 ICON DISCARDABLE "res\\o3de_editor.ico"
|
||||
IDI_ICON1 ICON DISCARDABLE "res\\o3de_editor.ico"
|
||||
|
||||
@@ -73,4 +73,4 @@ private:
|
||||
QPixmap m_unSelectedPixmap;
|
||||
EditorPreferencesTreeWidgetItem* m_currentPageItem;
|
||||
QString m_filter;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1217,13 +1217,18 @@ void EditorViewportWidget::SetViewportId(int id)
|
||||
CViewport::SetViewportId(id);
|
||||
|
||||
// Now that we have an ID, we can initialize our viewport.
|
||||
m_renderViewport = new AtomToolsFramework::RenderViewportWidget(id, this);
|
||||
m_defaultViewportContextName = m_renderViewport->GetViewportContext()->GetName();
|
||||
m_renderViewport = new AtomToolsFramework::RenderViewportWidget(this, false);
|
||||
if (!m_renderViewport->InitializeViewportContext(id))
|
||||
{
|
||||
AZ_Warning("EditorViewportWidget", false, "Failed to initialize RenderViewportWidget's ViewportContext");
|
||||
return;
|
||||
}
|
||||
auto viewportContext = m_renderViewport->GetViewportContext();
|
||||
m_defaultViewportContextName = viewportContext->GetName();
|
||||
QBoxLayout* layout = new QBoxLayout(QBoxLayout::Direction::TopToBottom, this);
|
||||
layout->setContentsMargins(QMargins());
|
||||
layout->addWidget(m_renderViewport);
|
||||
|
||||
auto viewportContext = m_renderViewport->GetViewportContext();
|
||||
viewportContext->ConnectViewMatrixChangedHandler(m_cameraViewMatrixChangeHandler);
|
||||
viewportContext->ConnectProjectionMatrixChangedHandler(m_cameraProjectionMatrixChangeHandler);
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ namespace
|
||||
const float kTangentDelta = 0.01f;
|
||||
const float kAspectRatio = 1.777778f;
|
||||
const int kReserveCount = 7; // x,y,z,rot_x,rot_y,rot_z,fov
|
||||
const QString kMasterCameraName = "MasterCamera";
|
||||
const QString kPrimaryCameraName = "PrimaryCamera";
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -169,10 +169,10 @@ CExportManager::CExportManager()
|
||||
, m_numberOfExportFrames(0)
|
||||
, m_pivotEntityObject(0)
|
||||
, m_bBakedKeysSequenceExport(true)
|
||||
, m_animTimeExportMasterSequenceCurrentTime(0.0f)
|
||||
, m_animTimeExportPrimarySequenceCurrentTime(0.0f)
|
||||
, m_animKeyTimeExport(true)
|
||||
, m_soundKeyTimeExport(true)
|
||||
, m_bExportOnlyMasterCamera(false)
|
||||
, m_bExportOnlyPrimaryCamera(false)
|
||||
{
|
||||
RegisterExporter(new COBJExporter());
|
||||
RegisterExporter(new COCMExporter());
|
||||
@@ -773,14 +773,14 @@ bool CExportManager::ShowFBXExportDialog()
|
||||
return false;
|
||||
}
|
||||
|
||||
SetFBXExportSettings(fpsDialog.GetExportCoordsLocalToTheSelectedObject(), fpsDialog.GetExportOnlyMasterCamera(), fpsDialog.GetFPS());
|
||||
SetFBXExportSettings(fpsDialog.GetExportCoordsLocalToTheSelectedObject(), fpsDialog.GetExportOnlyPrimaryCamera(), fpsDialog.GetFPS());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CExportManager::ProcessObjectsForExport()
|
||||
{
|
||||
Export::CObject* pObj = new Export::CObject(kMasterCameraName.toUtf8().data());
|
||||
Export::CObject* pObj = new Export::CObject(kPrimaryCameraName.toUtf8().data());
|
||||
pObj->entityType = Export::eCamera;
|
||||
m_data.m_objects.push_back(pObj);
|
||||
|
||||
@@ -808,13 +808,13 @@ bool CExportManager::ProcessObjectsForExport()
|
||||
Export::CObject* pObj2 = m_data.m_objects[objectID];
|
||||
CBaseObject* pObject = 0;
|
||||
|
||||
if (QString::compare(pObj2->name, kMasterCameraName) == 0)
|
||||
if (QString::compare(pObj2->name, kPrimaryCameraName) == 0)
|
||||
{
|
||||
pObject = GetIEditor()->GetObjectManager()->FindObject(GetIEditor()->GetViewManager()->GetCameraObjectId());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_bExportOnlyMasterCamera && pObj2->entityType != Export::eCameraTarget)
|
||||
if (m_bExportOnlyPrimaryCamera && pObj2->entityType != Export::eCameraTarget)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -952,7 +952,7 @@ void CExportManager::FillAnimTimeNode(XmlNodeRef writeNode, CTrackViewAnimNode*
|
||||
if (numAllTracks > 0)
|
||||
{
|
||||
XmlNodeRef objNode = writeNode->createNode(CleanXMLText(pObjectNode->GetName()).toUtf8().data());
|
||||
writeNode->setAttr("time", m_animTimeExportMasterSequenceCurrentTime);
|
||||
writeNode->setAttr("time", m_animTimeExportPrimarySequenceCurrentTime);
|
||||
|
||||
for (unsigned int trackID = 0; trackID < numAllTracks; ++trackID)
|
||||
{
|
||||
@@ -1020,7 +1020,7 @@ void CExportManager::FillAnimTimeNode(XmlNodeRef writeNode, CTrackViewAnimNode*
|
||||
|
||||
XmlNodeRef keyNode = subNode->createNode(keyContentName.toUtf8().data());
|
||||
|
||||
float keyGlobalTime = m_animTimeExportMasterSequenceCurrentTime + keyTime;
|
||||
float keyGlobalTime = m_animTimeExportPrimarySequenceCurrentTime + keyTime;
|
||||
keyNode->setAttr("keyTime", keyGlobalTime);
|
||||
|
||||
if (keyStartTime > 0)
|
||||
@@ -1123,13 +1123,13 @@ bool CExportManager::AddObjectsFromSequence(CTrackViewSequence* pSequence, XmlNo
|
||||
const QString sequenceName = pSubSequence->GetName();
|
||||
XmlNodeRef subSeqNode2 = seqNode->createNode(sequenceName.toUtf8().data());
|
||||
|
||||
if (sequenceName == m_animTimeExportMasterSequenceName)
|
||||
if (sequenceName == m_animTimeExportPrimarySequenceName)
|
||||
{
|
||||
m_animTimeExportMasterSequenceCurrentTime = sequenceKey.time;
|
||||
m_animTimeExportPrimarySequenceCurrentTime = sequenceKey.time;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_animTimeExportMasterSequenceCurrentTime += sequenceKey.time;
|
||||
m_animTimeExportPrimarySequenceCurrentTime += sequenceKey.time;
|
||||
}
|
||||
|
||||
AddObjectsFromSequence(pSubSequence, subSeqNode2);
|
||||
@@ -1336,7 +1336,7 @@ bool CExportManager::Export(const char* defaultName, const char* defaultExt, con
|
||||
{
|
||||
m_numberOfExportFrames = pSequence->GetTimeRange().end * m_FBXBakedExportFPS;
|
||||
|
||||
if (!m_bExportOnlyMasterCamera)
|
||||
if (!m_bExportOnlyPrimaryCamera)
|
||||
{
|
||||
AddObjectsFromSequence(pSequence);
|
||||
}
|
||||
@@ -1365,10 +1365,10 @@ bool CExportManager::Export(const char* defaultName, const char* defaultExt, con
|
||||
return returnRes;
|
||||
}
|
||||
|
||||
void CExportManager::SetFBXExportSettings(bool bLocalCoordsToSelectedObject, bool bExportOnlyMasterCamera, const float fps)
|
||||
void CExportManager::SetFBXExportSettings(bool bLocalCoordsToSelectedObject, bool bExportOnlyPrimaryCamera, const float fps)
|
||||
{
|
||||
m_bExportLocalCoords = bLocalCoordsToSelectedObject;
|
||||
m_bExportOnlyMasterCamera = bExportOnlyMasterCamera;
|
||||
m_bExportOnlyPrimaryCamera = bExportOnlyPrimaryCamera;
|
||||
m_FBXBakedExportFPS = fps;
|
||||
}
|
||||
|
||||
@@ -1439,10 +1439,10 @@ void CExportManager::SaveNodeKeysTimeToXML()
|
||||
if (dlg.exec())
|
||||
{
|
||||
m_animTimeNode = XmlHelpers::CreateXmlNode(pSequence->GetName());
|
||||
m_animTimeExportMasterSequenceName = pSequence->GetName();
|
||||
m_animTimeExportPrimarySequenceName = pSequence->GetName();
|
||||
|
||||
m_data.Clear();
|
||||
m_animTimeExportMasterSequenceCurrentTime = 0.0;
|
||||
m_animTimeExportPrimarySequenceCurrentTime = 0.0;
|
||||
|
||||
AddObjectsFromSequence(pSequence, m_animTimeNode);
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ private:
|
||||
|
||||
bool AddObjectsFromSequence(CTrackViewSequence* pSequence, XmlNodeRef seqNode = 0);
|
||||
bool IsDuplicateObjectBeingAdded(const QString& newObject);
|
||||
void SetFBXExportSettings(bool bLocalCoordsToSelectedObject, bool bExportOnlyMasterCamera, const float fps);
|
||||
void SetFBXExportSettings(bool bLocalCoordsToSelectedObject, bool bExportOnlyPrimaryCamera, const float fps);
|
||||
bool ProcessObjectsForExport();
|
||||
|
||||
bool ShowFBXExportDialog();
|
||||
@@ -193,13 +193,13 @@ private:
|
||||
|
||||
float m_FBXBakedExportFPS;
|
||||
bool m_bExportLocalCoords;
|
||||
bool m_bExportOnlyMasterCamera;
|
||||
bool m_bExportOnlyPrimaryCamera;
|
||||
int m_numberOfExportFrames;
|
||||
CEntityObject* m_pivotEntityObject;
|
||||
bool m_bBakedKeysSequenceExport;
|
||||
|
||||
QString m_animTimeExportMasterSequenceName;
|
||||
float m_animTimeExportMasterSequenceCurrentTime;
|
||||
QString m_animTimeExportPrimarySequenceName;
|
||||
float m_animTimeExportPrimarySequenceCurrentTime;
|
||||
XmlNodeRef m_animTimeNode;
|
||||
|
||||
bool m_animKeyTimeExport;
|
||||
|
||||
@@ -55,9 +55,9 @@ bool CFBXExporterDialog::GetExportCoordsLocalToTheSelectedObject() const
|
||||
return m_ui->m_exportLocalCoordsCheckbox->isChecked();
|
||||
}
|
||||
|
||||
bool CFBXExporterDialog::GetExportOnlyMasterCamera() const
|
||||
bool CFBXExporterDialog::GetExportOnlyPrimaryCamera() const
|
||||
{
|
||||
return m_ui->m_exportOnlyMasterCameraCheckBox->isChecked();
|
||||
return m_ui->m_exportOnlyPrimaryCameraCheckBox->isChecked();
|
||||
}
|
||||
|
||||
void CFBXExporterDialog::SetExportLocalCoordsCheckBoxEnable(bool checked)
|
||||
@@ -100,7 +100,7 @@ int CFBXExporterDialog::exec()
|
||||
if (m_bDisplayOnlyFPSSetting)
|
||||
{
|
||||
m_ui->m_exportLocalCoordsCheckbox->setEnabled(false);
|
||||
m_ui->m_exportOnlyMasterCameraCheckBox->setEnabled(false);
|
||||
m_ui->m_exportOnlyPrimaryCameraCheckBox->setEnabled(false);
|
||||
}
|
||||
|
||||
m_ui->m_fpsCombo->addItem("24");
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
|
||||
float GetFPS() const;
|
||||
bool GetExportCoordsLocalToTheSelectedObject() const;
|
||||
bool GetExportOnlyMasterCamera() const;
|
||||
bool GetExportOnlyPrimaryCamera() const;
|
||||
void SetExportLocalCoordsCheckBoxEnable(bool checked);
|
||||
|
||||
int exec() override;
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
protected:
|
||||
void OnFPSChange();
|
||||
void SetExportLocalToTheSelectedObjectCheckBox();
|
||||
void SetExportOnlyMasterCameraCheckBox();
|
||||
void SetExportOnlyPrimaryCameraCheckBox();
|
||||
|
||||
void accept() override;
|
||||
|
||||
|
||||
@@ -49,9 +49,9 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_exportOnlyMasterCameraCheckBox">
|
||||
<widget class="QCheckBox" name="m_exportOnlyPrimaryCameraCheckBox">
|
||||
<property name="text">
|
||||
<string>Export Only Master Camera</string>
|
||||
<string>Export Only Primary Camera</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -318,17 +318,6 @@ enum EOperationMode
|
||||
eModellingMode // Geometry modeling mode
|
||||
};
|
||||
|
||||
enum EEditMode
|
||||
{
|
||||
eEditModeSelect,
|
||||
eEditModeSelectArea,
|
||||
eEditModeMove,
|
||||
eEditModeRotate,
|
||||
eEditModeScale,
|
||||
eEditModeTool,
|
||||
eEditModeRotateCircle,
|
||||
};
|
||||
|
||||
//! Mouse events that viewport can send
|
||||
enum EMouseEvent
|
||||
{
|
||||
@@ -619,9 +608,6 @@ struct IEditor
|
||||
|
||||
virtual void SetOperationMode(EOperationMode mode) = 0;
|
||||
virtual EOperationMode GetOperationMode() = 0;
|
||||
//! editMode - EEditMode
|
||||
virtual void SetEditMode(int editMode) = 0;
|
||||
virtual int GetEditMode() = 0;
|
||||
//! Shows/Hides transformation manipulator.
|
||||
//! if bShow is true also returns a valid ITransformManipulator pointer.
|
||||
virtual ITransformManipulator* ShowTransformManipulator(bool bShow) = 0;
|
||||
|
||||
@@ -144,8 +144,7 @@ namespace
|
||||
const char* CEditorImpl::m_crashLogFileName = "SessionStatus/editor_statuses.json";
|
||||
|
||||
CEditorImpl::CEditorImpl()
|
||||
: m_currEditMode(eEditModeSelect)
|
||||
, m_operationMode(eOperationModeNone)
|
||||
: m_operationMode(eOperationModeNone)
|
||||
, m_pSystem(nullptr)
|
||||
, m_pFileUtil(nullptr)
|
||||
, m_pClassFactory(nullptr)
|
||||
@@ -236,18 +235,6 @@ CEditorImpl::CEditorImpl()
|
||||
m_pRuler = new CRuler;
|
||||
m_selectedRegion.min = Vec3(0, 0, 0);
|
||||
m_selectedRegion.max = Vec3(0, 0, 0);
|
||||
ZeroStruct(m_lastAxis);
|
||||
m_lastAxis[eEditModeSelect] = AXIS_TERRAIN;
|
||||
m_lastAxis[eEditModeSelectArea] = AXIS_TERRAIN;
|
||||
m_lastAxis[eEditModeMove] = AXIS_TERRAIN;
|
||||
m_lastAxis[eEditModeRotate] = AXIS_Z;
|
||||
m_lastAxis[eEditModeScale] = AXIS_XY;
|
||||
ZeroStruct(m_lastCoordSys);
|
||||
m_lastCoordSys[eEditModeSelect] = COORDS_LOCAL;
|
||||
m_lastCoordSys[eEditModeSelectArea] = COORDS_LOCAL;
|
||||
m_lastCoordSys[eEditModeMove] = COORDS_WORLD;
|
||||
m_lastCoordSys[eEditModeRotate] = COORDS_WORLD;
|
||||
m_lastCoordSys[eEditModeScale] = COORDS_WORLD;
|
||||
DetectVersion();
|
||||
RegisterTools();
|
||||
|
||||
@@ -257,8 +244,6 @@ CEditorImpl::CEditorImpl()
|
||||
m_pAssetBrowserRequestHandler = nullptr;
|
||||
m_assetEditorRequestsHandler = nullptr;
|
||||
|
||||
AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect();
|
||||
|
||||
AZ::IO::SystemFile::CreateDir("SessionStatus");
|
||||
QFile::setPermissions(m_crashLogFileName, QFileDevice::ReadOther | QFileDevice::WriteOther);
|
||||
}
|
||||
@@ -282,8 +267,6 @@ void CEditorImpl::Initialize()
|
||||
|
||||
// Activate QT immediately so that its available as soon as CEditorImpl is (and thus GetIEditor())
|
||||
InitializeEditorCommon(GetIEditor());
|
||||
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
//The only purpose of that function is to be called at the very begining of the shutdown sequence so that we can instrument and track
|
||||
@@ -298,8 +281,6 @@ void CEditorImpl::OnEarlyExitShutdownSequence()
|
||||
|
||||
void CEditorImpl::Uninitialize()
|
||||
{
|
||||
SaveSettings();
|
||||
|
||||
if (m_pSystem)
|
||||
{
|
||||
UninitializeEditorCommonISystem(m_pSystem);
|
||||
@@ -360,8 +341,6 @@ void CEditorImpl::LoadPlugins()
|
||||
|
||||
CEditorImpl::~CEditorImpl()
|
||||
{
|
||||
AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
gSettings.Save();
|
||||
m_bExiting = true; // Can't save level after this point (while Crash)
|
||||
SAFE_RELEASE(m_pSourceControl);
|
||||
@@ -650,40 +629,6 @@ IMainStatusBar* CEditorImpl::GetMainStatusBar()
|
||||
return MainWindow::instance()->StatusBar();
|
||||
}
|
||||
|
||||
int CEditorImpl::GetEditMode()
|
||||
{
|
||||
return m_currEditMode;
|
||||
}
|
||||
|
||||
void CEditorImpl::SetEditMode(int editMode)
|
||||
{
|
||||
bool isEditorInGameMode = false;
|
||||
EBUS_EVENT_RESULT(isEditorInGameMode, AzToolsFramework::EditorEntityContextRequestBus, IsEditorRunningGame);
|
||||
|
||||
if (isEditorInGameMode)
|
||||
{
|
||||
if (editMode != eEditModeSelect)
|
||||
{
|
||||
if (SelectionContainsComponentEntities())
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EEditMode newEditMode = (EEditMode)editMode;
|
||||
if (m_currEditMode == newEditMode)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_currEditMode = newEditMode;
|
||||
AABB box(Vec3(0, 0, 0), Vec3(0, 0, 0));
|
||||
SetSelectedRegion(box);
|
||||
|
||||
Notify(eNotify_OnEditModeChange);
|
||||
}
|
||||
|
||||
void CEditorImpl::SetOperationMode(EOperationMode mode)
|
||||
{
|
||||
m_operationMode = mode;
|
||||
@@ -728,7 +673,6 @@ ITransformManipulator* CEditorImpl::GetTransformManipulator()
|
||||
void CEditorImpl::SetAxisConstraints(AxisConstrains axisFlags)
|
||||
{
|
||||
m_selectedAxis = axisFlags;
|
||||
m_lastAxis[m_currEditMode] = m_selectedAxis;
|
||||
m_pViewManager->SetAxisConstrain(axisFlags);
|
||||
SetTerrainAxisIgnoreObjects(false);
|
||||
|
||||
@@ -754,7 +698,6 @@ bool CEditorImpl::IsTerrainAxisIgnoreObjects()
|
||||
void CEditorImpl::SetReferenceCoordSys(RefCoordSys refCoords)
|
||||
{
|
||||
m_refCoordsSys = refCoords;
|
||||
m_lastCoordSys[m_currEditMode] = m_refCoordsSys;
|
||||
|
||||
// Update all views.
|
||||
UpdateViews(eUpdateObjects, NULL);
|
||||
@@ -1884,60 +1827,6 @@ bool CEditorImpl::IsNewViewportInteractionModelEnabled() const
|
||||
return m_isNewViewportInteractionModelEnabled;
|
||||
}
|
||||
|
||||
void CEditorImpl::OnStartPlayInEditor()
|
||||
{
|
||||
if (SelectionContainsComponentEntities())
|
||||
{
|
||||
SetEditMode(eEditModeSelect);
|
||||
}
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
const std::vector<std::pair<EEditMode, QString>> s_editModeNames = {
|
||||
{ eEditModeSelect, QStringLiteral("Select") },
|
||||
{ eEditModeSelectArea, QStringLiteral("SelectArea") },
|
||||
{ eEditModeMove, QStringLiteral("Move") },
|
||||
{ eEditModeRotate, QStringLiteral("Rotate") },
|
||||
{ eEditModeScale, QStringLiteral("Scale") }
|
||||
};
|
||||
}
|
||||
|
||||
void CEditorImpl::LoadSettings()
|
||||
{
|
||||
QSettings settings(QStringLiteral("Amazon"), QStringLiteral("O3DE"));
|
||||
|
||||
settings.beginGroup(QStringLiteral("Editor"));
|
||||
settings.beginGroup(QStringLiteral("CoordSys"));
|
||||
|
||||
for (const auto& editMode : s_editModeNames)
|
||||
{
|
||||
if (settings.contains(editMode.second))
|
||||
{
|
||||
m_lastCoordSys[editMode.first] = static_cast<RefCoordSys>(settings.value(editMode.second).toInt());
|
||||
}
|
||||
}
|
||||
|
||||
settings.endGroup(); // CoordSys
|
||||
settings.endGroup(); // Editor
|
||||
}
|
||||
|
||||
void CEditorImpl::SaveSettings() const
|
||||
{
|
||||
QSettings settings(QStringLiteral("Amazon"), QStringLiteral("O3DE"));
|
||||
|
||||
settings.beginGroup(QStringLiteral("Editor"));
|
||||
settings.beginGroup(QStringLiteral("CoordSys"));
|
||||
|
||||
for (const auto& editMode : s_editModeNames)
|
||||
{
|
||||
settings.setValue(editMode.second, static_cast<int>(m_lastCoordSys[editMode.first]));
|
||||
}
|
||||
|
||||
settings.endGroup(); // CoordSys
|
||||
settings.endGroup(); // Editor
|
||||
}
|
||||
|
||||
IEditorPanelUtils* CEditorImpl::GetEditorPanelUtils()
|
||||
{
|
||||
return m_panelEditorUtils;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include <memory> // for shared_ptr
|
||||
#include <QMap>
|
||||
#include <QApplication>
|
||||
#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
|
||||
#include <AzToolsFramework/Thumbnails/ThumbnailerBus.h>
|
||||
#include <AzCore/std/string/string.h>
|
||||
|
||||
@@ -86,13 +85,12 @@ namespace AssetDatabase
|
||||
|
||||
class CEditorImpl
|
||||
: public IEditor
|
||||
, protected AzToolsFramework::EditorEntityContextNotificationBus::Handler
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(CEditorImpl)
|
||||
|
||||
public:
|
||||
CEditorImpl();
|
||||
~CEditorImpl();
|
||||
virtual ~CEditorImpl();
|
||||
|
||||
void Initialize();
|
||||
void OnBeginShutdownSequence();
|
||||
@@ -226,8 +224,6 @@ public:
|
||||
void SetDataModified();
|
||||
void SetOperationMode(EOperationMode mode);
|
||||
EOperationMode GetOperationMode();
|
||||
void SetEditMode(int editMode);
|
||||
int GetEditMode();
|
||||
|
||||
ITransformManipulator* ShowTransformManipulator(bool bShow);
|
||||
ITransformManipulator* GetTransformManipulator();
|
||||
@@ -348,23 +344,15 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// EditorEntityContextNotificationBus implementation
|
||||
void OnStartPlayInEditor() override;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
AZStd::string LoadProjectIdFromProjectData();
|
||||
|
||||
void DetectVersion();
|
||||
void RegisterTools();
|
||||
void SetPrimaryCDFolder();
|
||||
|
||||
void LoadSettings();
|
||||
void SaveSettings() const;
|
||||
|
||||
//! List of all notify listeners.
|
||||
std::list<IEditorNotifyListener*> m_listeners;
|
||||
|
||||
EEditMode m_currEditMode;
|
||||
EOperationMode m_operationMode;
|
||||
ISystem* m_pSystem;
|
||||
IFileUtil* m_pFileUtil;
|
||||
@@ -378,8 +366,6 @@ protected:
|
||||
AABB m_selectedRegion;
|
||||
AxisConstrains m_selectedAxis;
|
||||
RefCoordSys m_refCoordsSys;
|
||||
AxisConstrains m_lastAxis[16];
|
||||
RefCoordSys m_lastCoordSys[16];
|
||||
bool m_bAxisVectorLock;
|
||||
bool m_bUpdates;
|
||||
bool m_bTerrainAxisIgnoreObjects;
|
||||
|
||||
@@ -25,4 +25,4 @@ struct IEditorMaterial
|
||||
virtual void DisableHighlightForFrame() = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -30,6 +30,8 @@ AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include <ui_InfoBar.h>
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
#include <QLineEdit>
|
||||
|
||||
#include <AzQtComponents/Components/Style.h>
|
||||
|
||||
#include "CryPhysicsDeprecation.h"
|
||||
@@ -52,10 +54,6 @@ CInfoBar::CInfoBar(QWidget* parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_enabledVector = false;
|
||||
m_bVectorLock = false;
|
||||
m_prevEditMode = 0;
|
||||
m_bSelectionLocked = false;
|
||||
m_bSelectionChanged = false;
|
||||
m_bDragMode = false;
|
||||
m_prevMoveSpeed = 0;
|
||||
@@ -70,25 +68,14 @@ CInfoBar::CInfoBar(QWidget* parent)
|
||||
|
||||
OnInitDialog();
|
||||
|
||||
connect(ui->m_vectorLock, &QToolButton::clicked, this, &CInfoBar::OnVectorLock);
|
||||
connect(ui->m_lockSelection, &QToolButton::clicked, this, &CInfoBar::OnLockSelection);
|
||||
|
||||
auto comboBoxTextChanged = static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentTextChanged);
|
||||
connect(ui->m_moveSpeed, comboBoxTextChanged, this, &CInfoBar::OnUpdateMoveSpeedText);
|
||||
connect(ui->m_moveSpeed->lineEdit(), &QLineEdit::returnPressed, this, &CInfoBar::OnSpeedComboBoxEnter);
|
||||
|
||||
connect(ui->m_posCtrl, &AzQtComponents::VectorInput::valueChanged, this, &CInfoBar::OnVectorChanged);
|
||||
|
||||
// Hide some buttons from the expander menu
|
||||
AzQtComponents::Style::addClass(ui->m_posCtrl, "expanderMenu_hide");
|
||||
AzQtComponents::Style::addClass(ui->m_physDoStepBtn, "expanderMenu_hide");
|
||||
AzQtComponents::Style::addClass(ui->m_physSingleStepBtn, "expanderMenu_hide");
|
||||
|
||||
// posCtrl is a VectorInput initialized via UI; as such, we can't construct it to have only 3 elements.
|
||||
// We can just hide the W element as it is unused.
|
||||
ui->m_posCtrl->getElements()[3]->setVisible(false);
|
||||
|
||||
connect(ui->m_setVector, &QToolButton::clicked, this, &CInfoBar::OnBnClickedSetVector);
|
||||
connect(ui->m_physicsBtn, &QToolButton::clicked, this, &CInfoBar::OnBnClickedPhysics);
|
||||
connect(ui->m_physSingleStepBtn, &QToolButton::clicked, this, &CInfoBar::OnBnClickedSingleStepPhys);
|
||||
connect(ui->m_physDoStepBtn, &QToolButton::clicked, this, &CInfoBar::OnBnClickedDoStepPhys);
|
||||
@@ -99,12 +86,6 @@ CInfoBar::CInfoBar(QWidget* parent)
|
||||
|
||||
connect(this, &CInfoBar::ActionTriggered, MainWindow::instance()->GetActionManager(), &ActionManager::ActionTriggered);
|
||||
|
||||
connect(ui->m_lockSelection, &QAbstractButton::toggled, ui->m_lockSelection, [this](bool checked) {
|
||||
ui->m_lockSelection->setToolTip(checked ? tr("Unlock Object Selection") : tr("Lock Object Selection"));
|
||||
});
|
||||
connect(ui->m_vectorLock, &QAbstractButton::toggled, ui->m_vectorLock, [this](bool checked) {
|
||||
ui->m_vectorLock->setToolTip(checked ? tr("Unlock Axis Vectors") : tr("Lock Axis Vectors"));
|
||||
});
|
||||
connect(ui->m_physicsBtn, &QAbstractButton::toggled, ui->m_physicsBtn, [this](bool checked) {
|
||||
ui->m_physicsBtn->setToolTip(checked ? tr("Stop Simulation (Ctrl+P)") : tr("Simulate (Ctrl+P)"));
|
||||
});
|
||||
@@ -121,27 +102,6 @@ CInfoBar::CInfoBar(QWidget* parent)
|
||||
ui->m_vrBtn->setToolTip(checked ? tr("Disable VR Preview") : tr("Enable VR Preview"));
|
||||
});
|
||||
|
||||
// hide old ui elements that are not valid with the new viewport interaction model
|
||||
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
ui->m_lockSelection->setVisible(false);
|
||||
AzQtComponents::Style::addClass(ui->m_lockSelection, "expanderMenu_hide");
|
||||
ui->m_posCtrl->setVisible(false);
|
||||
AzQtComponents::Style::addClass(ui->m_posCtrl, "expanderMenu_hide");
|
||||
ui->m_setVector->setVisible(false);
|
||||
AzQtComponents::Style::addClass(ui->m_setVector, "expanderMenu_hide");
|
||||
ui->m_vectorLock->setVisible(false);
|
||||
AzQtComponents::Style::addClass(ui->m_vectorLock, "expanderMenu_hide");
|
||||
|
||||
// As we're hiding some of the icons, we have an extra spacer to deal with.
|
||||
// We cannot set the visibility of separators, so we'll have to take it out.
|
||||
int separatorIndex = layout()->indexOf(ui->verticalSpacer_2);
|
||||
QLayoutItem* separator = layout()->takeAt(separatorIndex);
|
||||
|
||||
// takeAt() removes the item from the layout; delete to avoid memory leaks.
|
||||
delete separator;
|
||||
}
|
||||
|
||||
ui->m_moveSpeed->setValidator(new QDoubleValidator(m_minSpeed, m_maxSpeed, m_numDecimals, ui->m_moveSpeed));
|
||||
|
||||
// Save off the move speed here since setting up the combo box can cause it to update values in the background.
|
||||
@@ -207,150 +167,6 @@ void CInfoBar::OnEditorNotifyEvent(EEditorNotifyEvent event)
|
||||
{
|
||||
m_bSelectionChanged = true;
|
||||
}
|
||||
else if (event == eNotify_OnEditModeChange)
|
||||
{
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
switch (emode)
|
||||
{
|
||||
case eEditModeMove:
|
||||
ui->m_setVector->setToolTip(tr("Set Position of Selected Objects"));
|
||||
break;
|
||||
case eEditModeRotate:
|
||||
ui->m_setVector->setToolTip(tr("Set Rotation of Selected Objects"));
|
||||
break;
|
||||
case eEditModeScale:
|
||||
ui->m_setVector->setToolTip(tr("Set Scale of Selected Objects"));
|
||||
break;
|
||||
default:
|
||||
ui->m_setVector->setToolTip(tr("Set Position/Rotation/Scale of Selected Objects (None Selected)"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void CInfoBar::OnVectorChanged()
|
||||
{
|
||||
SetVector(GetVector());
|
||||
OnVectorUpdate(false);
|
||||
}
|
||||
|
||||
void CInfoBar::OnVectorUpdate(bool followTerrain)
|
||||
{
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
if (emode != eEditModeMove && emode != eEditModeRotate && emode != eEditModeScale)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Vec3 v = GetVector();
|
||||
|
||||
ITransformManipulator* pManipulator = GetIEditor()->GetTransformManipulator();
|
||||
if (pManipulator)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CSelectionGroup* selection = GetIEditor()->GetObjectManager()->GetSelection();
|
||||
if (selection->IsEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GetIEditor()->RestoreUndo();
|
||||
|
||||
int referenceCoordSys = GetIEditor()->GetReferenceCoordSys();
|
||||
|
||||
CBaseObject* obj = GetIEditor()->GetSelectedObject();
|
||||
|
||||
Matrix34 tm;
|
||||
AffineParts ap;
|
||||
if (obj)
|
||||
{
|
||||
tm = obj->GetWorldTM();
|
||||
ap.SpectralDecompose(tm);
|
||||
}
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm.SetTranslation(v);
|
||||
obj->SetWorldTM(tm);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetPos(v);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->GetSelection()->MoveTo(v, followTerrain ? CSelectionGroup::eMS_FollowTerrain : CSelectionGroup::eMS_None, referenceCoordSys);
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeRotate)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
AZ::Vector3 av = LYVec3ToAZVec3(v);
|
||||
AZ::Transform tr = AZ::ConvertEulerDegreesToTransform(av);
|
||||
Matrix34 lyTransform = AZTransformToLYTransform(tr);
|
||||
|
||||
AffineParts newap;
|
||||
newap.SpectralDecompose(lyTransform);
|
||||
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm = Matrix34::Create(ap.scale, newap.rot, ap.pos);
|
||||
obj->SetWorldTM(tm);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetRotation(newap.rot);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CBaseObject *refObj;
|
||||
CSelectionGroup* pGroup = GetIEditor()->GetSelection();
|
||||
if (pGroup && pGroup->GetCount() > 0)
|
||||
{
|
||||
refObj = pGroup->GetObject(0);
|
||||
AffineParts ap2;
|
||||
ap2.SpectralDecompose(refObj->GetWorldTM());
|
||||
Vec3 oldEulerRotation = AZVec3ToLYVec3(AZ::ConvertQuaternionToEulerDegrees(LYQuaternionToAZQuaternion(ap2.rot)));
|
||||
Vec3 diff = v - oldEulerRotation;
|
||||
GetIEditor()->GetSelection()->Rotate((Ang3)diff, referenceCoordSys);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeScale)
|
||||
{
|
||||
if (v.x == 0 || v.y == 0 || v.z == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj)
|
||||
{
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm = Matrix34::Create(v, ap.rot, ap.pos);
|
||||
obj->SetWorldTM(tm);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetScale(v);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->GetSelection()->SetScale(v, referenceCoordSys);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CInfoBar::IdleUpdate()
|
||||
@@ -375,21 +191,6 @@ void CInfoBar::IdleUpdate()
|
||||
|
||||
Vec3 marker = GetIEditor()->GetMarkerPosition();
|
||||
|
||||
/*
|
||||
// Get active viewport.
|
||||
int hx = marker.x / 2;
|
||||
int hy = marker.y / 2;
|
||||
if (m_heightMapX != hx || m_heightMapY != hy)
|
||||
{
|
||||
m_heightMapX = hx;
|
||||
m_heightMapY = hy;
|
||||
updateUI = true;
|
||||
}
|
||||
*/
|
||||
|
||||
RefCoordSys coordSys = GetIEditor()->GetReferenceCoordSys();
|
||||
bool bWorldSpace = GetIEditor()->GetReferenceCoordSys() == COORDS_WORLD;
|
||||
|
||||
CSelectionGroup* selection = GetIEditor()->GetSelection();
|
||||
if (selection->GetCount() != m_numSelected)
|
||||
{
|
||||
@@ -447,198 +248,11 @@ void CInfoBar::IdleUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
bool bSelLocked = GetIEditor()->IsSelectionLocked();
|
||||
if (bSelLocked != m_bSelectionLocked)
|
||||
{
|
||||
m_bSelectionLocked = bSelLocked;
|
||||
ui->m_lockSelection->setChecked(m_bSelectionLocked);
|
||||
}
|
||||
|
||||
|
||||
if (GetIEditor()->GetSelection()->IsEmpty())
|
||||
{
|
||||
if (ui->m_lockSelection->isEnabled())
|
||||
{
|
||||
ui->m_lockSelection->setEnabled(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ui->m_lockSelection->isEnabled())
|
||||
{
|
||||
ui->m_lockSelection->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Update vector.
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
Vec3 v(0, 0, 0);
|
||||
bool enable = false;
|
||||
float min = 0, max = 10000;
|
||||
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
ITransformManipulator* pManipulator = GetIEditor()->GetTransformManipulator();
|
||||
|
||||
if (pManipulator)
|
||||
{
|
||||
AffineParts ap;
|
||||
ap.SpectralDecompose(pManipulator->GetTransformation(coordSys));
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
v = ap.pos;
|
||||
enable = true;
|
||||
|
||||
min = -64000;
|
||||
max = 64000;
|
||||
}
|
||||
if (emode == eEditModeRotate)
|
||||
{
|
||||
v = Vec3(RAD2DEG(Ang3::GetAnglesXYZ(Matrix33(ap.rot))));
|
||||
enable = true;
|
||||
min = -10000;
|
||||
max = 10000;
|
||||
}
|
||||
if (emode == eEditModeScale)
|
||||
{
|
||||
v = ap.scale;
|
||||
enable = true;
|
||||
min = -10000;
|
||||
max = 10000;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (selection->IsEmpty())
|
||||
{
|
||||
// Show marker position.
|
||||
EnableVector(false);
|
||||
SetVector(marker);
|
||||
SetVectorRange(-100000, 100000);
|
||||
return;
|
||||
}
|
||||
|
||||
CBaseObject* obj = GetIEditor()->GetSelectedObject();
|
||||
if (!obj)
|
||||
{
|
||||
CSelectionGroup* pGroup = GetIEditor()->GetSelection();
|
||||
if (pGroup && pGroup->GetCount() > 0)
|
||||
{
|
||||
obj = pGroup->GetObject(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (obj)
|
||||
{
|
||||
v = obj->GetWorldPos();
|
||||
}
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
if (bWorldSpace)
|
||||
{
|
||||
v = obj->GetWorldTM().GetTranslation();
|
||||
}
|
||||
else
|
||||
{
|
||||
v = obj->GetPos();
|
||||
}
|
||||
}
|
||||
enable = true;
|
||||
min = -64000;
|
||||
max = 64000;
|
||||
}
|
||||
if (emode == eEditModeRotate)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
Quat objRot;
|
||||
if (bWorldSpace)
|
||||
{
|
||||
AffineParts ap;
|
||||
ap.SpectralDecompose(obj->GetWorldTM());
|
||||
objRot = ap.rot;
|
||||
}
|
||||
else
|
||||
{
|
||||
objRot = obj->GetRotation();
|
||||
}
|
||||
|
||||
// Always convert objRot to v in order to ensure that the inspector and info bar are always in sync
|
||||
v = AZVec3ToLYVec3(AZ::ConvertQuaternionToEulerDegrees(LYQuaternionToAZQuaternion(objRot)));
|
||||
}
|
||||
enable = true;
|
||||
min = -10000;
|
||||
max = 10000;
|
||||
}
|
||||
if (emode == eEditModeScale)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
if (bWorldSpace)
|
||||
{
|
||||
AffineParts ap;
|
||||
ap.SpectralDecompose(obj->GetWorldTM());
|
||||
v = ap.scale;
|
||||
}
|
||||
else
|
||||
{
|
||||
v = obj->GetScale();
|
||||
}
|
||||
}
|
||||
enable = true;
|
||||
min = -10000;
|
||||
max = 10000;
|
||||
}
|
||||
}
|
||||
|
||||
bool updateDisplayVector = (m_currValue != v);
|
||||
|
||||
// If Edit mode changed.
|
||||
if (m_prevEditMode != emode)
|
||||
{
|
||||
// Scale mode enables vector lock.
|
||||
SetVectorLock(emode == eEditModeScale);
|
||||
|
||||
// Change undo strings.
|
||||
QString undoString("Modify Object(s)");
|
||||
int mode = GetIEditor()->GetEditMode();
|
||||
switch (mode)
|
||||
{
|
||||
case eEditModeMove:
|
||||
undoString = QStringLiteral("Move Object(s)");
|
||||
break;
|
||||
case eEditModeRotate:
|
||||
undoString = QStringLiteral("Rotate Object(s)");
|
||||
break;
|
||||
case eEditModeScale:
|
||||
undoString = QStringLiteral("Scale Object(s)");
|
||||
break;
|
||||
}
|
||||
|
||||
// edit mode changed, we must update the number values
|
||||
updateDisplayVector = true;
|
||||
}
|
||||
|
||||
SetVectorRange(min, max);
|
||||
EnableVector(enable);
|
||||
|
||||
// if our selection changed, or if our display values are out of date
|
||||
if (m_bSelectionChanged)
|
||||
{
|
||||
updateDisplayVector = true;
|
||||
m_bSelectionChanged = false;
|
||||
}
|
||||
|
||||
if (updateDisplayVector)
|
||||
{
|
||||
SetVector(v);
|
||||
}
|
||||
|
||||
m_prevEditMode = emode;
|
||||
}
|
||||
|
||||
inline double Round(double fVal, double fStep)
|
||||
@@ -650,71 +264,6 @@ inline double Round(double fVal, double fStep)
|
||||
return fVal;
|
||||
}
|
||||
|
||||
void CInfoBar::SetVector(const Vec3& v)
|
||||
{
|
||||
if (!m_bDragMode)
|
||||
{
|
||||
m_lastValue = m_currValue;
|
||||
}
|
||||
|
||||
if (m_currValue != v)
|
||||
{
|
||||
ui->m_posCtrl->setValuebyIndex(v.x, 0);
|
||||
ui->m_posCtrl->setValuebyIndex(v.y, 1);
|
||||
ui->m_posCtrl->setValuebyIndex(v.z, 2);
|
||||
m_currValue = v;
|
||||
}
|
||||
}
|
||||
|
||||
Vec3 CInfoBar::GetVector()
|
||||
{
|
||||
Vec3 v;
|
||||
v.x = ui->m_posCtrl->getElements()[0]->getValue();
|
||||
v.y = ui->m_posCtrl->getElements()[1]->getValue();
|
||||
v.z = ui->m_posCtrl->getElements()[2]->getValue();
|
||||
m_currValue = v;
|
||||
return v;
|
||||
}
|
||||
|
||||
void CInfoBar::EnableVector(bool enable)
|
||||
{
|
||||
if (m_enabledVector != enable)
|
||||
{
|
||||
m_enabledVector = enable;
|
||||
ui->m_posCtrl->setEnabled(enable);
|
||||
ui->m_vectorLock->setEnabled(enable);
|
||||
ui->m_setVector->setEnabled(enable);
|
||||
}
|
||||
}
|
||||
|
||||
void CInfoBar::SetVectorLock(bool bVectorLock)
|
||||
{
|
||||
m_bVectorLock = bVectorLock;
|
||||
ui->m_vectorLock->setChecked(bVectorLock);
|
||||
GetIEditor()->SetAxisVectorLock(bVectorLock);
|
||||
}
|
||||
|
||||
void CInfoBar::SetVectorRange(float min, float max)
|
||||
{
|
||||
// Worth noting that this gets called every IdleUpdate, so it is necessary to make sure
|
||||
// setting the min/max doesn't result in the Qt event queue being pumped
|
||||
ui->m_posCtrl->setMinimum(min);
|
||||
ui->m_posCtrl->setMaximum(max);
|
||||
}
|
||||
|
||||
void CInfoBar::OnVectorLock()
|
||||
{
|
||||
SetVectorLock(!m_bVectorLock);
|
||||
}
|
||||
|
||||
void CInfoBar::OnLockSelection()
|
||||
{
|
||||
bool newLockSelectionValue = !m_bSelectionLocked;
|
||||
m_bSelectionLocked = newLockSelectionValue;
|
||||
ui->m_lockSelection->setChecked(newLockSelectionValue);
|
||||
GetIEditor()->LockSelection(newLockSelectionValue);
|
||||
}
|
||||
|
||||
void CInfoBar::OnUpdateMoveSpeedText(const QString& text)
|
||||
{
|
||||
gSettings.cameraMoveSpeed = aznumeric_cast<float>(Round(text.toDouble(), m_speedStep));
|
||||
@@ -730,12 +279,6 @@ void CInfoBar::OnInitDialog()
|
||||
QFontMetrics metrics({});
|
||||
int width = metrics.boundingRect("-9999.99").width() * m_fieldWidthMultiplier;
|
||||
|
||||
ui->m_posCtrl->setEnabled(false);
|
||||
ui->m_posCtrl->getElements()[0]->setFixedWidth(width);
|
||||
ui->m_posCtrl->getElements()[1]->setFixedWidth(width);
|
||||
ui->m_posCtrl->getElements()[2]->setFixedWidth(width);
|
||||
ui->m_setVector->setEnabled(false);
|
||||
|
||||
ui->m_moveSpeed->setFixedWidth(width);
|
||||
|
||||
ui->m_physicsBtn->setEnabled(false);
|
||||
@@ -809,12 +352,6 @@ void CInfoBar::OnBnClickedGotoPosition()
|
||||
emit ActionTriggered(ID_DISPLAY_GOTOPOSITION);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CInfoBar::OnBnClickedSetVector()
|
||||
{
|
||||
emit ActionTriggered(ID_DISPLAY_SETVECTOR);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CInfoBar::OnBnClickedMuteAudio()
|
||||
{
|
||||
|
||||
@@ -59,24 +59,9 @@ protected:
|
||||
virtual void OnOK() {};
|
||||
virtual void OnCancel() {};
|
||||
|
||||
void OnVectorUpdate(bool followTerrain);
|
||||
|
||||
// this gets called by stepper or text edit changes
|
||||
void OnVectorChanged();
|
||||
|
||||
void SetVector(const Vec3& v);
|
||||
void SetVectorRange(float min, float max);
|
||||
Vec3 GetVector();
|
||||
void EnableVector(bool enable);
|
||||
|
||||
void SetVectorLock(bool bVectorLock);
|
||||
|
||||
void OnBnClickedSyncplayer();
|
||||
void OnBnClickedGotoPosition();
|
||||
|
||||
void OnVectorLock();
|
||||
void OnLockSelection();
|
||||
void OnBnClickedSetVector();
|
||||
void OnSpeedComboBoxEnter();
|
||||
void OnUpdateMoveSpeedText(const QString&);
|
||||
void OnBnClickedTerrainCollision();
|
||||
@@ -98,13 +83,10 @@ protected:
|
||||
void EnteredComponentMode(const AZStd::vector<AZ::Uuid>& componentModeTypes) override;
|
||||
void LeftComponentMode(const AZStd::vector<AZ::Uuid>& componentModeTypes) override;
|
||||
|
||||
bool m_enabledVector;
|
||||
|
||||
float m_width, m_height;
|
||||
//int m_heightMapX,m_heightMapY;
|
||||
double m_fieldWidthMultiplier = 1.8;
|
||||
|
||||
int m_prevEditMode;
|
||||
int m_numSelected;
|
||||
float m_prevMoveSpeed;
|
||||
|
||||
@@ -117,8 +99,6 @@ protected:
|
||||
// Speed presets
|
||||
float m_speedPresetValues[3] = { 0.1f, 1.0f, 10.0f };
|
||||
|
||||
bool m_bVectorLock;
|
||||
bool m_bSelectionLocked;
|
||||
bool m_bSelectionChanged;
|
||||
|
||||
bool m_bDragMode;
|
||||
|
||||
@@ -57,42 +57,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="AzQtComponents::VectorInput" name="m_posCtrl" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_setVector">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>XYZ</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="InfoBar.qrc">
|
||||
<normaloff>:/InfoBar/XYZ-default.svg</normaloff>:/InfoBar/XYZ-default.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>18</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_gotoPos">
|
||||
<property name="sizePolicy">
|
||||
@@ -135,68 +99,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_lockSelection">
|
||||
<property name="toolTip">
|
||||
<string>Lock Object Selection</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lock Selection</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="InfoBar.qrc">
|
||||
<normaloff>:/InfoBar/LockSelection-default.svg</normaloff>:/InfoBar/LockSelection-default.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>18</width>
|
||||
<height>18</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_vectorLock">
|
||||
<property name="toolTip">
|
||||
<string>Lock Scale Axis Vectors</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lock Scale</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="InfoBar.qrc">
|
||||
<normaloff>:/InfoBar/LockScale-default.svg</normaloff>:/InfoBar/LockScale-default.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>18</width>
|
||||
<height>18</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>1</width>
|
||||
<height>18</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
@@ -424,13 +326,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>AzQtComponents::VectorInput</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">AzQtComponents/Components/Widgets/VectorInput.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="InfoBar.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -23,4 +23,4 @@ CLensFlareReferenceTree::CLensFlareReferenceTree()
|
||||
|
||||
CLensFlareReferenceTree::~CLensFlareReferenceTree()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ class CEditorMock
|
||||
: public IEditor
|
||||
{
|
||||
public:
|
||||
// GMock does not work with a variadic function (https://github.com/google/googlemock/blob/master/googlemock/docs/FrequentlyAskedQuestions.md)
|
||||
// GMock does not work with a variadic function
|
||||
void ExecuteCommand(const char* sCommand, ...) override
|
||||
{
|
||||
va_list args;
|
||||
@@ -123,8 +123,6 @@ public:
|
||||
MOCK_METHOD0(GetRuler, CRuler* ());
|
||||
MOCK_METHOD1(SetOperationMode, void(EOperationMode ));
|
||||
MOCK_METHOD0(GetOperationMode, EOperationMode());
|
||||
MOCK_METHOD1(SetEditMode, void(int ));
|
||||
MOCK_METHOD0(GetEditMode, int());
|
||||
MOCK_METHOD1(ShowTransformManipulator, ITransformManipulator* (bool));
|
||||
MOCK_METHOD0(GetTransformManipulator, ITransformManipulator* ());
|
||||
MOCK_METHOD1(SetAxisConstraints, void(AxisConstrains ));
|
||||
|
||||
@@ -151,9 +151,6 @@ namespace EditorPythonBindingsUnitTests
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("get_axis_constraint") != behaviorContext->m_methods.end());
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("set_axis_constraint") != behaviorContext->m_methods.end());
|
||||
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("get_edit_mode") != behaviorContext->m_methods.end());
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("set_edit_mode") != behaviorContext->m_methods.end());
|
||||
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("get_pak_from_file") != behaviorContext->m_methods.end());
|
||||
|
||||
EXPECT_TRUE(behaviorContext->m_methods.find("log") != behaviorContext->m_methods.end());
|
||||
@@ -200,8 +197,6 @@ namespace EditorPythonBindingsUnitTests
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("OpenFileBox") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("GetAxisConstraint") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("SetAxisConstraint") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("GetEditMode") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("SetEditMode") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("GetPakFromFile") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("Log") != behaviorBus->m_events.end());
|
||||
EXPECT_TRUE(behaviorBus->m_events.find("Undo") != behaviorBus->m_events.end());
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorDefs.h"
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <AzCore/UnitTest/TestTypes.h>
|
||||
|
||||
#include <SetVectorDlg.h>
|
||||
|
||||
using namespace AZ;
|
||||
using namespace ::testing;
|
||||
|
||||
namespace UnitTest
|
||||
{
|
||||
class TestSetVectorDlg
|
||||
: public ::testing::Test
|
||||
{
|
||||
public:
|
||||
|
||||
};
|
||||
|
||||
const float SetVectorDlgNearTolerance = 0.0001f;
|
||||
|
||||
TEST_F(TestSetVectorDlg, GetVectorFromString_ThreeParams_Success)
|
||||
{
|
||||
QString testStr{ "1,2,3" };
|
||||
Vec3 result{ 0, 0, 0 };
|
||||
|
||||
result = CSetVectorDlg::GetVectorFromString(testStr);
|
||||
|
||||
EXPECT_NEAR(result[0], 1.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[1], 2.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[2], 3.0f, SetVectorDlgNearTolerance);
|
||||
}
|
||||
|
||||
TEST_F(TestSetVectorDlg, GetVectorFromString_FourParams_ThreeParsed)
|
||||
{
|
||||
QString testStr{ "1,2,3,4" };
|
||||
Vec3 result{ 0, 0, 0 };
|
||||
|
||||
result = CSetVectorDlg::GetVectorFromString(testStr);
|
||||
|
||||
EXPECT_NEAR(result[0], 1.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[1], 2.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[2], 3.0f, SetVectorDlgNearTolerance);
|
||||
}
|
||||
|
||||
TEST_F(TestSetVectorDlg, GetVectorFromString_TwoParams_ThirdZero)
|
||||
{
|
||||
QString testStr{ "1,2" };
|
||||
Vec3 result{ 0, 0, 0 };
|
||||
|
||||
result = CSetVectorDlg::GetVectorFromString(testStr);
|
||||
|
||||
EXPECT_NEAR(result[0], 1.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[1], 2.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[2], 0.0f, SetVectorDlgNearTolerance);
|
||||
}
|
||||
|
||||
TEST_F(TestSetVectorDlg, GetVectorFromString_NoParams_AllZero)
|
||||
{
|
||||
QString testStr;
|
||||
Vec3 result{ 0, 0, 0 };
|
||||
|
||||
result = CSetVectorDlg::GetVectorFromString(testStr);
|
||||
|
||||
EXPECT_NEAR(result[0], 0.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[1], 0.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[2], 0.0f, SetVectorDlgNearTolerance);
|
||||
}
|
||||
|
||||
TEST_F(TestSetVectorDlg, GetVectorFromString_BadStrings_AllZero)
|
||||
{
|
||||
QString testStr{ "some,illegal,strings" };
|
||||
Vec3 resultExpected{ 0, 1, 0 };
|
||||
|
||||
auto result = CSetVectorDlg::GetVectorFromString(testStr);
|
||||
|
||||
EXPECT_NEAR(result[0], 0.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[1], 0.0f, SetVectorDlgNearTolerance);
|
||||
EXPECT_NEAR(result[2], 0.0f, SetVectorDlgNearTolerance);
|
||||
}
|
||||
} // namespace UnitTest
|
||||
@@ -750,11 +750,6 @@ void MainWindow::InitActions()
|
||||
|
||||
am->AddAction(ID_TOOLBAR_SEPARATOR, QString());
|
||||
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
am->AddAction(ID_TOOLBAR_WIDGET_REF_COORD, QString());
|
||||
}
|
||||
|
||||
am->AddAction(ID_TOOLBAR_WIDGET_UNDO, QString());
|
||||
am->AddAction(ID_TOOLBAR_WIDGET_REDO, QString());
|
||||
am->AddAction(ID_TOOLBAR_WIDGET_SNAP_ANGLE, QString());
|
||||
@@ -995,18 +990,6 @@ void MainWindow::InitActions()
|
||||
am->AddAction(ID_EDIT_RENAMEOBJECT, tr("Rename Object(s)..."))
|
||||
.SetStatusTip(tr("Rename Object"));
|
||||
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
am->AddAction(ID_EDITMODE_SELECT, tr("Select mode"))
|
||||
.SetIcon(Style::icon("Select"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("1"))
|
||||
.SetToolTip(tr("Select mode (1)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Select object(s)"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeSelect);
|
||||
}
|
||||
|
||||
am->AddAction(ID_EDITMODE_MOVE, tr("Move"))
|
||||
.SetIcon(Style::icon("Move"))
|
||||
.SetApplyHoverEffect()
|
||||
@@ -1032,69 +1015,6 @@ void MainWindow::InitActions()
|
||||
.SetStatusTip(tr("Select and scale selected object(s)"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeScale);
|
||||
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
am->AddAction(ID_EDITMODE_SELECTAREA, tr("Select terrain"))
|
||||
.SetIcon(Style::icon("Select_terrain"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("5"))
|
||||
.SetToolTip(tr("Select terrain (5)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Switch to terrain selection mode"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateEditmodeSelectarea);
|
||||
am->AddAction(ID_SELECT_AXIS_X, tr("Constrain to X axis"))
|
||||
.SetIcon(Style::icon("X_axis"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+1"))
|
||||
.SetToolTip(tr("Constrain to X axis (Ctrl+1)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Lock movement on X axis"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisX);
|
||||
am->AddAction(ID_SELECT_AXIS_Y, tr("Constrain to Y axis"))
|
||||
.SetIcon(Style::icon("Y_axis"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+2"))
|
||||
.SetToolTip(tr("Constrain to Y axis (Ctrl+2)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Lock movement on Y axis"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisY);
|
||||
am->AddAction(ID_SELECT_AXIS_Z, tr("Constrain to Z axis"))
|
||||
.SetIcon(Style::icon("Z_axis"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+3"))
|
||||
.SetToolTip(tr("Constrain to Z axis (Ctrl+3)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Lock movement on Z axis"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisZ);
|
||||
am->AddAction(ID_SELECT_AXIS_XY, tr("Constrain to XY plane"))
|
||||
.SetIcon(Style::icon("XY2_copy"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+4"))
|
||||
.SetToolTip(tr("Constrain to XY plane (Ctrl+4)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Lock movement on XY plane"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisXy);
|
||||
am->AddAction(ID_SELECT_AXIS_TERRAIN, tr("Constrain to terrain/geometry"))
|
||||
.SetIcon(Style::icon("Object_follow_terrain"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+5"))
|
||||
.SetToolTip(tr("Constrain to terrain/geometry (Ctrl+5)"))
|
||||
.SetCheckable(true)
|
||||
.SetStatusTip(tr("Lock object movement to follow terrain"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisTerrain);
|
||||
am->AddAction(ID_SELECT_AXIS_SNAPTOALL, tr("Follow terrain and snap to objects"))
|
||||
.SetIcon(Style::icon("Follow_terrain"))
|
||||
.SetApplyHoverEffect()
|
||||
.SetShortcut(tr("Ctrl+6"))
|
||||
.SetToolTip(tr("Follow terrain and snap to objects (Ctrl+6)"))
|
||||
.SetCheckable(true)
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelectAxisSnapToAll);
|
||||
am->AddAction(ID_OBJECTMODIFY_ALIGNTOGRID, tr("Align to grid"))
|
||||
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSelected)
|
||||
.SetIcon(Style::icon("Align_to_grid"))
|
||||
.SetApplyHoverEffect();
|
||||
}
|
||||
|
||||
am->AddAction(ID_SNAP_TO_GRID, tr("Snap to grid"))
|
||||
.SetIcon(Style::icon("Grid"))
|
||||
.SetApplyHoverEffect()
|
||||
@@ -1153,7 +1073,6 @@ void MainWindow::InitActions()
|
||||
am->AddAction(ID_CHANGEMOVESPEED_CHANGESTEP, tr("Change Step"))
|
||||
.SetStatusTip(tr("Change Flycam Movement Step"));
|
||||
am->AddAction(ID_DISPLAY_GOTOPOSITION, tr("Go to Position..."));
|
||||
am->AddAction(ID_DISPLAY_SETVECTOR, tr("Display Set Vector"));
|
||||
am->AddAction(ID_MODIFY_GOTO_SELECTION, tr("Center on Selection"))
|
||||
.SetShortcut(tr("Z"))
|
||||
.SetToolTip(tr("Center on Selection (Z)"))
|
||||
@@ -1500,62 +1419,6 @@ void MainWindow::InitToolBars()
|
||||
AdjustToolBarIconSize(static_cast<AzQtComponents::ToolBar::ToolBarIconSize>(gSettings.gui.nToolbarIconSize));
|
||||
}
|
||||
|
||||
QComboBox* MainWindow::CreateRefCoordComboBox()
|
||||
{
|
||||
// ID_REF_COORDS_SYS;
|
||||
auto coordSysCombo = new RefCoordComboBox(this);
|
||||
|
||||
connect(this, &MainWindow::ToggleRefCoordSys, coordSysCombo, &RefCoordComboBox::ToggleRefCoordSys);
|
||||
connect(this, &MainWindow::UpdateRefCoordSys, coordSysCombo, &RefCoordComboBox::UpdateRefCoordSys);
|
||||
|
||||
return coordSysCombo;
|
||||
}
|
||||
|
||||
RefCoordComboBox::RefCoordComboBox(QWidget* parent)
|
||||
: QComboBox(parent)
|
||||
{
|
||||
addItems(coordSysList());
|
||||
setCurrentIndex(0);
|
||||
|
||||
connect(this, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, [](int index)
|
||||
{
|
||||
if (index >= 0 && index < LAST_COORD_SYSTEM)
|
||||
{
|
||||
RefCoordSys coordSys = (RefCoordSys)index;
|
||||
if (GetIEditor()->GetReferenceCoordSys() != index)
|
||||
{
|
||||
GetIEditor()->SetReferenceCoordSys(coordSys);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
UpdateRefCoordSys();
|
||||
}
|
||||
|
||||
QStringList RefCoordComboBox::coordSysList() const
|
||||
{
|
||||
static QStringList list = { tr("View"), tr("Local"), tr("Parent"), tr("World"), tr("Custom") };
|
||||
return list;
|
||||
}
|
||||
|
||||
void RefCoordComboBox::UpdateRefCoordSys()
|
||||
{
|
||||
RefCoordSys coordSys = GetIEditor()->GetReferenceCoordSys();
|
||||
if (coordSys >= 0 && coordSys < LAST_COORD_SYSTEM)
|
||||
{
|
||||
setCurrentIndex(coordSys);
|
||||
}
|
||||
}
|
||||
|
||||
void RefCoordComboBox::ToggleRefCoordSys()
|
||||
{
|
||||
QStringList coordSys = coordSysList();
|
||||
const int localIndex = coordSys.indexOf(tr("Local"));
|
||||
const int worldIndex = coordSys.indexOf(tr("World"));
|
||||
const int newIndex = currentIndex() == localIndex ? worldIndex : localIndex;
|
||||
setCurrentIndex(newIndex);
|
||||
}
|
||||
|
||||
QToolButton* MainWindow::CreateUndoRedoButton(int command)
|
||||
{
|
||||
// We do either undo or redo below, sort that out here
|
||||
@@ -2520,9 +2383,6 @@ QWidget* MainWindow::CreateToolbarWidget(int actionId)
|
||||
case ID_TOOLBAR_WIDGET_REDO:
|
||||
w = CreateUndoRedoButton(ID_REDO);
|
||||
break;
|
||||
case ID_TOOLBAR_WIDGET_REF_COORD:
|
||||
w = CreateRefCoordComboBox();
|
||||
break;
|
||||
case ID_TOOLBAR_WIDGET_SNAP_GRID:
|
||||
w = CreateSnapToGridWidget();
|
||||
break;
|
||||
|
||||
@@ -77,19 +77,6 @@ namespace AzToolsFramework
|
||||
// Subclassing so we can add slots to our toolbar widgets
|
||||
// Using lambdas is crashy since the lamdba doesn't know when the widget is deleted.
|
||||
|
||||
class RefCoordComboBox
|
||||
: public QComboBox
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit RefCoordComboBox(QWidget* parent);
|
||||
public Q_SLOTS:
|
||||
void ToggleRefCoordSys();
|
||||
void UpdateRefCoordSys();
|
||||
private:
|
||||
QStringList coordSysList() const;
|
||||
};
|
||||
|
||||
class UndoRedoToolButton
|
||||
: public QToolButton
|
||||
{
|
||||
@@ -229,8 +216,6 @@ private:
|
||||
QWidget* CreateSnapToGridWidget();
|
||||
QWidget* CreateSnapToAngleWidget();
|
||||
|
||||
QComboBox* CreateRefCoordComboBox();
|
||||
|
||||
QToolButton* CreateUndoRedoButton(int command);
|
||||
|
||||
QToolButton* CreateEnvironmentModeButton();
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
<path d="M7.72789116,1 C7.87817272,1 8,1.13431458 8,1.3 L8,6.7 C8,6.86568542 7.87817272,7 7.72789116,7 L2.27210884,7 C2.12182728,7 2,6.86568542 2,6.7 L2,1.3 C2,1.13431458 2.12182728,1 2.27210884,1 L7.72789116,1 Z" id="Path-Copy-3" fill="#FFFFFF"></path>
|
||||
<path d="M14.7701149,1 C14.897077,1 15,1.10512392 15,1.23480084 L15,14.7651992 C15,14.8948761 14.897077,15 14.7701149,15 L13,15 L13,14 L10,14 L10,13 L12,13 L12,12 L10,12 L10,11 L12,11 L12,10 L10,10 L10,9 L13,9 L13,8 L10,8 L10,7 L12,7 L12,6 L10,6 L10,5 L12,5 L12,4 L10,4 L10,3 L13,3 L13,2 L10,2 L10,1.23480084 C10,1.10512392 10.102923,1 10.2298851,1 L14.7701149,1 Z" id="Combined-Shape" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@@ -63,4 +63,4 @@ private:
|
||||
QScopedPointer<QMenuBar> m_menubar;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_MATEDITPREVIEWDLG_H
|
||||
#endif // CRYINCLUDE_EDITOR_MATEDITPREVIEWDLG_H
|
||||
|
||||
@@ -31,4 +31,4 @@ namespace AzToolsFramework
|
||||
void Deactivate() override {}
|
||||
};
|
||||
|
||||
} // namespace AzToolsFramework
|
||||
} // namespace AzToolsFramework
|
||||
|
||||
@@ -137,36 +137,6 @@ void CAxisGizmo::GetWorldBounds(AABB& bbox)
|
||||
void CAxisGizmo::DrawAxis(DisplayContext& dc)
|
||||
{
|
||||
m_pAxisHelper->SetHighlightAxis(m_highlightAxis);
|
||||
// Only enable axis planes when editor is in Move mode.
|
||||
int nEditMode = GetIEditor()->GetEditMode();
|
||||
int nModeFlags = 0;
|
||||
switch (nEditMode)
|
||||
{
|
||||
case eEditModeMove:
|
||||
nModeFlags |= CAxisHelper::MOVE_MODE;
|
||||
break;
|
||||
case eEditModeRotate:
|
||||
nModeFlags |= CAxisHelper::ROTATE_MODE;
|
||||
nModeFlags &= ~(CAxisHelper::ROTATE_CIRCLE_MODE);
|
||||
break;
|
||||
case eEditModeRotateCircle:
|
||||
nModeFlags |= CAxisHelper::ROTATE_CIRCLE_MODE;
|
||||
nModeFlags &= ~(CAxisHelper::ROTATE_MODE);
|
||||
break;
|
||||
case eEditModeScale:
|
||||
nModeFlags |= CAxisHelper::SCALE_MODE;
|
||||
break;
|
||||
case eEditModeSelect:
|
||||
nModeFlags |= CAxisHelper::SELECT_MODE;
|
||||
break;
|
||||
case eEditModeSelectArea:
|
||||
nModeFlags |= CAxisHelper::SELECT_MODE;
|
||||
break;
|
||||
}
|
||||
|
||||
//nModeFlags |= CAxisHelper::MOVE_MODE | CAxisHelper::ROTATE_MODE | CAxisHelper::SCALE_MODE;
|
||||
|
||||
m_pAxisHelper->SetMode(nModeFlags);
|
||||
|
||||
Matrix34 tm = GetTransformation(m_bAlwaysUseLocal ? COORDS_LOCAL : GetIEditor()->GetReferenceCoordSys(), dc.view);
|
||||
m_pAxisHelper->DrawAxis(tm, GetIEditor()->GetGlobalGizmoParameters(), dc);
|
||||
@@ -177,21 +147,6 @@ void CAxisGizmo::DrawAxis(DisplayContext& dc)
|
||||
|
||||
m_pAxisHelper->DrawDome(tm, GetIEditor()->GetGlobalGizmoParameters(), dc, objectBox);
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Draw extended infinite-axis gizmo
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
if (!(dc.flags & DISPLAY_2D) &&
|
||||
(nModeFlags == CAxisHelper::MOVE_MODE ||
|
||||
nModeFlags == CAxisHelper::ROTATE_MODE))
|
||||
{
|
||||
bool bClickedShift = CheckVirtualKey(Qt::Key_Shift);
|
||||
if (bClickedShift && (m_axisGizmoCount == 1 || m_highlightAxis || (m_axisGizmoCount == 2 && m_object && m_object->IsSkipSelectionHelper())))
|
||||
{
|
||||
bool bClickedAlt = CheckVirtualKey(Qt::Key_Menu);
|
||||
bool bUsePhysicalProxy = !bClickedAlt;
|
||||
m_pAxisHelperExtended->DrawAxes(dc, tm, bUsePhysicalProxy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -324,7 +279,7 @@ Matrix34 CAxisGizmo::GetTransformation(RefCoordSys coordSys, IDisplayViewport* v
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
bool CAxisGizmo::MouseCallback(CViewport* view, EMouseEvent event, QPoint& point, int nFlags)
|
||||
bool CAxisGizmo::MouseCallback(CViewport* view, EMouseEvent event, QPoint& point, [[maybe_unused]] int nFlags)
|
||||
{
|
||||
AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::Editor);
|
||||
|
||||
@@ -364,22 +319,6 @@ bool CAxisGizmo::MouseCallback(CViewport* view, EMouseEvent event, QPoint& point
|
||||
m_cMouseDownPos = point;
|
||||
m_initPos = GetTransformation(COORDS_WORLD).GetTranslation();
|
||||
|
||||
switch (hc.manipulatorMode)
|
||||
{
|
||||
case 1:
|
||||
view->SetCurrentCursor(STD_CURSOR_MOVE);
|
||||
GetIEditor()->SetEditMode(eEditModeMove);
|
||||
break;
|
||||
case 2:
|
||||
view->SetCurrentCursor(STD_CURSOR_ROTATE);
|
||||
GetIEditor()->SetEditMode(eEditModeRotate);
|
||||
break;
|
||||
case 3:
|
||||
view->SetCurrentCursor(STD_CURSOR_SCALE);
|
||||
GetIEditor()->SetEditMode(eEditModeScale);
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -387,152 +326,6 @@ bool CAxisGizmo::MouseCallback(CViewport* view, EMouseEvent event, QPoint& point
|
||||
{
|
||||
if (m_bDragging)
|
||||
{
|
||||
bool bCallBack = true;
|
||||
Vec3 vDragValue(0, 0, 0);
|
||||
// Dragging transform manipulator.
|
||||
switch (GetIEditor()->GetEditMode())
|
||||
{
|
||||
case eEditModeMove:
|
||||
{
|
||||
view->SetCurrentCursor(STD_CURSOR_MOVE);
|
||||
|
||||
if (view->GetAxisConstrain() == AXIS_TERRAIN)
|
||||
{
|
||||
if (nFlags & MK_CONTROL)
|
||||
{
|
||||
bool bCollideWithTerrain;
|
||||
Vec3 posOnTerrain = view->ViewToWorld(point, &bCollideWithTerrain, true);
|
||||
if (!bCollideWithTerrain)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
vDragValue = posOnTerrain - m_initPos;
|
||||
}
|
||||
else
|
||||
{
|
||||
Vec3 p1 = view->SnapToGrid(view->ViewToWorld(m_cMouseDownPos));
|
||||
Vec3 p2 = view->SnapToGrid(view->ViewToWorld(point));
|
||||
vDragValue = p2 - p1;
|
||||
vDragValue.z = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Vec3 p1 = view->MapViewToCP(m_cMouseDownPos);
|
||||
Vec3 p2 = view->MapViewToCP(point);
|
||||
if (p1.IsZero() || p2.IsZero())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
vDragValue = view->GetCPVector(p1, p2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case eEditModeRotate:
|
||||
{
|
||||
view->SetCurrentCursor(STD_CURSOR_ROTATE);
|
||||
|
||||
Ang3 ang(0, 0, 0);
|
||||
float ax = (point.x() - m_cMouseDownPos.x());
|
||||
float ay = (point.y() - m_cMouseDownPos.y());
|
||||
switch (view->GetAxisConstrain())
|
||||
{
|
||||
case AXIS_X:
|
||||
ang.x = ay;
|
||||
break;
|
||||
case AXIS_Y:
|
||||
ang.y = ay;
|
||||
break;
|
||||
case AXIS_Z:
|
||||
ang.z = ay;
|
||||
break;
|
||||
case AXIS_XY:
|
||||
ang(ax, ay, 0);
|
||||
break;
|
||||
case AXIS_XZ:
|
||||
ang(ax, 0, ay);
|
||||
break;
|
||||
case AXIS_YZ:
|
||||
ang(0, ay, ax);
|
||||
break;
|
||||
case AXIS_TERRAIN:
|
||||
ang(ax, ay, 0);
|
||||
break;
|
||||
}
|
||||
;
|
||||
ang = gSettings.pGrid->SnapAngle(ang);
|
||||
vDragValue = Vec3(DEG2RAD(ang));
|
||||
}
|
||||
break;
|
||||
case eEditModeScale:
|
||||
{
|
||||
Vec3 scl(0, 0, 0);
|
||||
float ay = 1.0f - 0.01f * (point.y() - m_cMouseDownPos.y());
|
||||
if (ay < 0.01f)
|
||||
{
|
||||
ay = 0.01f;
|
||||
}
|
||||
scl(ay, ay, ay);
|
||||
switch (view->GetAxisConstrain())
|
||||
{
|
||||
case AXIS_X:
|
||||
scl(ay, 1, 1);
|
||||
break;
|
||||
case AXIS_Y:
|
||||
scl(1, ay, 1);
|
||||
break;
|
||||
case AXIS_Z:
|
||||
scl(1, 1, ay);
|
||||
break;
|
||||
case AXIS_XY:
|
||||
scl(ay, ay, ay);
|
||||
break;
|
||||
case AXIS_XZ:
|
||||
scl(ay, ay, ay);
|
||||
break;
|
||||
case AXIS_YZ:
|
||||
scl(ay, ay, ay);
|
||||
break;
|
||||
case AXIS_XYZ:
|
||||
scl(ay, ay, ay);
|
||||
break;
|
||||
case AXIS_TERRAIN:
|
||||
scl(ay, ay, ay);
|
||||
break;
|
||||
}
|
||||
;
|
||||
view->SetCurrentCursor(STD_CURSOR_SCALE);
|
||||
vDragValue = scl;
|
||||
}
|
||||
break;
|
||||
case eEditModeRotateCircle:
|
||||
{
|
||||
Matrix34 tm = GetTransformation(m_bAlwaysUseLocal ? COORDS_LOCAL : GetIEditor()->GetReferenceCoordSys());
|
||||
Vec3 v0, v1;
|
||||
Vec3 vHitNormal;
|
||||
if (m_pAxisHelper->HitTestForRotationCircle(tm, view, m_cMouseDownPos, 0.05f, &v0, &vHitNormal) && m_pAxisHelper->HitTestForRotationCircle(tm, view, point, 2.0f, &v1, &vHitNormal))
|
||||
{
|
||||
Vec3 vDir0 = (v0 - tm.GetTranslation()).GetNormalized();
|
||||
Vec3 vDir1 = (v1 - tm.GetTranslation()).GetNormalized();
|
||||
|
||||
Vec3 vCurlDir = vDir0.Cross(vDir1).GetNormalized();
|
||||
if (vHitNormal.Dot(vCurlDir) > 0)
|
||||
{
|
||||
vDragValue = Vec3(std::acos(vDir0.Dot(vDir1)), 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
vDragValue = Vec3(-std::acos(vDir0.Dot(vDir1)), 0, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bCallBack = false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -12,4 +12,4 @@ ly_add_source_properties(
|
||||
SOURCES MainWindow.cpp CryEdit.cpp
|
||||
PROPERTY COMPILE_OPTIONS
|
||||
VALUES -bigobj
|
||||
)
|
||||
)
|
||||
|
||||
@@ -65,4 +65,4 @@
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,4 +65,4 @@
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,4 @@ set_target_properties(Editor PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/gui_info.plist
|
||||
RESOURCE ${CMAKE_CURRENT_LIST_DIR}/Images.xcassets
|
||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME EditorAppIcon
|
||||
)
|
||||
)
|
||||
|
||||
@@ -139,16 +139,6 @@ namespace AzToolsFramework
|
||||
*/
|
||||
virtual void SetAxisConstraint(AZStd::string_view pConstrain) = 0;
|
||||
|
||||
/*
|
||||
* Gets edit mode.
|
||||
*/
|
||||
virtual const char* GetEditMode() = 0;
|
||||
|
||||
/*
|
||||
* Sets edit mode.
|
||||
*/
|
||||
virtual void SetEditMode(AZStd::string_view pEditMode) = 0;
|
||||
|
||||
/*
|
||||
* Finds a pak file name for a given file.
|
||||
*/
|
||||
|
||||
@@ -688,68 +688,6 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Edit Mode
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
const char* PyGetEditMode()
|
||||
{
|
||||
int actualEditMode = GetIEditor()->GetEditMode();
|
||||
switch (actualEditMode)
|
||||
{
|
||||
case eEditModeSelect:
|
||||
return "SELECT";
|
||||
case eEditModeSelectArea:
|
||||
return "SELECTAREA";
|
||||
case eEditModeMove:
|
||||
return "MOVE";
|
||||
case eEditModeRotate:
|
||||
return "ROTATE";
|
||||
case eEditModeScale:
|
||||
return "SCALE";
|
||||
case eEditModeTool:
|
||||
return "TOOL";
|
||||
default:
|
||||
throw std::logic_error("Invalid edit mode.");
|
||||
}
|
||||
}
|
||||
|
||||
void PySetEditMode(AZStd::string_view pEditMode)
|
||||
{
|
||||
if (pEditMode == "MOVE")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeMove);
|
||||
}
|
||||
else if (pEditMode == "ROTATE")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeRotate);
|
||||
}
|
||||
else if (pEditMode == "SCALE")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeScale);
|
||||
}
|
||||
else if (pEditMode == "SELECT")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeSelect);
|
||||
}
|
||||
else if (pEditMode == "SELECTAREA")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeSelectArea);
|
||||
}
|
||||
else if (pEditMode == "TOOL")
|
||||
{
|
||||
GetIEditor()->SetEditMode(eEditModeTool);
|
||||
}
|
||||
else if (pEditMode == "RULER")
|
||||
{
|
||||
CRuler* pRuler = GetIEditor()->GetRuler();
|
||||
pRuler->SetActive(!pRuler->IsActive());
|
||||
}
|
||||
else
|
||||
{
|
||||
throw std::logic_error("Invalid edit mode.");
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
const char* PyGetPakFromFile(const char* filename)
|
||||
{
|
||||
@@ -1031,8 +969,6 @@ namespace AzToolsFramework
|
||||
->Event("OpenFileBox", &EditorLayerPythonRequestBus::Events::OpenFileBox)
|
||||
->Event("GetAxisConstraint", &EditorLayerPythonRequestBus::Events::GetAxisConstraint)
|
||||
->Event("SetAxisConstraint", &EditorLayerPythonRequestBus::Events::SetAxisConstraint)
|
||||
->Event("GetEditMode", &EditorLayerPythonRequestBus::Events::GetEditMode)
|
||||
->Event("SetEditMode", &EditorLayerPythonRequestBus::Events::SetEditMode)
|
||||
->Event("GetPakFromFile", &EditorLayerPythonRequestBus::Events::GetPakFromFile)
|
||||
->Event("Log", &EditorLayerPythonRequestBus::Events::Log)
|
||||
->Event("Undo", &EditorLayerPythonRequestBus::Events::Undo)
|
||||
@@ -1168,16 +1104,6 @@ namespace AzToolsFramework
|
||||
return PySetAxisConstraint(pConstrain);
|
||||
}
|
||||
|
||||
const char* PythonEditorComponent::GetEditMode()
|
||||
{
|
||||
return PyGetEditMode();
|
||||
}
|
||||
|
||||
void PythonEditorComponent::SetEditMode(AZStd::string_view pEditMode)
|
||||
{
|
||||
return PySetEditMode(pEditMode);
|
||||
}
|
||||
|
||||
const char* PythonEditorComponent::GetPakFromFile(const char* filename)
|
||||
{
|
||||
return PyGetPakFromFile(filename);
|
||||
@@ -1252,9 +1178,6 @@ namespace AzToolsFramework
|
||||
addLegacyGeneral(behaviorContext->Method("get_axis_constraint", PyGetAxisConstraint, nullptr, "Gets axis."));
|
||||
addLegacyGeneral(behaviorContext->Method("set_axis_constraint", PySetAxisConstraint, nullptr, "Sets axis."));
|
||||
|
||||
addLegacyGeneral(behaviorContext->Method("get_edit_mode", PyGetEditMode, nullptr, "Gets edit mode."));
|
||||
addLegacyGeneral(behaviorContext->Method("set_edit_mode", PySetEditMode, nullptr, "Sets edit mode."));
|
||||
|
||||
addLegacyGeneral(behaviorContext->Method("get_pak_from_file", PyGetPakFromFile, nullptr, "Finds a pak file name for a given file."));
|
||||
|
||||
addLegacyGeneral(behaviorContext->Method("log", PyLog, nullptr, "Prints the message to the editor console window."));
|
||||
|
||||
@@ -95,10 +95,6 @@ namespace AzToolsFramework
|
||||
|
||||
void SetAxisConstraint(AZStd::string_view pConstrain) override;
|
||||
|
||||
const char* GetEditMode() override;
|
||||
|
||||
void SetEditMode(AZStd::string_view pEditMode) override;
|
||||
|
||||
const char* GetPakFromFile(const char* filename) override;
|
||||
|
||||
void Log(const char* pMessage) override;
|
||||
|
||||
@@ -40,4 +40,4 @@ private:
|
||||
Qt::AspectRatioMode m_mode;
|
||||
};
|
||||
|
||||
#endif // PIXMAPLABELPREVIEW_H
|
||||
#endif // PIXMAPLABELPREVIEW_H
|
||||
|
||||
@@ -4301,11 +4301,6 @@ void CRenderViewport::RenderSnappingGrid()
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (GetIEditor()->GetEditMode() != eEditModeMove
|
||||
&& GetIEditor()->GetEditMode() != eEditModeRotate)
|
||||
{
|
||||
return;
|
||||
}
|
||||
CGrid* pGrid = GetViewManager()->GetGrid();
|
||||
if (pGrid->IsEnabled() == false && pGrid->IsAngleSnapEnabled() == false)
|
||||
{
|
||||
@@ -4317,76 +4312,6 @@ void CRenderViewport::RenderSnappingGrid()
|
||||
int prevState = dc.GetState();
|
||||
dc.DepthWriteOff();
|
||||
|
||||
Vec3 p = pSelGroup->GetObject(0)->GetWorldPos();
|
||||
|
||||
AABB bbox;
|
||||
pSelGroup->GetObject(0)->GetBoundBox(bbox);
|
||||
float size = 2 * bbox.GetRadius();
|
||||
float alphaMax = 1.0f, alphaMin = 0.2f;
|
||||
dc.SetLineWidth(3);
|
||||
|
||||
if (GetIEditor()->GetEditMode() == eEditModeMove && pGrid->IsEnabled())
|
||||
// Draw the translation grid.
|
||||
{
|
||||
Vec3 u = m_constructionPlaneAxisX;
|
||||
Vec3 v = m_constructionPlaneAxisY;
|
||||
float step = pGrid->scale * pGrid->size;
|
||||
const int MIN_STEP_COUNT = 5;
|
||||
const int MAX_STEP_COUNT = 300;
|
||||
int nSteps = std::min(std::max(FloatToIntRet(size / step), MIN_STEP_COUNT), MAX_STEP_COUNT);
|
||||
size = nSteps * step;
|
||||
for (int i = -nSteps; i <= nSteps; ++i)
|
||||
{
|
||||
// Draw u lines.
|
||||
float alphaCur = alphaMax - fabsf(float(i) / float(nSteps)) * (alphaMax - alphaMin);
|
||||
dc.DrawLine(p + v * (step * i), p + u * size + v * (step * i),
|
||||
ColorF(0, 0, 0, alphaCur), ColorF(0, 0, 0, alphaMin));
|
||||
dc.DrawLine(p + v * (step * i), p - u * size + v * (step * i),
|
||||
ColorF(0, 0, 0, alphaCur), ColorF(0, 0, 0, alphaMin));
|
||||
// Draw v lines.
|
||||
dc.DrawLine(p + u * (step * i), p + v * size + u * (step * i),
|
||||
ColorF(0, 0, 0, alphaCur), ColorF(0, 0, 0, alphaMin));
|
||||
dc.DrawLine(p + u * (step * i), p - v * size + u * (step * i),
|
||||
ColorF(0, 0, 0, alphaCur), ColorF(0, 0, 0, alphaMin));
|
||||
}
|
||||
}
|
||||
else if (GetIEditor()->GetEditMode() == eEditModeRotate && pGrid->IsAngleSnapEnabled())
|
||||
// Draw the rotation grid.
|
||||
{
|
||||
int nAxis(GetAxisConstrain());
|
||||
if (nAxis == AXIS_X || nAxis == AXIS_Y || nAxis == AXIS_Z)
|
||||
{
|
||||
RefCoordSys coordSys = GetIEditor()->GetReferenceCoordSys();
|
||||
Vec3 xAxis(1, 0, 0);
|
||||
Vec3 yAxis(0, 1, 0);
|
||||
Vec3 zAxis(0, 0, 1);
|
||||
Vec3 rotAxis;
|
||||
if (nAxis == AXIS_X)
|
||||
{
|
||||
rotAxis = m_constructionMatrix[coordSys].TransformVector(xAxis);
|
||||
}
|
||||
else if (nAxis == AXIS_Y)
|
||||
{
|
||||
rotAxis = m_constructionMatrix[coordSys].TransformVector(yAxis);
|
||||
}
|
||||
else if (nAxis == AXIS_Z)
|
||||
{
|
||||
rotAxis = m_constructionMatrix[coordSys].TransformVector(zAxis);
|
||||
}
|
||||
Vec3 anotherAxis = m_constructionPlane.n * size;
|
||||
float step = pGrid->angleSnap;
|
||||
int nSteps = FloatToIntRet(180.0f / step);
|
||||
for (int i = 0; i < nSteps; ++i)
|
||||
{
|
||||
AngleAxis rot(i* step* gf_PI / 180.0, rotAxis);
|
||||
Vec3 dir = rot * anotherAxis;
|
||||
dc.DrawLine(p, p + dir,
|
||||
ColorF(0, 0, 0, alphaMax), ColorF(0, 0, 0, alphaMin));
|
||||
dc.DrawLine(p, p - dir,
|
||||
ColorF(0, 0, 0, alphaMax), ColorF(0, 0, 0, alphaMin));
|
||||
}
|
||||
}
|
||||
}
|
||||
dc.SetState(prevState);
|
||||
}
|
||||
|
||||
|
||||
@@ -141,18 +141,12 @@
|
||||
#define ID_EDITMODE_ROTATE 33506
|
||||
#define ID_EDITMODE_SCALE 33507
|
||||
#define ID_EDITMODE_MOVE 33508
|
||||
#define ID_EDITMODE_SELECT 33509
|
||||
#define ID_EDITMODE_SELECTAREA 33510
|
||||
#define ID_SELECTION_DELETE 33512
|
||||
#define ID_EDIT_ESCAPE 33513
|
||||
#define ID_OBJECTMODIFY_SETAREA 33514
|
||||
#define ID_OBJECTMODIFY_SETHEIGHT 33515
|
||||
#define ID_OBJECTMODIFY_FREEZE 33517
|
||||
#define ID_OBJECTMODIFY_UNFREEZE 33518
|
||||
#define ID_SELECT_AXIS_XY 33520
|
||||
#define ID_SELECT_AXIS_X 33521
|
||||
#define ID_SELECT_AXIS_Y 33522
|
||||
#define ID_SELECT_AXIS_Z 33523
|
||||
#define ID_UNDO 33524
|
||||
#define ID_EDIT_CLONE 33525
|
||||
#define ID_SELECTION_SAVE 33527
|
||||
@@ -161,7 +155,6 @@
|
||||
#define ID_EDIT_LEVELDATA 33542
|
||||
#define ID_FILE_EDITEDITORINI 33543
|
||||
#define ID_FILE_EDITLOGFILE 33544
|
||||
#define ID_SELECT_AXIS_TERRAIN 33545
|
||||
#define ID_PREFERENCES 33546
|
||||
#define ID_RELOAD_GEOMETRY 33549
|
||||
#define ID_REDO 33550
|
||||
@@ -213,7 +206,6 @@
|
||||
#define ID_TV_NEXTKEY 33603
|
||||
#define ID_PLAY_LOOP 33607
|
||||
#define ID_TERRAIN 33611
|
||||
#define ID_OBJECTMODIFY_ALIGNTOGRID 33619
|
||||
#define ID_PANEL_VEG_EXPORT 33672
|
||||
#define ID_PANEL_VEG_IMPORT 33673
|
||||
#define ID_PANEL_VEG_DISTRIBUTE 33674
|
||||
@@ -226,7 +218,6 @@
|
||||
#define ID_PANEL_VEG_ADDCATEGORY 33682
|
||||
#define ID_PANEL_VEG_RENAMECATEGORY 33683
|
||||
#define ID_PANEL_VEG_REMOVECATEGORY 33684
|
||||
#define ID_SELECT_AXIS_SNAPTOALL 33685
|
||||
#define ID_TOOLS_PREFERENCES 33691
|
||||
#define ID_EDIT_INVERTSELECTION 33692
|
||||
#define ID_TOOLTERRAINMODIFY_SMOOTH 33695
|
||||
@@ -279,7 +270,6 @@
|
||||
#define ID_DISPLAY_GOTOPOSITION 34004
|
||||
#define ID_PHYSICS_SIMULATEOBJECTS 34007
|
||||
#define ID_TERRAIN_TEXTURE_EXPORT 34008
|
||||
#define ID_DISPLAY_SETVECTOR 34010
|
||||
#define ID_TV_SEQUENCE_NEW 34049
|
||||
#define ID_TV_MODE_DOPESHEET 34052
|
||||
#define ID_VIEW_LAYOUTS 34053
|
||||
@@ -403,7 +393,6 @@
|
||||
#define ID_TOOLBAR_WIDGET_FIRST 50003
|
||||
#define ID_TOOLBAR_WIDGET_UNDO 50003
|
||||
#define ID_TOOLBAR_WIDGET_REDO 50004
|
||||
#define ID_TOOLBAR_WIDGET_REF_COORD 50006
|
||||
#define ID_TOOLBAR_WIDGET_SNAP_ANGLE 50007
|
||||
#define ID_TOOLBAR_WIDGET_SNAP_GRID 50008
|
||||
#define ID_TOOLBAR_WIDGET_ENVIRONMENT_MODE 50011
|
||||
|
||||
@@ -1,257 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
// Original file Copyright Crytek GMBH or its affiliates, used under license.
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "SetVectorDlg.h"
|
||||
|
||||
// Editor
|
||||
#include "MainWindow.h"
|
||||
#include "MathConversion.h"
|
||||
#include "ActionManager.h"
|
||||
#include "Objects/BaseObject.h"
|
||||
#include "Objects/SelectionGroup.h"
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include "ui_SetVectorDlg.h"
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CSetVectorDlg dialog
|
||||
|
||||
|
||||
CSetVectorDlg::CSetVectorDlg(QWidget* pParent /*=NULL*/)
|
||||
: QDialog(pParent)
|
||||
, m_ui(new Ui::SetVectorDlg)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
OnInitDialog();
|
||||
|
||||
connect(m_ui->buttonOk, &QPushButton::clicked, this, &CSetVectorDlg::accept);
|
||||
connect(m_ui->buttonCancel, &QPushButton::clicked, this, &CSetVectorDlg::reject);
|
||||
}
|
||||
|
||||
CSetVectorDlg::~CSetVectorDlg()
|
||||
{
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CSetVectorDlg message handlers
|
||||
|
||||
|
||||
void CSetVectorDlg::OnInitDialog()
|
||||
{
|
||||
QString editModeString;
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
editModeString = tr("Position");
|
||||
}
|
||||
else if (emode == eEditModeRotate)
|
||||
{
|
||||
editModeString = tr("Rotation");
|
||||
}
|
||||
else if (emode == eEditModeScale)
|
||||
{
|
||||
editModeString = tr("Scale");
|
||||
}
|
||||
|
||||
m_ui->label->setText(tr("Enter %1 here:").arg(editModeString));
|
||||
|
||||
currentVec = GetVectorFromEditor();
|
||||
m_ui->edit->setText(QStringLiteral("%1, %2, %3").arg(currentVec.x, 2, 'f', 2).arg(currentVec.y, 2, 'f', 2).arg(currentVec.z, 2, 'f', 2));
|
||||
}
|
||||
|
||||
void CSetVectorDlg::accept()
|
||||
{
|
||||
Vec3 newVec = GetVectorFromText();
|
||||
SetVector(newVec);
|
||||
|
||||
if (GetIEditor()->GetEditMode() == eEditModeMove && currentVec.GetDistance(newVec) > 10.0f)
|
||||
{
|
||||
MainWindow::instance()->GetActionManager()->GetAction(ID_GOTO_SELECTED)->trigger();
|
||||
}
|
||||
QDialog::accept();
|
||||
}
|
||||
|
||||
Vec3 CSetVectorDlg::GetVectorFromEditor()
|
||||
{
|
||||
Vec3 v;
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
CBaseObject* obj = GetIEditor()->GetSelectedObject();
|
||||
bool bWorldSpace = GetIEditor()->GetReferenceCoordSys() == COORDS_WORLD;
|
||||
|
||||
if (obj)
|
||||
{
|
||||
v = obj->GetWorldPos();
|
||||
}
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
if (bWorldSpace)
|
||||
{
|
||||
v = obj->GetWorldTM().GetTranslation();
|
||||
}
|
||||
else
|
||||
{
|
||||
v = obj->GetPos();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeRotate)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
Quat qrot;
|
||||
if (bWorldSpace)
|
||||
{
|
||||
AffineParts ap;
|
||||
ap.SpectralDecompose(obj->GetWorldTM());
|
||||
qrot = ap.rot;
|
||||
}
|
||||
else
|
||||
{
|
||||
qrot = obj->GetRotation();
|
||||
}
|
||||
|
||||
v = AZVec3ToLYVec3(AZ::ConvertQuaternionToEulerDegrees(LYQuaternionToAZQuaternion(qrot)));
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeScale)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
if (bWorldSpace)
|
||||
{
|
||||
AffineParts ap;
|
||||
ap.SpectralDecompose(obj->GetWorldTM());
|
||||
v = ap.scale;
|
||||
}
|
||||
else
|
||||
{
|
||||
v = obj->GetScale();
|
||||
}
|
||||
}
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
Vec3 CSetVectorDlg::GetVectorFromText()
|
||||
{
|
||||
return GetVectorFromString(m_ui->edit->text());
|
||||
}
|
||||
|
||||
Vec3 CSetVectorDlg::GetVectorFromString(const QString& vecString)
|
||||
{
|
||||
const int maxCoordinates = 3;
|
||||
float vec[maxCoordinates] = { 0, 0, 0 };
|
||||
|
||||
const QStringList parts = vecString.split(QRegularExpression("[\\s,;\\t]"), Qt::SkipEmptyParts);
|
||||
const int checkCoords = AZStd::GetMin(parts.count(), maxCoordinates);
|
||||
for (int k = 0; k < checkCoords; ++k)
|
||||
{
|
||||
vec[k] = parts[k].toDouble();
|
||||
}
|
||||
|
||||
return Vec3(vec[0], vec[1], vec[2]);
|
||||
}
|
||||
|
||||
void CSetVectorDlg::SetVector(const Vec3& v)
|
||||
{
|
||||
int emode = GetIEditor()->GetEditMode();
|
||||
if (emode != eEditModeMove && emode != eEditModeRotate && emode != eEditModeScale)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int referenceCoordSys = GetIEditor()->GetReferenceCoordSys();
|
||||
|
||||
CBaseObject* obj = GetIEditor()->GetSelectedObject();
|
||||
|
||||
Matrix34 tm;
|
||||
AffineParts ap;
|
||||
if (obj)
|
||||
{
|
||||
tm = obj->GetWorldTM();
|
||||
ap.SpectralDecompose(tm);
|
||||
}
|
||||
|
||||
if (emode == eEditModeMove)
|
||||
{
|
||||
if (obj)
|
||||
{
|
||||
CUndo undo("Set Position");
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm.SetTranslation(v);
|
||||
obj->SetWorldTM(tm, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetPos(v, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeRotate)
|
||||
{
|
||||
CUndo undo("Set Rotation");
|
||||
if (obj)
|
||||
{
|
||||
Quat qrot = AZQuaternionToLYQuaternion(AZ::ConvertEulerDegreesToQuaternion(LYVec3ToAZVec3(v)));
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm = Matrix34::Create(ap.scale, qrot, ap.pos);
|
||||
obj->SetWorldTM(tm, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetRotation(qrot, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->GetSelection()->Rotate((Ang3)v, referenceCoordSys);
|
||||
}
|
||||
}
|
||||
if (emode == eEditModeScale)
|
||||
{
|
||||
if (v.x == 0 || v.y == 0 || v.z == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CUndo undo("Set Scale");
|
||||
if (obj)
|
||||
{
|
||||
if (referenceCoordSys == COORDS_WORLD)
|
||||
{
|
||||
tm = Matrix34::Create(v, ap.rot, ap.pos);
|
||||
obj->SetWorldTM(tm, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->SetScale(v, eObjectUpdateFlags_UserInput);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetIEditor()->GetSelection()->Scale(v, referenceCoordSys);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#include <moc_SetVectorDlg.cpp>
|
||||
@@ -1,61 +0,0 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
// Original file Copyright Crytek GMBH or its affiliates, used under license.
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_SETVECTORDLG_H
|
||||
#define CRYINCLUDE_EDITOR_SETVECTORDLG_H
|
||||
|
||||
#pragma once
|
||||
// GotoPositionDlg.h : header file
|
||||
//
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class SetVectorDlg;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CSetVectorDlg dialog
|
||||
|
||||
class SANDBOX_API CSetVectorDlg
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
// Construction
|
||||
public:
|
||||
CSetVectorDlg(QWidget* pParent = NULL); // standard constructor
|
||||
~CSetVectorDlg();
|
||||
|
||||
static Vec3 GetVectorFromString(const QString& vecString);
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
void OnInitDialog();
|
||||
void accept() override;
|
||||
void SetVector(const Vec3& v);
|
||||
Vec3 GetVectorFromText();
|
||||
Vec3 GetVectorFromEditor();
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
Vec3 currentVec;
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
private:
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
QScopedPointer<Ui::SetVectorDlg> m_ui;
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_SETVECTORDLG_H
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SetVectorDlg</class>
|
||||
<widget class="QDialog" name="SetVectorDlg">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>270</width>
|
||||
<height>99</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Set Vector</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="horizontalSpacing">
|
||||
<number>29</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QLineEdit" name="edit">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="buttonCancel">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="buttonOk">
|
||||
<property name="text">
|
||||
<string>Set</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -91,4 +91,4 @@ namespace SandboxEditor
|
||||
AZStd::list<QString> m_mainThreadMessages;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,4 +485,4 @@
|
||||
#LoginDialog Amazon--LoginWebView
|
||||
{
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,4 +63,4 @@ AzToolsFramework--PropertyRowWidget[HasParent="false"] QLabel#Name
|
||||
#EditorPreferencesDialog AzToolsFramework--PropertyRowWidget[isTopLevel="true"][hasChildRows="true"] QLabel#Name
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,4 +56,4 @@
|
||||
"LayerBGSelectionColor": "#444545",
|
||||
"LayerChildBGSelectionColor": "#464747"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
#CLayoutConfigDialog QListView::item:selected
|
||||
{
|
||||
background: #00A1C9;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
<file alias="Editor/Style/GraphicsSettingsDialog.qss">GraphicsSettingsDialog.qss</file>
|
||||
<file alias="Editor/Style/LensFlareEditor.qss">LensFlareEditor.qss</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
</RCC>
|
||||
|
||||
@@ -587,26 +587,13 @@ AmazonToolbar ToolbarManager::GetEditModeToolbar() const
|
||||
|
||||
t.AddAction(ID_TOOLBAR_SEPARATOR, ORIGINAL_TOOLBAR_VERSION);
|
||||
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
{
|
||||
t.AddAction(ID_EDITMODE_SELECT, ORIGINAL_TOOLBAR_VERSION);
|
||||
}
|
||||
|
||||
t.AddAction(ID_EDITMODE_MOVE, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_EDITMODE_ROTATE, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_EDITMODE_SCALE, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_EDITMODE_SELECTAREA, ORIGINAL_TOOLBAR_VERSION);
|
||||
|
||||
t.AddAction(ID_VIEW_SWITCHTOGAME, TOOLBARS_WITH_PLAY_GAME);
|
||||
|
||||
t.AddAction(ID_TOOLBAR_SEPARATOR, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_TOOLBAR_WIDGET_REF_COORD, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_X, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_Y, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_Z, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_XY, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_TERRAIN, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_SELECT_AXIS_SNAPTOALL, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_TOOLBAR_WIDGET_SNAP_GRID, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_TOOLBAR_WIDGET_SNAP_ANGLE, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_RULER, ORIGINAL_TOOLBAR_VERSION);
|
||||
@@ -623,7 +610,6 @@ AmazonToolbar ToolbarManager::GetObjectToolbar() const
|
||||
AmazonToolbar t = AmazonToolbar("Object", QObject::tr("Object Toolbar"));
|
||||
t.SetMainToolbar(true);
|
||||
t.AddAction(ID_GOTO_SELECTED, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_OBJECTMODIFY_ALIGNTOGRID, ORIGINAL_TOOLBAR_VERSION);
|
||||
t.AddAction(ID_OBJECTMODIFY_SETHEIGHT, ORIGINAL_TOOLBAR_VERSION);
|
||||
|
||||
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
|
||||
|
||||
@@ -28,4 +28,4 @@ protected:
|
||||
|
||||
signals:
|
||||
void stepByFinished();
|
||||
};
|
||||
};
|
||||
|
||||
@@ -164,4 +164,4 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
</TS>
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
<translation type="unfinished">Open a Level</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
</TS>
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
<security>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
</assembly>
|
||||
|
||||
@@ -54,4 +54,4 @@ private:
|
||||
int m_freeSortColumn;
|
||||
};
|
||||
|
||||
#endif // COLUMNGROUPPROXYMODEL_H
|
||||
#endif // COLUMNGROUPPROXYMODEL_H
|
||||
|
||||
@@ -85,4 +85,4 @@ private:
|
||||
QVector<int> m_mappingToSource;
|
||||
};
|
||||
|
||||
#endif //COLUMNSORTPROXYMODEL_H
|
||||
#endif //COLUMNSORTPROXYMODEL_H
|
||||
|
||||
@@ -30,4 +30,4 @@ private:
|
||||
|
||||
std::vector<QDialog*> m_windows;
|
||||
bool m_dissmiss = false;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -27,4 +27,4 @@ namespace Triangulator
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
#
|
||||
|
||||
set(FILES
|
||||
)
|
||||
)
|
||||
|
||||
@@ -484,9 +484,6 @@ set(FILES
|
||||
SelectLightAnimationDialog.h
|
||||
SelectSequenceDialog.cpp
|
||||
SelectSequenceDialog.h
|
||||
SetVectorDlg.cpp
|
||||
SetVectorDlg.h
|
||||
SetVectorDlg.ui
|
||||
ShadersDialog.cpp
|
||||
ShadersDialog.h
|
||||
ShadersDialog.ui
|
||||
|
||||
@@ -20,7 +20,6 @@ set(FILES
|
||||
Lib/Tests/test_MainWindowPythonBindings.cpp
|
||||
Lib/Tests/test_MaterialPythonFuncs.cpp
|
||||
Lib/Tests/test_ObjectManagerPythonBindings.cpp
|
||||
Lib/Tests/test_SetVectorDlg.cpp
|
||||
Lib/Tests/test_TrackViewPythonBindings.cpp
|
||||
Lib/Tests/test_ViewPanePythonBindings.cpp
|
||||
Lib/Tests/test_ViewportTitleDlgPythonBindings.cpp
|
||||
|
||||
@@ -19,4 +19,4 @@
|
||||
<polygon id="Fill-11" fill="#FFFFFF" mask="url(#mask-2)" points="322.0838 96.4337 271.0538 96.4337 271.0538 7.8287 322.0838 7.8287 322.0838 23.2227 289.8418 23.2227 289.8418 42.6767 319.8418 42.6767 319.8418 58.0707 289.8418 58.0707 289.8418 80.9187 322.0838 80.9187"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -8,4 +8,4 @@
|
||||
<path d="M13.888701,11.1513512 C13.888701,11.4556766 13.6061132,11.9991148 12.9974624,11.9991148 C12.3888117,11.9991148 2.8460374,12.0317211 2.56344955,12.0317211 C2.09609273,12.0317211 1.60699837,11.6295768 1.60699837,10.9122384 C1.60699837,10.520963 1.62151904,6.16624074 1.62151904,5.81844032 C1.62151904,5.25326462 1.6287359,4.9561561 2.17217407,4.9561561 C2.71561224,4.9561561 13.0083312,4.93441858 13.0083312,4.93441858 C13.703932,4.93441858 13.8995698,5.42351293 13.8995698,5.83652594 C13.8995698,6.24953895 13.888701,10.8470259 13.888701,11.1513512 L13.888701,11.1513512 Z M3.18296907,1.49988935 C3.18296907,1.31512037 3.18296907,1.13035139 3.33513175,1.13035139 L11.8018984,1.13035139 C12.0084049,1.13035139 12.2475177,1.17382645 12.2475177,1.40207048 C12.2475177,1.63031451 12.236649,3.28236654 12.236649,3.28236654 L3.17931716,3.25341216 L3.18296907,1.49988935 Z M20.3447465,4.82573094 L19.6491456,4.83659971 L17.6275556,6.60820814 L17.105855,6.60820814 C17.105855,6.60820814 15.7581283,4.28229277 15.6059656,3.9779674 C15.4538029,3.67364202 14.9538398,3.3258416 14.714727,3.3258416 L13.3670004,3.3258416 C13.3670004,3.3258416 13.3452628,1.08687634 13.3452628,0.695600857 C13.3452628,0.304325375 12.9757249,3.38395978e-13 12.4974993,3.38395978e-13 L2.67213719,3.38395978e-13 C2.23373475,3.38395978e-13 1.99827386,0.249981558 1.99827386,0.550655028 L1.99827386,3.23889149 C1.59908591,3.246717 1.51378786,3.24610835 1.28093547,3.24610835 C0.752017971,3.24610835 0.520122036,3.44174609 0.520122036,4.21708019 L0.520122036,11.803477 C0.520122036,12.6838469 0.965741335,13.0533848 1.63960466,13.0533848 C2.0743552,13.0533848 13.9104385,13.0425161 14.5190893,13.0425161 C15.12774,13.0425161 15.3885903,12.5208154 15.6059656,12.2382276 C15.8233409,11.9556397 17.1710675,9.73841199 17.1710675,9.73841199 L17.7797183,9.71667447 L19.7469645,11.5208892 L20.366484,11.5208892 L20.3447465,4.82573094 Z" id="Icon"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -8,4 +8,4 @@
|
||||
<path d="M17.7659895,14.3437915 C17.7659895,13.8510917 17.6838729,13.3583919 17.6017563,12.9478088 C17.5196396,12.6193423 17.437523,12.2908757 17.2732898,11.8802926 C17.8534322,11.8802926 18.2885391,11.8802926 18.5786103,11.8802926 C18.7730643,11.8802926 19.3909109,11.3103973 19.4923119,11.0588273 C19.8411382,10.1934098 20.0868637,9.5913208 20.2294885,9.25256041 C20.5056155,8.59670739 18.9374702,8.08014063 18.7513891,8.59562737 C18.627335,8.93928519 18.4083574,9.4867294 18.0944561,10.23796 L16.6984733,10.23796 C16.4521234,9.7452602 16.2878902,9.33467704 16.0415403,8.92409389 C16.0415403,8.677744 16.1236569,8.43139411 16.1236569,8.18504421 C16.1236569,7.44599454 15.7916216,6.35006708 15.2989218,5.77525067 C15.6273883,5.28255088 15.8358527,5.07492851 16.4927858,5.07492851 C16.9854855,5.07492851 17.3779881,4.89855839 17.3779881,4.4058586 C17.3779881,3.91315882 17.071171,3.78947368 16.5784712,3.78947368 C15.4288384,3.78947368 14.8097908,4.16132931 14.1528578,5.06461225 C13.4959247,4.73614573 12.8389917,4.48979584 12.0178254,4.48979584 C11.1966591,4.48979584 10.4576094,4.73614573 9.80067637,5.06461225 C9.14374332,4.16132931 8.4037885,3.87689738 7.25415567,3.87689738 C6.76145589,3.87689738 6.49569595,4.04162791 6.49569595,4.5343277 C6.49569595,5.02702748 7.08358702,5.1538589 7.57628681,5.1538589 C8.23321985,5.1538589 8.56259152,5.27405757 8.89105804,5.84887399 C8.48047489,6.4236904 7.91199386,7.44599454 7.91199386,8.18504421 C7.91199386,8.43139411 7.99411049,8.677744 8.07622712,8.92409389 C7.82987723,9.33467704 7.58352734,9.7452602 7.41929408,10.23796 L6.02331136,10.23796 C5.68058181,9.47306757 5.43423191,8.92562337 5.28426168,8.59562737 C4.88976112,7.98868731 3.62688117,8.42478715 3.80616233,9.25256041 C4.01922728,9.86947661 4.31987943,10.6207442 4.7081188,11.506363 C4.76164079,11.6284529 5.14605217,11.8802926 5.28223899,11.8802926 C5.611155,11.8802926 6.10452901,11.8802926 6.76236103,11.8802926 C6.6802444,12.2087591 6.51601114,12.5372256 6.43389451,12.9478088 C6.35177788,13.3583919 6.26966125,13.8510917 6.26966125,14.3437915 C5.91296428,14.3437915 5.64544155,14.3437915 5.46709307,14.3437915 C5.26928822,14.3437915 4.69604361,14.7846858 4.5420281,15.1658747 C4.18294938,16.0545958 3.93766079,16.6564788 3.80616233,16.9715237 C3.55317855,17.577624 4.99543131,18.2836587 5.28426168,17.6284567 C5.47681526,17.1916554 5.69579295,16.6442112 5.94119473,15.9861241 L6.43389451,15.9861241 C6.59812777,16.6430572 6.98489602,17.6182782 7.47759581,18.1930947 C8.31491201,19.2098358 11.4314385,20.3300491 12.0066732,20.5114278 C12.4388183,20.3340039 15.8240922,19.2259251 16.6746584,18.1930947 C17.0852416,17.6182782 17.3554064,16.6430572 17.6017563,15.9861241 L18.0944561,15.9861241 C18.4036037,16.7515884 18.6225814,17.2990326 18.7513891,17.6284567 C18.9446007,18.1225929 20.5487893,17.7750481 20.2294885,16.9715237 C20.0678657,16.564798 19.8238221,15.9619365 19.4973577,15.162939 C19.3938482,14.9096071 18.981754,14.3437915 18.6213335,14.3437915 C18.0511042,14.3437915 17.7659895,14.3437915 17.7659895,14.3437915 Z M9.23055977,10.1220554 C10.1749532,10.4189366 11.095853,10.5689503 11.9932592,10.5720967 C12.8906653,10.575243 13.8179867,10.4254807 14.7752233,10.1228099 C15.7584502,12.1016139 16.2186143,13.5457702 16.1557154,14.4552788 C16.0613672,15.8195416 15.5719302,17.6853475 12.0014002,18.9963434 C8.7651056,18.0334244 7.85192855,15.9667657 7.8588464,14.3845892 C7.8635108,13.3298048 8.32074859,11.9089602 9.23055977,10.1220554 Z M12.0178254,6.13212845 C13.4138081,6.13212845 14.4813243,7.03541138 14.4813243,8.18504421 C14.4813243,8.43139411 14.3161808,8.59705797 13.9819454,8.72612627 C13.0548384,8.9831843 12.3701492,9.11171331 11.927878,9.11171331 C11.4942385,9.11171331 10.8001619,8.94511494 9.84564811,8.61191821 C9.60291104,8.48866218 9.55432647,8.43139411 9.55432647,8.18504421 C9.55432647,7.03541138 10.6218427,6.13212845 12.0178254,6.13212845 Z" id="Shape" transform="translate(12.023963, 12.150451) rotate(-45.000000) translate(-12.023963, -12.150451) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="Icons-/-System-/-Carat-/-White-/-Default" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<polygon id="Triangle" fill="#FFFFFF" transform="translate(8.000000, 8.000000) scale(1, -1) rotate(90.000000) translate(-8.000000, -8.000000) " points="8 6 12 10 4 10"></polygon>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 685 B |
@@ -6,4 +6,4 @@
|
||||
<g id="Icons-/-System-/-Carat-/-White-/-Default" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<polygon id="Triangle" fill="#FFFFFF" transform="translate(8.000000, 8.000000) scale(1, -1) translate(-8.000000, -8.000000) " points="8 6 12 10 4 10"></polygon>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 667 B |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Default" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M13.69163,3.24686842 L8.01783965,6.52512131 L2.34404932,3.24686842 L8,0.481790242 L13.69163,3.24686842 Z M7.25035308,7.82264135 L7.25035308,14.7689324 L1.9912897,11.7236967 L1.9912897,4.79310939 L7.25035308,7.82264135 Z M14.0326515,11.6884321 L8.74360561,14.7769163 L8.74360561,7.8257203 L14.0024918,4.79949203 L14.0326515,11.6884321 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 911 B After Width: | Height: | Size: 912 B |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Editor-only---Default" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M15.0106107,3.46465838 L15.0106107,11.8997995 L8.00571081,15.9528982 L1.01027166,11.8997995 L1.00081095,3.40042968 L7.95794074,-8.8817842e-16 L15.0106107,3.46465838 Z M7.92315739,1.65703333 L3.46844121,3.83298685 L8.01053629,6.47424813 L12.4868614,3.86919729 L7.92315739,1.65703333 Z M7.25782502,13.7898805 L7.25782502,7.7557749 L2.49854198,4.99974138 L2.45867957,11.0093537 L7.25782502,13.7898805 Z M13.5431654,11.0400952 L13.5125169,5.00820731 L8.7617356,7.73667456 L8.7617356,13.818076 L13.5431654,11.0400952 Z" id="Combined-Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Not-active---Default" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0.221035452,3.0578346 L1.63524901,1.64362104 L14.3631711,14.3715431 L12.9489575,15.7857567 L0.221035452,3.0578346 Z M8.82584212,6.07154026 L4.78987504,2.06881544 L8,0.478222009 L13.6388498,3.2662946 L8.82584212,6.07154026 Z M7.25035308,8 L7.25035308,14.7480713 L2,11.7506476 L2,4.76554334 L7.25035308,8 Z M12.5522096,12.5834819 L8.76224473,14.7603092 C8.76224473,14.7603092 8.74784952,8.78866138 8.76224473,8.80319219 C8.77663993,8.817723 12.5522096,12.5834819 12.5522096,12.5834819 Z M9.89073807,7.16131429 L14,4.7973114 L14,11.2849265 L9.89073807,7.16131429 Z" id="Combined-Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-Preferences-/-Experimental" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M15.132336,4.99076918 C15.5178274,4.99076918 15.8485779,5.34903984 16.0413236,5.67028261 C16.2340693,5.99152539 16.201945,6.90832486 16.0413236,7.26169192 C15.7410536,7.67565898 15.559016,8.029019 15.4952109,8.32177196 C15.4376576,8.58583981 15.4590738,9.15831061 15.5594594,10.0391844 C17.8081589,11.0992855 19.0519645,13.4443578 18.9234674,15.9500515 C18.7979586,19.0877716 16.2512974,21.8956839 13.1394393,22.1143917 L12.9162275,22.1255798 L12.1999856,22.1255798 C8.79481215,22.1255798 6,19.0982307 6,15.660933 C6,13.3376593 7.08822219,11.2234803 9.09581042,10.1537076 L9.3226506,10.0391844 L9.16202921,8.06479886 L8.71228932,7.26169192 C8.55166793,6.90832486 8.64804077,5.99152539 8.84078643,5.67028261 C9.04316938,5.38116412 9.51285982,5.06205304 9.88579726,5.00112201 L10.0060269,4.99076918 L15.132336,4.99076918 Z M14.5477747,9.22030884 L10.3382049,9.22030884 L10.3087674,10.5056283 C10.3087674,10.5645034 10.2793298,10.6233785 10.2204547,10.6528161 C8.30701393,11.5065051 7.07063679,13.4199459 7.07063679,15.5394495 C7.07063679,18.5420797 9.54339107,20.9853965 12.5754588,20.8970838 C15.3720262,20.8382087 17.6681551,18.5715173 17.7859053,15.8043875 C17.9036555,13.6260087 16.6378408,11.5359426 14.6360874,10.6528161 C14.5919311,10.6307379 14.5643334,10.5921011 14.5532943,10.5493247 L14.5477747,10.5056283 L14.5477747,9.22030884 Z M16.248292,15.5813393 C16.4333656,15.5813393 16.5920002,15.6606566 16.6977565,15.792852 C16.8035128,15.9250474 16.856391,16.1101211 16.8299519,16.2951947 C16.6977565,17.00905 16.4069265,18.0137353 15.6930712,18.806908 C14.4693191,20.1581342 12.6801281,20.2309765 12.4827708,20.2344561 L12.4146244,20.2346187 C12.0973553,20.2346187 10.4581319,20.1553014 9.29481208,18.806908 C8.50163946,17.8815399 8.2108095,16.9297328 8.10505315,16.2951947 C8.07861407,16.1101211 8.10505315,15.9250474 8.23724859,15.792852 C8.32185367,15.6870957 8.44030078,15.6321024 8.57905311,15.6007985 L8.68671307,15.5813393 L16.248292,15.5813393 Z M13.525066,16.4273901 C12.9962843,16.4273901 12.5468198,16.8768546 12.5468198,17.4056363 C12.5203807,17.9344181 12.9698452,18.3838826 13.525066,18.3838826 C14.0538478,18.3838826 14.5033123,17.9344181 14.5033123,17.4056363 C14.5033123,16.8768546 14.0538478,16.4273901 13.525066,16.4273901 Z M10.5110101,16.5331465 C10.1144238,16.5331465 9.79715474,16.8239764 9.82359382,17.2205627 C9.82359382,17.5907099 10.1408629,17.907979 10.5110101,17.907979 C10.8811573,17.907979 11.1984264,17.5907099 11.1984264,17.2205627 C11.1984264,16.8504155 10.8811573,16.5331465 10.5110101,16.5331465 Z M11.0960618,12.7156002 C11.6351612,12.7156002 12.0891397,13.1695787 12.0891397,13.7086781 C12.0891397,14.2477775 11.6351612,14.701756 11.0960618,14.701756 C10.5569624,14.701756 10.1029839,14.2477775 10.1029839,13.7086781 C10.1029839,13.1695787 10.5569624,12.7156002 11.0960618,12.7156002 Z M12.4296236,10.4173342 C12.8268547,10.4173342 13.1389649,10.7294444 13.1389649,11.1266755 C13.1389649,11.5239067 12.8268547,11.8360169 12.4296236,11.8360169 C12.0323924,11.8360169 11.7202822,11.5239067 11.7202822,11.1266755 C11.7202822,10.7294444 12.0323924,10.4173342 12.4296236,10.4173342 Z M14.4300245,6.23718344 L10.39708,6.23718344 C10.1615796,6.23718344 9.95551678,6.35493364 9.83776658,6.5609965 C9.73964141,6.73271554 9.72328721,6.92487734 9.77166837,7.10341063 L9.80832903,7.20862262 L10.39708,8.09174915 L10.39708,8.60845497 L14.5919794,8.60845497 L14.5919794,8.09174915 L15.0187755,7.20862262 C15.1365257,7.00255976 15.1070882,6.76705935 14.989338,6.5609965 C14.8715878,6.35493364 14.6655249,6.23718344 14.4300245,6.23718344 Z M12.3728762,6.5763594 C12.7984811,6.5763594 13.1389649,6.91684325 13.1389649,7.34244807 C13.1389649,7.76805289 12.7984811,8.10853674 12.3728762,8.10853674 C11.9472714,8.10853674 11.6067876,7.76805289 11.6067876,7.34244807 C11.6067876,6.91684325 11.9472714,6.5763594 12.3728762,6.5763594 Z M14.9336824,2 C15.6430238,2 16.2388706,2.53909944 16.2388706,3.27681446 C16.2388706,4.01452947 15.6430238,4.58200257 14.9336824,4.58200257 C14.2243411,4.58200257 13.6284943,4.04290313 13.6284943,3.30518811 C13.6284943,2.56747309 14.2243411,2 14.9336824,2 Z" id="Combined-Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M62.399886,20.262032 C61.0656979,18.1619773 49.0033003,3.55271368e-15 32.0083577,3.55271368e-15 C15.013415,3.55271368e-15 2.9510174,18.1619773 1.54996795,20.262032 C-0.516655982,23.4470641 -0.516655982,27.7140347 1.54996795,30.9720066 C2.9510174,32.9991215 15.013415,50.9422798 32.0083577,50.9422798 C49.0033003,50.9422798 61.0656979,32.9991215 62.399886,30.9720066 C64.5333713,27.7140347 64.5333713,23.4470641 62.399886,20.262032 L62.399886,20.262032 Z M32.0083577,39.9435857 C24.6110597,39.9435857 18.6786333,33.5036209 18.6786333,25.4711399 C18.6786333,17.5115986 24.6110597,10.9986941 32.0083577,10.9986941 C32.7407935,10.9986941 33.4732293,11.0716338 34.141843,11.2175131 L34.141843,23.1553055 L45.1405371,23.1553055 C45.2712206,23.8786238 45.338082,24.6748819 45.338082,25.4711399 C45.338082,33.5036209 39.3387943,39.9435857 32.0083577,39.9435857 L32.0083577,39.9435857 Z" id="Shape" fill="#CCCCCC"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-Preferences-/-Files" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M13.2962399,3.13335417 L18.2960514,8.24860161 C18.3627285,8.31527869 18.4294056,8.44863286 18.4294056,8.58198703 L18.4294056,20.0693338 C18.4294056,20.3360421 18.2293743,20.5360733 17.962666,20.5360733 L5.46673959,20.5360733 C5.20003125,20.5360733 5,20.3360421 5,20.0693338 L5,3.60009376 C5,3.33338542 5.20003125,3.13335417 5.46673959,3.13335417 L12.9628545,3 C13.0962087,3 13.2295628,3.06667708 13.2962399,3.13335417 Z M12.3653715,3.59397103 L12.3653715,8.53188543 L17.1661216,8.53188543 L12.3653715,3.59397103 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-Preferences-/-Gizmos" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M6.86502068,4 L9.73004135,8.58403308 L7.8,8.584 L7.80040591,14.2915718 L13.529,8.734 L12.2862654,7.49156714 L17.5535418,6.27604181 L16.3380165,11.5433182 L14.899,10.104 L9.03878002,16.0668396 L15.416,16.066 L15.4167301,14.2699586 L20.0007632,17.1349793 L15.4167301,20 L15.416,17.886 L5.74037908,17.8867889 L5.734,8.584 L4,8.58403308 L6.86502068,4 Z" id="Combined-Shape" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 863 B After Width: | Height: | Size: 864 B |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-Preferences-/-Global" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M12.25,1.75 C17.7728475,1.75 22.25,6.2271525 22.25,11.75 C22.25,17.2728475 17.7728475,21.75 12.25,21.75 C6.7271525,21.75 2.25,17.2728475 2.25,11.75 C2.25,6.2271525 6.7271525,1.75 12.25,1.75 Z M17.6346248,10.3145575 C17.2053058,9.91488674 16.6370006,9.7677699 15.6608839,10.3145575 L15.6608839,10.3145575 L15.6608839,13.2012691 C15.550405,13.5386728 14.6216732,13.1358739 14.6216732,13.4883191 L14.6216732,13.4883191 L14.6216732,14.567113 C14.6216732,15.0390533 15.6355458,14.8699364 16.3487497,14.8699364 C16.7530744,15.0584944 16.6370006,15.8344238 16.6370006,16.0363455 C16.1866977,16.0363455 16.1993021,17.0865756 14.780126,17.0865756 C14.4756876,17.0865756 14.1296859,17.3993867 13.7421208,18.0250087 C13.3177103,18.1463871 13.0352023,18.1463871 12.8945966,18.0250087 C12.561961,17.7378598 12.6550325,17.676353 12.6550325,17.0865756 C12.2488007,16.9866214 11.5947429,16.9316702 10.692859,16.9217222 L10.692859,16.9217222 L10.692859,16.0363455 L10.692859,16.0363455 L9.62964036,16.0363455 C9.30155146,16.2242555 9.04472745,16.5743322 8.85916834,17.0865756 L8.85916834,17.0865756 L6.70965017,17.0865756 C6.70965017,18.0250087 7.76568328,17.7684909 7.76568328,18.7251619 C7.76568328,19.1146839 9.46713656,18.6062764 9.62964036,19.5162689 C9.79214415,20.4262614 12.6972983,20.3045592 14.6216732,19.792209 C18.3225516,18.8068781 20.1622591,15.8097905 20.5777733,13.8022972 C20.9932875,11.794804 20.7581948,11.1650932 19.8029029,11.1650932 L19.8029029,11.1650932 L18.6218506,11.1650932 C18.0142674,11.1650932 18.7907776,12.1519941 18.3640772,12.1519941 C17.9373768,12.1519941 17.6346248,12.2161827 17.6346248,11.4219889 L17.6346248,11.4219889 Z M11.884029,3.22149522 L11.5666567,3.22180544 C8.78938255,3.24693419 6.69008815,3.92569678 4.01012181,10.0550791 C4.01012181,10.5105578 4.10485251,10.9391326 4.43675709,11.0046279 C4.70901475,11.0583531 5.61081918,11.0046279 5.89106758,11.0046279 C6.5598621,11.0046279 6.70965017,11.0046279 6.70965017,11.980566 C6.70965017,12.5116924 7.74330017,12.7648028 7.74330017,13.4883191 C7.74330017,14.2118355 8.39193686,14.5254259 8.85916834,15.064306 L9.77029918,15.064306 L9.77029918,15.064306 L9.77029918,13.1563844 L9.77029918,13.1563844 C9.77029918,13.0058859 10.692859,13.0058859 11.1762072,13.0486998 C11.8026201,13.0486998 11.8026201,12.1994563 11.5045521,12.1386039 C10.9482761,12.0250367 9.77029918,12.1386039 9.77029918,11.6258055 L9.77029918,9.56869043 L9.77029918,9.56869043 C9.77029918,8.67817344 10.692859,9.48406144 10.692859,8.59354445 L10.692859,5.81552504 L10.692859,5.81552504 C10.692859,4.95824194 11.1473105,5.07998715 11.884029,5.07998715 C12.8945966,4.49838138 12.4823628,3.69439933 11.884029,3.22149522 Z M13.7678863,7.20993619 C12.8945966,7.02798047 12.3563523,7.02798047 11.650753,7.20993619 C11.4558185,7.61555617 11.4558185,7.87077109 11.650753,8.07735381 C12.8945966,8.06622635 13.7678863,8.30696316 13.7678863,9.01349437 C13.9523059,9.22228504 14.4086136,9.22228504 14.780126,9.01349437 C14.7447652,8.34876755 14.7447652,7.75669968 13.7678863,7.20993619 Z" id="Oval-6" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
@@ -5,4 +5,4 @@
|
||||
<rect id="Rectangle-18" fill-opacity="0" fill="#D8D8D8" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M14.305803,6.47369367 C14.6993916,6.6892261 15.0165548,7.03456112 15.1933492,7.4597408 L17.5370596,10.7388937 L19.7921887,13.1099302 L18.4539274,14.5962199 L15.9723802,11.9890965 L15.954824,12 L15.8519674,11.8625904 L15.6374341,11.6372009 L15.6640685,11.6115701 L14.6333027,10.2345359 L13.1304978,13.609891 L15.8553007,16 L15.8655889,16 L15.8655889,22 L13.8655889,22 L13.8655889,16.9335637 L10.9173755,14.4145916 L10.6541721,14.2974059 L9.2787337,17.3866912 L8.50557994,19.1359308 L2.86558888,15.6954658 L3.92542741,13.9993696 L7.607861,16.2223461 L8.82708121,13.4839327 L8.81118422,13.4768549 L10.9142284,8.75334034 L9.33753914,9.12452852 L7.74923941,12.0950967 L6,11.1254774 L8.00970689,7.42096143 L8,7.3871095 L13.0613105,6.24191249 L13.0627046,6.24907236 L13.1028472,6.24373869 L13.1028472,6.24373869 C13.5346882,6.19071527 13.9512538,6.27953958 14.305803,6.47369367 Z M15,2 C16.1045695,2 17,2.8954305 17,4 C17,5.1045695 16.1045695,6 15,6 C13.8954305,6 13,5.1045695 13,4 C13,2.8954305 13.8954305,2 15,2 Z" id="Combined-Shape" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M20.5374922,46.3066538 L20.5374922,50.0076402 C20.5374922,51.6072344 21.839993,52.9006775 23.4395872,52.9006775 C25.0391815,52.9006775 26.3326246,51.6072344 26.3326246,50.0076402 L26.3326246,46.3066538 C28.0608385,45.3012463 29.2347196,43.4480358 29.2347196,41.3104128 C29.2347196,38.1039782 26.6369641,35.5152804 23.4395872,35.5152804 C20.2331526,35.5152804 17.6444549,38.1039782 17.6444549,41.3104128 C17.6444549,43.4480358 18.8110898,45.3012463 20.5374922,46.3066538 L20.5374922,46.3066538 Z M6.04513238,58.7048676 L40.8249844,58.7048676 L40.8249844,29.720148 L6.04513238,29.720148 L6.04513238,58.7048676 Z M11.8402648,16.4706177 C11.8402648,10.9813094 17.0357757,6.53056076 23.4395872,6.53056076 C29.8433987,6.53056076 35.029852,10.9813094 35.029852,16.4706177 L35.029852,23.9159579 L11.8402648,23.9159579 L11.8402648,16.4706177 Z M40.8249844,17.8944549 C40.8249844,8.28420876 33.0425872,0.5 23.4395872,0.5 C13.8293411,0.5 6.04513238,8.28420876 6.04513238,17.8944549 L6.04513238,23.9159579 C2.8477555,23.9159579 0.25,26.5137134 0.25,29.7129018 L0.25,58.7048676 C0.25,61.9022445 2.8477555,64.5 6.04513238,64.5 L40.8249844,64.5 C44.031419,64.5 46.6291745,61.9022445 46.6291745,58.7048676 L46.6291745,29.7129018 C46.6291745,26.5137134 44.031419,23.9159579 40.8249844,23.9159579 L40.8249844,17.8944549 Z" fill="#CCCCCC"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Default---Saved" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M13.69163,3.24686842 L8.01783965,6.52512131 L2.34404932,3.24686842 L8,0.481790242 L13.69163,3.24686842 Z M7.25035308,7.82264135 L7.25035308,14.7689324 L1.9912897,11.7236967 L1.9912897,4.79310939 L7.25035308,7.82264135 Z M14.0326515,11.6884321 L8.74360561,14.7769163 L8.74360561,7.8257203 L14.0024918,4.79949203 L14.0326515,11.6884321 Z" id="Shape" fill="#4285F4" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 927 B After Width: | Height: | Size: 928 B |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/--Editor-only---Saved" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M15.0106107,3.46465838 L15.0106107,11.8997995 L8.00571081,15.9528982 L1.01027166,11.8997995 L1.00081095,3.40042968 L7.95794074,-8.8817842e-16 L15.0106107,3.46465838 Z M7.92315739,1.65703333 L3.46844121,3.83298685 L8.01053629,6.47424813 L12.4868614,3.86919729 L7.92315739,1.65703333 Z M7.25782502,13.7898805 L7.25782502,7.7557749 L2.49854198,4.99974138 L2.45867957,11.0093537 L7.25782502,13.7898805 Z M13.5431654,11.0400952 L13.5125169,5.00820731 L8.7617356,7.73667456 L8.7617356,13.818076 L13.5431654,11.0400952 Z" id="Combined-Shape" fill="#4285F4" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Default---Updated" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M13.69163,3.24686842 L8.01783965,6.52512131 L2.34404932,3.24686842 L8,0.481790242 L13.69163,3.24686842 Z M7.25035308,7.82264135 L7.25035308,14.7689324 L1.9912897,11.7236967 L1.9912897,4.79310939 L7.25035308,7.82264135 Z M14.0326515,11.6884321 L8.74360561,14.7769163 L8.74360561,7.8257203 L14.0024918,4.79949203 L14.0326515,11.6884321 Z" id="Shape" fill="#FF7B00" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 931 B After Width: | Height: | Size: 932 B |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/--Editor-only---Updated" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M15.0106107,3.46465838 L15.0106107,11.8997995 L8.00571081,15.9528982 L1.01027166,11.8997995 L1.00081095,3.40042968 L7.95794074,-8.8817842e-16 L15.0106107,3.46465838 Z M7.92315739,1.65703333 L3.46844121,3.83298685 L8.01053629,6.47424813 L12.4868614,3.86919729 L7.92315739,1.65703333 Z M7.25782502,13.7898805 L7.25782502,7.7557749 L2.49854198,4.99974138 L2.45867957,11.0093537 L7.25782502,13.7898805 Z M13.5431654,11.0400952 L13.5125169,5.00820731 L8.7617356,7.73667456 L8.7617356,13.818076 L13.5431654,11.0400952 Z" id="Combined-Shape" fill="#FF7B00" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/--error-/-Editor-only" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M15.0106107,3.46465838 L15.0106107,11.8997995 L8.00571081,15.9528982 L1.01027166,11.8997995 L1.00081095,3.40042968 L7.95794074,-8.8817842e-16 L15.0106107,3.46465838 Z M7.92315739,1.65703333 L3.46844121,3.83298685 L8.01053629,6.47424813 L12.4868614,3.86919729 L7.92315739,1.65703333 Z M7.25782502,13.7898805 L7.25782502,7.7557749 L2.49854198,4.99974138 L2.45867957,11.0093537 L7.25782502,13.7898805 Z M13.5431654,11.0400952 L13.5125169,5.00820731 L8.7617356,7.73667456 L8.7617356,13.818076 L13.5431654,11.0400952 Z" id="Combined-Shape" fill="#FF0000" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Not-active---Updated" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0.221035452,3.0578346 L1.63524901,1.64362104 L14.3631711,14.3715431 L12.9489575,15.7857567 L0.221035452,3.0578346 Z M8.82584212,6.07154026 L4.78987504,2.06881544 L8,0.478222009 L13.6388498,3.2662946 L8.82584212,6.07154026 Z M7.25035308,8 L7.25035308,14.7480713 L2,11.7506476 L2,4.76554334 L7.25035308,8 Z M12.5522096,12.5834819 L8.76224473,14.7603092 C8.76224473,14.7603092 8.74784952,8.78866138 8.76224473,8.80319219 C8.77663993,8.817723 12.5522096,12.5834819 12.5522096,12.5834819 Z M9.89073807,7.16131429 L14,4.7973114 L14,11.2849265 L9.89073807,7.16131429 Z" id="Combined-Shape" fill="#FF7B00" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-error-/--Not-active-" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0.221035452,3.0578346 L1.63524901,1.64362104 L14.3631711,14.3715431 L12.9489575,15.7857567 L0.221035452,3.0578346 Z M8.82584212,6.07154026 L4.78987504,2.06881544 L8,0.478222009 L13.6388498,3.2662946 L8.82584212,6.07154026 Z M7.25035308,8 L7.25035308,14.7480713 L2,11.7506476 L2,4.76554334 L7.25035308,8 Z M12.5522096,12.5834819 L8.76224473,14.7603092 C8.76224473,14.7603092 8.74784952,8.78866138 8.76224473,8.80319219 C8.77663993,8.817723 12.5522096,12.5834819 12.5522096,12.5834819 Z M9.89073807,7.16131429 L14,4.7973114 L14,11.2849265 L9.89073807,7.16131429 Z" id="Combined-Shape" fill="#FF0000" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -6,4 +6,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Loop-v2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M13.69163,3.24686842 L8.01783965,6.52512131 L2.34404932,3.24686842 L8,0.481790242 L13.69163,3.24686842 Z M7.25035308,7.82264135 L7.25035308,14.7689324 L1.9912897,11.7236967 L1.9912897,4.79310939 L7.25035308,7.82264135 Z M14.0326515,11.6884321 L8.74360561,14.7769163 L8.74360561,7.8257203 L14.0024918,4.79949203 L14.0326515,11.6884321 Z" id="Shape" fill="#FF0000" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 894 B |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-entity-/-Not-active---Saved" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0.221035452,3.0578346 L1.63524901,1.64362104 L14.3631711,14.3715431 L12.9489575,15.7857567 L0.221035452,3.0578346 Z M8.82584212,6.07154026 L4.78987504,2.06881544 L8,0.478222009 L13.6388498,3.2662946 L8.82584212,6.07154026 Z M7.25035308,8 L7.25035308,14.7480713 L2,11.7506476 L2,4.76554334 L7.25035308,8 Z M12.5522096,12.5834819 L8.76224473,14.7603092 C8.76224473,14.7603092 8.74784952,8.78866138 8.76224473,8.80319219 C8.77663993,8.817723 12.5522096,12.5834819 12.5522096,12.5834819 Z M9.89073807,7.16131429 L14,4.7973114 L14,11.2849265 L9.89073807,7.16131429 Z" id="Combined-Shape" fill="#4285F4" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -10,4 +10,4 @@
|
||||
<path d="M11.9999166,9.73463536 C13.6052347,11.1311262 14.1508753,12.7679159 14.257424,13.505867 C13.6491663,13.505867 8.62210474,13.5009029 8.19563964,13.505867 C8.19563964,12.3483124 8.19563964,9.55037517 8.19563964,8.0672756 C8.34990272,8.0672756 10.2176801,8.18424048 11.9999166,9.73463536 Z" id="Triangle-2" transform="translate(11.226532, 10.786571) rotate(90.000000) translate(-11.226532, -10.786571) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-slice-/--Editor-only---Saved" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M7.25368097,13.5611291 L7.25368097,7.25189338 L13.5608912,7.25189338 C13.195151,4.50707896 10.8448497,2.38966546 8,2.38966546 C4.90149779,2.38966546 2.38966546,4.90149779 2.38966546,8 C2.38966546,10.8454672 4.50799833,13.1961713 7.25368097,13.5611291 Z M13.5603854,8.75189338 L8.75368097,8.75189338 L8.75368097,13.5601456 C11.2498679,13.2249873 13.2260107,11.2483286 13.5603854,8.75189338 Z M8,15.0527342 C4.10488248,15.0527342 0.947265844,11.8951175 0.947265844,8 C0.947265844,4.10488248 4.10488248,0.947265844 8,0.947265844 C11.8951175,0.947265844 15.0527342,4.10488248 15.0527342,8 C15.0527342,10.4066867 13.8472615,12.5318201 12.0071807,13.8045357 C10.8691709,14.5916549 9.48843085,15.0527342 8,15.0527342 Z" id="Combined-Shape" fill="#4285F4"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -10,4 +10,4 @@
|
||||
<path d="M11.9999166,9.73463536 C13.6052347,11.1311262 14.1508753,12.7679159 14.257424,13.505867 C13.6491663,13.505867 8.62210474,13.5009029 8.19563964,13.505867 C8.19563964,12.3483124 8.19563964,9.55037517 8.19563964,8.0672756 C8.34990272,8.0672756 10.2176801,8.18424048 11.9999166,9.73463536 Z" id="Triangle-2" transform="translate(11.226532, 10.786571) rotate(90.000000) translate(-11.226532, -10.786571) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -7,4 +7,4 @@
|
||||
<g id="icon-/-outliner-/-slice-/--Editor-only---Updated" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M7.25368097,13.5611291 L7.25368097,7.25189338 L13.5608912,7.25189338 C13.195151,4.50707896 10.8448497,2.38966546 8,2.38966546 C4.90149779,2.38966546 2.38966546,4.90149779 2.38966546,8 C2.38966546,10.8454672 4.50799833,13.1961713 7.25368097,13.5611291 Z M13.5603854,8.75189338 L8.75368097,8.75189338 L8.75368097,13.5601456 C11.2498679,13.2249873 13.2260107,11.2483286 13.5603854,8.75189338 Z M8,15.0527342 C4.10488248,15.0527342 0.947265844,11.8951175 0.947265844,8 C0.947265844,4.10488248 4.10488248,0.947265844 8,0.947265844 C11.8951175,0.947265844 15.0527342,4.10488248 15.0527342,8 C15.0527342,10.4066867 13.8472615,12.5318201 12.0071807,13.8045357 C10.8691709,14.5916549 9.48843085,15.0527342 8,15.0527342 Z" id="Combined-Shape" fill="#FF7B00"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -13,4 +13,4 @@
|
||||
<rect id="Rectangle-22-Copy-2" transform="translate(7.409295, 7.712904) rotate(-45.000000) translate(-7.409295, -7.712904) " x="6.40929495" y="-1.28709556" width="2" height="18"></rect>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -13,4 +13,4 @@
|
||||
<rect id="Rectangle-22-Copy-2" transform="translate(7.409295, 7.712904) rotate(-45.000000) translate(-7.409295, -7.712904) " x="6.40929495" y="-1.28709556" width="2" height="18"></rect>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -8,4 +8,4 @@
|
||||
<path d="M3.77906954,9.55094715 L2.9818592,12.0518151 L6.15475936,12.0518151 L5.96862363,14.2062037 L0.856386372,14.2062037 L2.3791766,9.55094715 L3.77906954,9.55094715 Z M17.3251321,9.73403193 L19.1419514,14.2062037 L14.0297142,14.2062037 L13.5495493,12.2348998 L16.7224495,12.2348998 L15.9252392,9.73403193 L17.3251321,9.73403193 Z M13.5187207,6.64514611 L14.7725461,11.2589534 L5.06685425,11.2589534 L6.15727307,6.64514611 L13.5187207,6.64514611 Z M7.51660873,4.46244382 L7.15148167,5.58633129 L4.82105884,5.58633129 L4.28279801,7.10253223 L3.27175476,7.10253223 L4.31626264,4.46244382 L7.51660873,4.46244382 Z M15.5109385,4.55262612 L16.3797351,7.10253223 L15.3686919,7.10253223 L14.830431,5.58633129 L12.5000082,5.58633129 L12.3105924,4.55262612 L15.5109385,4.55262612 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |