Escena::Escena(){ agregar(new Lata()); agregar(MAT_Traslacion(2,1.5,3)); agregar(new MaterialPeonBlanco()); agregar(new MallaRevol("../plys/peon.ply",50,false)); agregar(MAT_Traslacion(2,0,0)); agregar(new MaterialPeonMadera()); agregar(new MallaRevol("../plys/peon.ply",50,true)); agregar(MAT_Traslacion(2,0,0)); agregar(new MaterialPeonNegro()); agregar(new MallaRevol("../plys/peon.ply",50,false)); }
Lata::Lata(){ agregar(MAT_Escalado(5,5,5)); agregar(new MaterialLata()); agregar(new MallaRevol("../plys/lata-pcue.ply",50,true)); agregar(new MaterialTapasLata()); agregar(new MallaRevol("../plys/lata-pinf.ply",50,false)); agregar(MAT_Traslacion(0,0.03,0)); agregar(new MallaRevol("../plys/lata-psup.ply",50,false)); }
Flor::Flor(){ agregar(MAT_Escalado(0,0,0)); agregar(MAT_Traslacion(0.0,7.0,0.0)); agregar(new MallaPLY("../plys/flower.ply")); }
Alas::Alas(){ agregar(MAT_Traslacion(0.0,2.0,0.0)); agregar(MAT_Escalado(0,0,0)); agregar(new MallaPLY("../plys/butterfly.ply")); }
Cuerpo::Cuerpo(){ agregar(MAT_Traslacion(0.0,2.0,0.0)); agregar(MAT_Escalado(0.05,0.05,0.05)); agregar(new MallaPLY("../plys/ant.ply")); }
void Mariposa::fijarVuelta(float alpha_nuevo, float angulo_nuevo){ alpha = alpha_nuevo; *(entradas[2].matriz) = MAT_Traslacion((cos(alpha_nuevo)+sin(alpha_nuevo)),0,(-sin(alpha_nuevo)+cos(alpha_nuevo))); *(entradas[3].matriz) = MAT_Rotacion(angulo_nuevo,0,1,0); }
void Mariposa::mueveDerecha(float i){ *(entradas[4].matriz) = MAT_Traslacion(i,1.0,1.0); }