[Jderobot] Modificaciones en Geometry
Eduardo Perdices
eperdices en gsyc.es
Vie Ago 2 12:50:38 CEST 2013
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