implement action for transform keys
This commit is contained in:
@@ -53,7 +53,10 @@ namespace Noggit
|
|||||||
eRMB = 0x20,
|
eRMB = 0x20,
|
||||||
eMMB = 0x40,
|
eMMB = 0x40,
|
||||||
eSCROLL = 0x80,
|
eSCROLL = 0x80,
|
||||||
eNUM = 0x100
|
eNUM = 0x100,
|
||||||
|
eSCALE = 0x200,
|
||||||
|
eROTATE = 0x400,
|
||||||
|
eTRANSLATE = 0x800
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ActionObjectTypes
|
enum class ActionObjectTypes
|
||||||
|
|||||||
@@ -3429,6 +3429,12 @@ void MapView::tick (float dt)
|
|||||||
action_modality |= Noggit::ActionModalityControllers::eRMB;
|
action_modality |= Noggit::ActionModalityControllers::eRMB;
|
||||||
if (MoveObj)
|
if (MoveObj)
|
||||||
action_modality |= Noggit::ActionModalityControllers::eMMB;
|
action_modality |= Noggit::ActionModalityControllers::eMMB;
|
||||||
|
if (keys)
|
||||||
|
action_modality |= Noggit::ActionModalityControllers::eSCALE;
|
||||||
|
if (keyr)
|
||||||
|
action_modality |= Noggit::ActionModalityControllers::eROTATE;
|
||||||
|
// if (keyx != 0 || keyy != 0 || keyz != 0)
|
||||||
|
// action_modality |= Noggit::ActionModalityControllers::eTRANSLATE;
|
||||||
|
|
||||||
NOGGIT_ACTION_MGR->endActionOnModalityMismatch(action_modality);
|
NOGGIT_ACTION_MGR->endActionOnModalityMismatch(action_modality);
|
||||||
|
|
||||||
@@ -3519,14 +3525,15 @@ void MapView::tick (float dt)
|
|||||||
|
|
||||||
if (keys != 0.f)
|
if (keys != 0.f)
|
||||||
{
|
{
|
||||||
NOGGIT_ACTION_MGR->beginAction(this, Noggit::ActionFlags::eOBJECTS_TRANSFORMED);
|
NOGGIT_ACTION_MGR->beginAction(this, Noggit::ActionFlags::eOBJECTS_TRANSFORMED,
|
||||||
|
Noggit::ActionModalityControllers::eSCALE);
|
||||||
_world->scale_selected_models(keys*numpad_moveratio / 50.f, World::m2_scaling_type::add);
|
_world->scale_selected_models(keys*numpad_moveratio / 50.f, World::m2_scaling_type::add);
|
||||||
// NOGGIT_ACTION_MGR->endAction();
|
|
||||||
_rotation_editor_need_update = true;
|
_rotation_editor_need_update = true;
|
||||||
}
|
}
|
||||||
if (keyr != 0.f)
|
if (keyr != 0.f)
|
||||||
{
|
{
|
||||||
NOGGIT_ACTION_MGR->beginAction(this, Noggit::ActionFlags::eOBJECTS_TRANSFORMED);
|
NOGGIT_ACTION_MGR->beginAction(this, Noggit::ActionFlags::eOBJECTS_TRANSFORMED,
|
||||||
|
Noggit::ActionModalityControllers::eROTATE);
|
||||||
_world->rotate_selected_models( math::degrees(0.f)
|
_world->rotate_selected_models( math::degrees(0.f)
|
||||||
, math::degrees(keyr * numpad_moveratio * 5.f)
|
, math::degrees(keyr * numpad_moveratio * 5.f)
|
||||||
, math::degrees(0.f)
|
, math::degrees(0.f)
|
||||||
|
|||||||
@@ -937,9 +937,11 @@ void World::rotate_selected_models(math::degrees rx, math::degrees ry, math::deg
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
math::degrees::vec3& dir = obj->dir;
|
// math::degrees::vec3& dir = obj->dir;
|
||||||
dir += dir_change;
|
// dir += dir_change;
|
||||||
}
|
}
|
||||||
|
math::degrees::vec3& dir = obj->dir;
|
||||||
|
dir += dir_change;
|
||||||
|
|
||||||
obj->recalcExtents();
|
obj->recalcExtents();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user