Después de algunas dificultades creo que lo he conseguido. Como vereis lo he reescrito todo siguiendo vuestras indicaciones y estoy satisfecho con el resultado. Quiero agradeceros la ayuda.
Espero que pronto pueda poner el slider que me gustaria y conseguir que la ventana sea rowLayout en vez de columnLayout, pero no me deja cambiarla. Me dice:" Too many children in layout" y no se a que se refiere.
Un saludo
Código:
/////////////////////////////////////////////////
// ///
// vertexAlignTool ///
// ///
// by JOSICH ///
// ///
// Gracias a los usuarios de CG node, ///
// especialmente a Fog y Larry por sus ///
// indicaciones, sin ellas este script ///
// seria una autentica chapuza. ///
/////////////////////////////////////////////////
drawUI; //crea la ventana de herramienta
proc drawUI ()
{
if (`window -ex myWin`==1) {deleteUI myWin;}
windowPref -enableAll false;
window -t "Vertex Align Tool" -wh 200 100 myWin;
columnLayout;
button -l "X" -c "align(0, 1, 1)"; //constriccion al eje X
button -l "Y" -c "align(1,0,1)"; //constriccion al eje Y
button -l "Z" -c "align(1,1,0)"; //constriccion al eje Z
showWindow myWin;
}
proc align(float $constX, float $constY, float $constZ) //funcion de recolocacion de vertices
{
string $vertexSelected[]=`ls -sl`;
int $numVertex=`size ($vertexSelected)`;
if (!$numVertex) // si no se selecciona ningun vertice manda error
{
confirmDialog
-t "Error"
-m "select at least two vertex"
-b "OK";
}
else
{
float $vertexPosition[]=`pointPosition -w $vertexSelected[0]`;
scale -p $vertexPosition[0] $vertexPosition[1] $vertexPosition[2] $constX $constY $constZ;
}
}