Personal tools
gvSIG Desktop
gvSIG Desktop

Cached time 11/22/13 09:01:33 Clear cache and reload

 
Document Actions

Surface

by Jorge Piera last modified 2010-09-06 16:16
.. include-document:: org.gvsig.fmap.geom/reference-links
   :rest:

Para crear una surface podemos utilizar el método genérico *create* del manager. Para establecer los valores de las coordenadas podemos utilizar un objeto de tipo GeneralPathX. La forma de crear un polígono triangular de coordendas 0,0 0,5 y 5,5 es la siguiente:

.. code-block:: java

  Surface surface = (Surface)geometryManager.create(TYPES.SURFACE, SUBTYPES.GEOM2D);
  GeneralPathX generalPathX = new GeneralPathX();
  generalPathX.moveTo(0, 0);
  generalPathX.lineTo(0, 5);
  generalPathX.lineTo(5, 5);		
  surface.setGeneralPath(generalPathX);	

Al igual que ocurre con la Curve_, una Surface_ se tiene que poder crear a partir de los propios objetos del modelo que, en el caso de un polígono serán objetos de tipo Point_. El siguiente código crear un polígono con las mismas coordenadas que el ejemplo anterior:

.. code-block:: java

  Point point1 = geometryManager.createPoint(0, 0, SUBTYPES.GEOM2D);
  Point point2 = geometryManager.createPoint(0, 5, SUBTYPES.GEOM2D);
  Point point3 = geometryManager.createPoint(5, 5, SUBTYPES.GEOM2D);
  Surface surface = (Surface)geometryManager.create(TYPES.SURFACE, SUBTYPES.GEOM2D);
  surface.addVertex(point1);
  surface.addVertex(point2);
  surface.addVertex(point3);

El método *addVertex* inserta un nuevo vértice en la última posición en un objeto de tipo Surface_ y suele ser utilizado en la creación de la geometría. Por otro lado, existen otros métodos que permiten la edición de las coordenadas de los vértices internos que forman el polígono. Por ejemplo, si queremos cambiar el punto final del polígono del ejemplo anterior:

.. code-block:: java

  Point endPoint = geometryManager.createPoint(0, 10, SUBTYPES.GEOM2D);
  surface.setVertex(2, endPoint);

El método *setVertex* fija el valor de uno de los puntos internos que forman el polígono y lo reeplaza por el que había anteriormente. El primer argumento de método es la posición de punto interno que se tiene que modificar. 

Por otro lado también podemos insertar un punto dentro del polígono. Por ejemplo para insertar el punto 0,7 en la tercera posición del polígono hay que ejecutar el siguiente código:

.. code-block:: java

  Point middlePoint = geometryManager.createPoint(0, 7, SUBTYPES.GEOM2D);
  surface.insertVertex(2, middlePoint);

El primer argumento es la posición del punto que se quiere introducir. En este caso el polígono resultante tendrá las coordenadas 0,0 0,5 0,7 y 0 10 tal y como la hemos estado definiendo. 

View source document

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: