Personal tools
gvSIG Desktop
gvSIG Desktop
Description
Features
Characteristics
Tour
Downloads official vers.
Upgrade language
Documentation
User documentation
Developers documentation
Previous versions
How to contribute in gvSIG?
How to document guide
Developers Quick Start Guide
gvSIG devel guide
Guía para "commiters" de gvSIG
Revision de codigo
org.gvsig.tools
org.gvsig.fmap.geom
org.gvsig.fmap.dal
org.gvsig.app.daltransform
org.gvsig.sensors
org.gvsig.raster
Downloads development vers.
Distribution lists
Other distributions
FAQs

Cached time 11/21/13 17:45:09 Clear cache and reload

 
Document Actions

Surface

by Jorge Piera last modified 2010-09-06 16:16

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:

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:

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:

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:

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 Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: