[Jderobot] Modificaciones en Geometry

Eduardo Perdices eperdices en gsyc.es
Vie Ago 2 16:07:38 CEST 2013


Hola,

ya está corregido, había un par de bugs en Progeo. Si hacéis update 
cuidado con el CMakeLists que ha cambiado bastante.

Saludos.

El 02/08/13 14:13, Roberto Calvo escribió:
> Edu,
>
> He cambiado mi código para que tire con el nuevo progeo usando Eigen y
> falla (justo al hacer el project, o el backproject)
>
> rgbdCalibrator: /usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:394: typename Eigen::internal::traits<T>::Scalar& Eigen::DenseCoeffsBase<Derived, 1>::operator()(typename Eigen::internal::traits<T>::Index) [with Derived = Eigen::Matrix<double, 3, 1, 0, 3, 1>]: La declaración `index >= 0 && index < size()' no se cumple.
> Abortado
>
> Para que lo puedas probar te dejo en [1] el código que inicializa
> matrices y demás.
>
> Echale un ojo y me cuentas
>
> [1] http://pastebin.com/gqd1w4s5
>
>
> El vie, 02-08-2013 a las 12:50 +0200, Eduardo Perdices escribió:
>> Hola,
>>
>> estoy quitando ya las clases redundantes, he cambiado progeo para que
>> tire directamente de Eigen, pero todo lo de Collada sigue usando
>> Matrix3x3, Matrix4x4, etc, hasta que eso no esté cambiado no se pueden
>> eliminar esas clases.
>>
>> Como no tengo manera de probar el Collada de momento prefiero no
>> tocarlo, así que Alex cuando puedas cámbialo.
>>
>> Saludos.
>>
>> El 02/08/13 11:00, Roberto Calvo escribió:
>>> Me parece bien, porque la abstracción que tenemos con vector* o matriz*
>>> no es total. Si mañana cambiamos eigen por otra librería nos toca
>>> modificar código.
>>>
>>> Lo único es que habría que cambiar todo progeo.
>>>
>>> A ver que comenta Alex.
>>>
>>> El vie, 02-08-2013 a las 00:15 +0200, Eduardo Perdices escribió:
>>>> Hola,
>>>>
>>>> ¿hay alguna razón para que exista tanta cantidad de clases?, tenemos
>>>> vector2d, vector2h, vector3d, vector3h, matriz3x3, matrix3x4, etc.
>>>> Todas esas clases en realidad no aportan nada, ya que simplemente le
>>>> dan otro nombre a algo que ya existe en Eigen, y el propia Eigen te da
>>>> para ellos todo lo que quieras:
>>>>
>>>> http://eigen.tuxfamily.org/1/classEigen_1_1Vector.html
>>>> http://eigen.tuxfamily.org/1/classEigen_1_1Matrix.html
>>>>
>>>> operaciones, normalizado, y un montón de historias más.
>>>>
>>>> Luego, si lo que se quiere es una librería para geometría, con tener
>>>> clases de este tipo valdría: Plane, Line2D, Line3D, Segment2D,
>>>> Segment3D, Point2D, Point3D, y que todas ellas tiren directamente de
>>>> Eigen o de las clases inferiores, es decir, los constructores del
>>>> Line2D podrían ser:
>>>>
>>>> Line2D(double p1x, double p1y, double p2x, double p2y);
>>>> Line2D(Eigen::Vector2d p1, Eigen::Vector2d p2);
>>>> Line2D(Point2D p1, Point2D p2);
>>>> Line2D(double vx, double vy, double vz);
>>>> Line2D(Eigen::Vector3d v);
>>>>
>>>> Y el Point2D sería:
>>>>
>>>> Point2D(double x, double y, double h=1.0);
>>>> Point2D(Eigen::Vector2d p, double h=1.0);
>>>> Point2D(Eigen::Vector3d p);
>>>>
>>>> Con eso das la opción para que acepte cualquier cosa, con H o sin H.
>>>> Por cierto, a la hora de utilizar Eigen utilizad siempre que podáis
>>>> double, ya que hay problemas con los float entre la versión 32b y 64b
>>>> (ahora mismo está todo el float).
>>>>
>>>> Saludos.
>>>>
>>>> El 01/08/13 14:08, Roberto Calvo escribió:
>>>>
>>>>



More information about the Jde-developers mailing list