include("Data/Scenes/putBalls.snf");
include("Data/Scenes/touchColors.snf");
include("Data/Scenes/cutThreads.snf");
include("Data/Scenes/aros.snf");
include("Data/Scenes/followPath.snf");

include("Data/Scenes/stepsExample.snf");

// Prueba para accesar posiciones invalidas de memoria.
ls = ((0,0), (1,1));
def f() {
 s1 = ls.get(0);
 s2 = s1.get(0);
}
f();

ls = (true)  && (false);

scene = Group(
			rotate(-75, 1, 0, 0),
			rotate(30, 0, 0, 1),
			Model("Data/Models/silla06.obj")
			);

// solucionar el problema cuando la lista tiene un solo elemento,
// el metodo get no funciona...

/*
// Prueba para verificar que la deteccion de colisiones funcione bien..
Material("Data/Models/Basic.mtl");

model1Path = "Data/Models/cube.obj";
model2Path = "Data/Models/sphere.obj";

model1 = Model(model1Path);
model2 = Model(model2Path);

scene = 
	Group(
		Group(
			scale(0.5, 0.5, 0.5), 
			model1
		),
		Group(
			translate(0,0,0),
			model2
		)
	);

def check() {
  if (collisionDetection(model1, model2)) 
    model2.setMaterial(getMaterial("Green"));
  else
    model2.setMaterial(getMaterial("Red"));
}
Timer(10, -1, check(), check());


def moveA() {
  scene.get(1).get(0).setX(scene.get(1).get(0).getX() - 0.1);
}
def moveD() {
  scene.get(1).get(0).setX(scene.get(1).get(0).getX() + 0.1);
}

def moveW() {
  scene.get(1).get(0).setY(scene.get(1).get(0).getY() + 0.1);
}
def moveS() {
  scene.get(1).get(0).setY(scene.get(1).get(0).getY() - 0.1);
}

def moveR() {
  scene.get(1).get(0).setZ(scene.get(1).get(0).getZ() - 0.1);
}
def moveF() {
  scene.get(1).get(0).setZ(scene.get(1).get(0).getZ() + 0.1);
}

setKeyFunc("A", moveA());
setKeyFunc("D", moveD());
setKeyFunc("W", moveW());
setKeyFunc("S", moveS());
setKeyFunc("R", moveR());
setKeyFunc("F", moveF());
*/
