Plane

This function transforms a plane from one space to another.

Syntax

Parameters

Returns

Returns the transformed plane.

Remarks

Due to the ambiguity of this command (the function and class of one member are both called "Plane") the function should always be called so that the individual components of the input plane are specific, when programming in Lua script. Use the third and fourth overloads of the function shown above in Lua.

Example

#include "Leadwerks.h"

using namespace Leadwerks;

Model* model = NULL;

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->Move(0, 0, -3);
Light* light = DirectionalLight::Create();
light->SetRotation(35, 35, 0);

//Create a model
model = Model::Box();
model->SetColor(0.0, 0.0, 1.0);
model->SetPosition(3, 0, 0);

while (true)
{
//Close the window to end the program
if (window->KeyHit(Key::Escape) || window->Closed()) return false;

Leadwerks::Time::Update();
world->Update();
world->Render();

//We're going to transform the plane (1,0,0,0) from global space to the model's local space
//Because the model is positioned at (3,0,0) the plane will be at (1,0,0,3) in local space (relative to the model).
Plane p = Plane(1, 0, 0, 0);
p = Transform::Plane(p, NULL, model);

context->SetBlendMode(Blend::Alpha);
context->DrawText(p.ToString(), 2, 2);
context->SetBlendMode(Blend::Solid);

context->Sync(false);
}
return 0;
}