Personal tools
gvSIG Desktop
gvSIG Desktop

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

 
Document Actions

Curve

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

Para crear una curva podemos utilizar el método genérico create del manager. Para establecer los valores de las coordenadas podemos utilizar un objeto de tipo GeneralPathX que por motivos de compatibilidad hacia atrás, no se ha eliminado. La forma de crear una polilínea que va del punto 5,5 al 10,10 es la siguiente:

Curve curve = (Curve)geometryManager.create(TYPES.CURVE, SUBTYPES.GEOM2D);
GeneralPathX generalPathX = new GeneralPathX();
generalPathX.moveTo(5, 5);
generalPathX.lineTo(10, 10);          
curve.setGeneralPath(generalPathX);   

Una curva se tiene que poder crear a partir de los propios objetos del modelo que, en el caso de una curva serán objetos de tipo Point. El siguiente código crear una curva con las mismas coordenadas que el ejemplo anterior:

Point point1 = geometryManager.createPoint(5, 5, SUBTYPES.GEOM2D);
Point point2 = geometryManager.createPoint(10, 10, SUBTYPES.GEOM2D);
Curve curve = (Curve)geometryManager.create(TYPES.CURVE, SUBTYPES.GEOM2D);
curve.addVertex(point1);
curve.addVertex(point2);

El método addVertex inserta un nuevo vértice en la última posición en un objeto de tipo Curve 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 la curva. Por ejemplo, si queremos cambiar el punto final de la curva del ejemplo anterior:

Point endPoint = geometryManager.createPoint(15, 15, SUBTYPES.GEOM2D);
curve.setVertex(1, endPoint);

El método setVertex fija el valor de uno de los puntos internos que forman la curva 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 de la curva. Por ejemplo para insertar el punto 7,7 en la segunda posición de la curva hay que ejecutar el siguiente código:

Point middlePoint = geometryManager.createPoint(7, 7, SUBTYPES.GEOM2D);
curve.insertVertex(1, middlePoint);

El primer argumento es la posición del punto que se quiere introducir. En este caso la curva resultante tendrá las coordenadas 5,5 7,7 y 15,15 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: