[Jde-dev] uso de arrays en interfaces ICE
Javier Vazquez
javiervazper en yahoo.es
Dom Mayo 2 10:16:30 CEST 2010
Hola de nuevo.
Pues justo ahora lo saco. Dejando el atributuencia de enteros, faltaba llamar al m�todo "resize", antes de empezar a asignar valores:
laserData->distanceData.resize(sizeof(int)*NUM_LASER);
laserData->distanceData[0]=0;
....
As� ya funciona!!
Un saludo,
Javier.
________________________________
De: Javier Vazquez <javiervazper en yahoo.es>
Para: jde-developers <Jde-developers en gsyc.es>
Enviado: dom,2 mayo, 2010 00:50
Asunto: uso de arrays en interfaces ICE
Hola,
tengo una duda con la que me he atascado desde hace varios d�as y no se c�mo continuar. Necesito definir una interfaz con una operaci�n de devuelva un array de un n�mero de posiciones constantes.
Inicialmente pens� en declarar una clase, con un atributo aaray para que la operaci�n devuelva dicho objeto. La declaraci�n siguiente, parece no estar soportada por el traductor de ICE:
module jderobot{
/* laser information */
class LaserData
{
int distanceData[10];
};
/**
* Interface to the Gazebo laser sensor.
*/
interface Laser
{
idempotent LaserData getLaserData();
};
}; //module
A continuaci�n, fij�ndome en c�digo hecho de JDE5.0, he visto que se utiliza " sequence<int> IntSeq;" para el tipo del atributo que devuelve un array (por ejemplo, la imagen. Redefin� mi atributo distanceData de esta forma, esto es: " IntSeq distanceData;" y obtengo el c�digo cpp.
Sin embargo, ahora no soy capaz de usarlo. He probado a asignar valores de varias formas pero siempre me da un "Segmentation Fault" en tiempo de ejecuci�n (por que compilar, compila bien). Este es uno de los muchas pruebas b�sicas que he realizado pero nada:
....
int a[2];
a[0]=0;
a[1]=1;
memcpy(&(laserData->distanceData),a,sizeof(a));
printf("data 0: %d\ndata 1: %d\n%d\n%d\n",laserData->distanceData[0],a[1],sizeof(a),sizeof(&(laserData->distanceData)));
...
�Alguien tiene alguna idea?
Veo que David usa una clase "pipeline" para instanciar un buffer y luego lo copia con memcpy. No obstante, yo siempre quiero trabajar con un array de 180 posiciones.
Gracias de antemano,
Javier.
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20100502/6bcfd84d/attachment.htm
More information about the Jde-developers
mailing list