SetRotation

Rotates an entity with the specified euler rotation, in local or global space.

Syntax

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;
}