SetRotation
Rotates an entity with the specified euler rotation, in local or global space.
Syntax
- virtual void SetRotation(const float pitch, const float yaw, const float roll, const bool global=false)
- void SetRotation(const Vec3& rotation, const bool global=false)
- void SetRotation(const Quat& rotation, const bool global=false)
Remarks
Rotations use the left-handed rotation rule. To predict the direction of positive rotation, curl your fingers on your left hand and point your thumb in the direction of the rotational axis. Your fingers will curl in the direction of positive rotation along that axis.
Using the left-hand rule we can determine that positive rotation around the X axis will pitch an object down. Positive rotation around the Y axis will turn an object to the right. Positive rotation around the Z axis will roll an object to the left.
Example
#include "Leadwerks.h"
using namespace Leadwerks;
Entity* entity = NULL;
Vec3 rotation;
int main(int argc, const char *argv[])
{
    Leadwerks::Window* window = Leadwerks::Window::Create();
    Context* context = Context::Create(window);
    World* world = World::Create();
    Camera* camera = Camera::Create();
    camera->SetRotation(35,0,0);
camera->Move(0,0,-6);
Light* light = DirectionalLight::Create();
light->SetRotation(35,35,0);
//Create a model
entity = Model::Box();
entity->SetColor(0.0,0.0,1.0);
    while (true)
    {
        if (window->Closed() || window->KeyDown(Key::Escape)) return false;
rotation.y += Leadwerks::Time::GetSpeed();
entity->SetRotation(rotation);
Leadwerks::Time::Update();
world->Update();
world->Render();
context->SetBlendMode(Blend::Alpha);
context->DrawText("Rotation: "+entity->GetRotation().ToString(),2,2);
context->Sync();
    }
    return 0;
}