Estructura general del modelo
Este documento explica la estructura general del nuevo modelo de geometrías
.. include-document:: org.gvsig.fmap.geom/reference-links :rest: El nuevo modelo de geometrías tiene dos características a destacar: * Se ha creado a partir del viejo modelo de geometrías de gvSIG intentado que el impacto sobre el código ya desarrollado fuera el menor posible. * Se ha intentado aproximar al modelo de la ISO19107_. Para entender el nuevo modelo no hay que perder de vista estas dos características ya que, si bien se ha intentado tener un modelo similar al de la ISO19107_, en algunos casos no ha sido posible hacerlo y se han tenido que tomar decisiones contradictorias con el modelo de la ISO con el fin de mantener la compatibilidad con el código ya escrito. La siguiente figura muestra la jerarquía principal del nuevo modelo de geometrías: .. figure:: img/geometry.png :alt: TEXTO :align: center En ella se puede ver la clase Geometry_ y todas las clases de las que hereda. La dependencia con *java.awt.Shape* se mantiene por motivos de compatibilidad hacia atrás, pero es posible que en futuras versiones desaparezca. Existen tres tipos de geometrías principalmente: * *Primitivas* (que heredan de Primitive_): Tipo de geometría más básico. Los puntos, líneas y polígonos son ejemplos de geometrías primitivas. * *Complejas* (que heredan de Complex_): Tienen que tener un comportamiento similar al de las geometrías primitivas (tienen el mismo interfaz), pero están formadas por la unión de varias de ellas. Un ejemplo de este tipo de geometrías puede ser un sólido formado por varios polígonos, un polígono con polígonos de relleno, una curva formada por varias curvas... * *Múltiples* (que heredan de Aggregate_): Formadas por la unión de varias geometrías primitivas o complejas. Todas las geometrías existentes deberán implementar una de estas tres interfaces, en función del tipo de geometría que sea. La explicación detallada de cada uno de ellas se puede encontrar el especificación ISO19107_