minor usability updates

This commit is contained in:
turanszkij
2016-10-25 21:42:52 +02:00
parent e9a391351e
commit dd5603367d
5 changed files with 44 additions and 33 deletions
+37 -31
View File
@@ -117,13 +117,19 @@ void BeginTranslate()
translator_active = true;
translator->Clear();
XMVECTOR centerV = XMVectorSet(0, 0, 0, 0);
float count = 0;
set<Transform*> uniqueTransforms;
for (auto& x : selected)
{
if (x->transform != nullptr)
uniqueTransforms.insert(x->transform);
}
XMVECTOR centerV = XMVectorSet(0, 0, 0, 0);
float count = 0;
for (auto& x : uniqueTransforms)
{
if (x != nullptr)
{
centerV = XMVectorAdd(centerV, XMLoadFloat3(&x->transform->translation));
centerV = XMVectorAdd(centerV, XMLoadFloat3(&x->translation));
count += 1.0f;
}
}
@@ -695,43 +701,42 @@ void EditorComponent::Update()
{
wiRenderer::Picked* picked = new wiRenderer::Picked(hovered);
if (!selected.empty() && wiInputManager::GetInstance()->down(VK_LSHIFT))
if (picked->transform != nullptr)
{
list<wiRenderer::Picked*>::iterator it = selected.begin();
for (; it != selected.end(); ++it)
if (!selected.empty() && wiInputManager::GetInstance()->down(VK_LSHIFT))
{
if ((*it) == picked)
list<wiRenderer::Picked*>::iterator it = selected.begin();
for (; it != selected.end(); ++it)
{
break;
if ((*it) == picked)
{
break;
}
}
if (it == selected.end() && picked->transform != nullptr)
{
selected.push_back(picked);
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
}
else
{
EndTranslate();
selected.erase(it);
savedParents.erase((*it)->transform);
}
}
if (it==selected.end() && picked->transform != nullptr)
{
selected.push_back(picked);
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
}
else
{
EndTranslate();
selected.erase(it);
savedParents.erase((*it)->transform);
ClearSelected();
selected.push_back(picked);
if (picked->transform != nullptr)
{
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
}
}
}
else
{
EndTranslate();
ClearSelected();
selected.push_back(picked);
if (picked->transform != nullptr)
{
savedParents.insert(pair<Transform*, Transform*>(picked->transform, picked->transform->parent));
}
}
objectWnd->SetObject(picked->object);
if (picked->transform != nullptr)
{
EndTranslate();
if (picked->object != nullptr)
@@ -766,7 +771,6 @@ void EditorComponent::Update()
decalWnd->SetDecal(picked->decal);
BeginTranslate();
}
else
{
@@ -776,6 +780,8 @@ void EditorComponent::Update()
EndTranslate();
ClearSelected();
}
objectWnd->SetObject(picked->object);
}
// Delete
+1 -1
View File
@@ -24,7 +24,7 @@ wiInputManager::wiInputManager()
while (true)
{
Update();
Sleep(10);
Sleep(1);
}
}).detach();
+4
View File
@@ -1240,6 +1240,10 @@ Transform* wiRenderer::getTransformByName(const string& get)
//}
return GetScene().GetWorldNode()->find(get);
}
Transform* wiRenderer::getTransformByID(unsigned long long id)
{
return GetScene().GetWorldNode()->find(id);
}
Armature* wiRenderer::getArmatureByName(const string& get)
{
for (Model* model : GetScene().models)
+1
View File
@@ -339,6 +339,7 @@ public:
static wiWaterPlane GetWaterPlane();
static Transform* getTransformByName(const string& name);
static Transform* getTransformByID(unsigned long long id);
static Armature* getArmatureByName(const string& get);
static int getActionByName(Armature* armature, const string& get);
static int getBoneByName(Armature* armature, const string& get);
+1 -1
View File
@@ -7,7 +7,7 @@ namespace wiVersion
// minor features, major updates
const int minor = 9;
// minor bug fixes, alterations, refactors, updates
const int revision = 27;
const int revision = 28;
long GetVersion()