From f281103ca1b0a9c0f7c7c24b7a1f94c8b22bb666 Mon Sep 17 00:00:00 2001 From: andreja6 Date: Sun, 29 Apr 2018 11:40:35 -0700 Subject: [PATCH] Rotation and Selection --- main.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/main.cpp b/main.cpp index 9ce564e..c9fa0d1 100644 --- a/main.cpp +++ b/main.cpp @@ -285,6 +285,27 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button) } +class RotateButtonListener : public ButtonListener { +public: + void onButton1MouseClick(BaseButtonInstance*); +}; + +void RotateButtonListener::onButton1MouseClick(BaseButtonInstance* button) +{ + if(selectedInstance != NULL) + { + if(selectedInstance->className == "Part") + { + PhysicalInstance* part = (PhysicalInstance*) selectedInstance; + if(button->name == "Tilt") + part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(toRadians(90),0,0)); + else if(button->name == "Rotate") + part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(0,toRadians(90),0)); + } + } + +} + void deleteInstance() { @@ -566,6 +587,8 @@ void initGUI() instance->size = Vector2(30,30); instance->position = Vector2(10, 175); instance->parent = dataModel; + instance->name = "Rotate"; + instance->setButtonListener(new RotateButtonListener()); instance = makeImageButton( Texture::fromFile(GetFileInPath("/content/images/SelectionTilt.png")), @@ -575,6 +598,8 @@ void initGUI() instance->size = Vector2(30,30); instance->position = Vector2(40, 175); instance->parent = dataModel; + instance->name = "Tilt"; + instance->setButtonListener(new RotateButtonListener()); instance = makeImageButton(