Estoy tratando de controlar mediante spinner las subdivisiones del sampling de una serie de luces Vray. Para ello recorro las luces que tengo seleccionadas y género dinámicamente tantos spinner como luces tenga en selección. A su vez al value de cada spinner le asigno el valor actual del parámetro de subdivisiones que tiene cada luz Vray. El problema lo tengo a la hora del feedback, porque cuando modifico los valores con los spinner sólo me afecta a la última luz seleccionada y encima todos los spiners afectan a la última luz que haya seleccionado, mientras que al resto de luces no.
El esquema sería (para 2 luces, e).
Primero selecciono las 2 luces con lo que mi selección actual sería.
Vraylight00, vraylight01.
Ahora género mis spinner:
Spin_1 con su valor.
Spin_2 con su valor.
Cuando modifico ambos spinner sólo se me afectada la luz vraylight01 por ser la última luz en la pila o array de selección.
Mi duda es: ¿cómo puedo hacer que un handler sepa que spinner estoy afectando? Y así poder modificar el parámetro de la luz correspondiente.
Aquí pongo el código de esta sección:
For obj in sel_actual do ( mat_sel = append mat_sel obj ) – Del for samp = utcreator sampling sampling height:400 samp, begin() t – Colocamos justo encima el nombre de subdivisiones local nomlabel = (label_) as name samp, addcontrol #label nomlabel nombre subdivisiones paramstr offset:[95,0] width:300 height:15) t – Espacio local nomlabel = (espacio_) as name samp, addcontrol #label nomlabel – Paramstr offset:[90,-5] width:300 height:15) t – Bucle que genera los spinner necesarios en función de las luces seleccionadas for i = 1 todo mat_sel, count do (t – Variables de control de parámetros de los spiners nomspin = (spin_+ (i as string)) as name nomluz = (mat_sel[i].name + : ) as name valspin =(mat_sel[i].subdivisiones) as string nomobj = mat_sel[i] t samp, addcontrol #spinner nomspin nomluz paramstr type:#integer range:[0,100, + valspin + ] fieldwidth:40 align:#center)\ t samp, addhandler nomspin #changed valspin filter:on \ codestr nomobj.subdivisiones= valspin)\ t ) – Del for t samp, end() addsubrollout vrayluces.child sampling. Muchas gracias por anticipado.