Si tiene algo de truquillo el asunto.<div><br></div><div>Cuando lo tengas andando si quieres lo metemos en la clase component [1]</div><div>Así tenemos todo bien estructurado.</div><div><br></div><div>[1] <a href="http://jderobot.org/apidoc/jderobot/5.0/doc/html/classjderobotice_1_1Component.html">http://jderobot.org/apidoc/jderobot/5.0/doc/html/classjderobotice_1_1Component.html</a><br>
<div><br></div><div>PD: Esto de la documentación en linea da juego... ;)</div><div><br><div class="gmail_quote">2010/3/19 Juan Gonzalez <span dir="ltr"><<a href="mailto:juan@iearobotics.com">juan@iearobotics.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!!!!!!<br>
<br>
It is starting to work!!<br>
<br>
Obijuan palomo<br>
<br>
<br>
El vie, 19-03-2010 a las 09:42 +0100, Juan Gonzalez escribió:<br>
<div><div></div><div class="h5">> Hola,<br>
><br>
> Bueno, leyendo el manual, he conseguido solucionar mis problemas de<br>
> compilación. Ya he conseguido hacer el mapeo entre las articulaciones<br>
> del servidor (JointI) y asignarlas a JointSeq. El exorcismo en cuestión<br>
> es este:<br>
><br>
> JointIPtr j1 = new JointI(pcontroller);<br>
> JointPrx proxy = JointPrx::uncheckedCast(adapter->addWithUUID(j1));<br>
> _JointSeq.push_back(proxy);<br>
><br>
> Ahora compila, pero me sale un bonito<br>
><br>
> /usr/include/IceUtil/Handle.h:46: IceUtil::NullHandleException<br>
><br>
> en tiempo de ejecución al acceder desde el cliente a las articulaciones.<br>
><br>
> Se me ha debido pasar algo por alto.... seguiré probando. Pero al menos,<br>
> conseguir que me compilase ha sido todo un logro :-)<br>
><br>
> os seguiré informando<br>
><br>
> Saludos, Juan<br>
><br>
> El vie, 19-03-2010 a las 09:35 +0100, Juan Gonzalez escribió:<br>
> > Hola David,<br>
> ><br>
> > Gracias por la info. Creo que voy a tener que dedicar un más poco de<br>
> > tiempo a la lectura del manual para familiarizarme con toda la<br>
> > terminología de ICE.<br>
> ><br>
> > Me emocioné implementando la interfaz de Joint y pensé que JointsArray<br>
> > me llevaría menos tiempo. Me voy a documentar y luego volveré a la<br>
> > carga ;-)<br>
> ><br>
> > Saludos, Juan<br>
> ><br>
> > El jue, 18-03-2010 a las 13:43 -0400, David Lobato escribió:<br>
> > > Mirate el ejemplo del manual del Filesystem, declaran una secuencia<br>
> > > con la misma pinta.<br>
> > > EL asunto es que tienes que crear las instancias de los Joints,<br>
> > > añadirlas al object adapter y una vez echado a andar preguntar al<br>
> > > object adapter por los proxys de cada una de las instancias.<br>
> > ><br>
> > ><br>
> > > El tema concreto es servant locator.<br>
> > ><br>
> > ><br>
> > > David.<br>
> > ><br>
> > > 2010/3/18 Juan Gonzalez <<a href="mailto:juan@iearobotics.com">juan@iearobotics.com</a>><br>
> > > Hola,<br>
> > ><br>
> > > Todavía estoy muy verde con el ICE y tampoco soy un<br>
> > > programador en C++<br>
> > > experimentado, por lo que estoy encontrando problemas para<br>
> > > implementar<br>
> > > el servidor de jointsArray. Necesito algo de luz ;-)<br>
> > ><br>
> > > De momento, estoy trabajando con esta interfaz:<br>
> > ><br>
> > > module jderobot {<br>
> > ><br>
> > > interface Joint {<br>
> > > idempotent void setPos(short pos);<br>
> > > idempotent short getPos();<br>
> > > };<br>
> > ><br>
> > > sequence<Joint*> JointSeq;<br>
> > ><br>
> > > interface JointsArray{<br>
> > > JointSeq getJoints();<br>
> > > };<br>
> > ><br>
> > > };<br>
> > ><br>
> > > La Interfaz "Joint" la tengo implementada y funciona bien. Mis<br>
> > > problemas<br>
> > > aparecen cuando intento implementar la función getJoints() de<br>
> > > la<br>
> > > interfaz "JointsArray". No sé cómo crear los elementos de<br>
> > > JointSeq.<br>
> > ><br>
> > > Según he leido en el manual de ice, el mapeo de esto:<br>
> > ><br>
> > > sequence<Joint*> JointSeq<br>
> > ><br>
> > > a c++ debería ser:<br>
> > ><br>
> > > vector<Joint*> JointSeq<br>
> > ><br>
> > > Desde aquí tendría fácil acceso a Joint en el servidor. Pero<br>
> > > como Joint<br>
> > > es a su vez una interfaz, el mapeo que hace es:<br>
> > ><br>
> > > typedef ::std::vector< ::jderobot::JointPrx> JointSeq;<br>
> > ><br>
> > > Y ahí ya estoy perdido. Ni idea de cómo puedo acceder a<br>
> > > Joint :-(<br>
> > ><br>
> > > ¿Alguien me arroja luz?<br>
> > ><br>
> > > Mientras tanto voy a seguir leyendo el manual de ICE<br>
> > ><br>
> > > Saludos, Juan<br>
> > ><br>
> > ><br>
> > ><br>
> > > --<br>
> > > Blog: <a href="http://www.iearobotics.com/blog" target="_blank">www.iearobotics.com/blog</a><br>
> > > Web: <a href="http://www.iearobotics.com/juan" target="_blank">www.iearobotics.com/juan</a><br>
> > ><br>
> > > _______________________________________________<br>
> > > Jde-developers mailing list<br>
> > > <a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
> > > <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
> > ><br>
> > ><br>
--<br>
Blog: <a href="http://www.iearobotics.com/blog" target="_blank">www.iearobotics.com/blog</a><br>
Web: <a href="http://www.iearobotics.com/juan" target="_blank">www.iearobotics.com/juan</a><br>
<br>
</div></div></blockquote></div><br></div></div>