Herramientas Personales
gvSIG Desktop
gvSIG Desktop

Cached time 11/21/13 07:54:14 Clear cache and reload

 
Acciones de Documento

Curve

por Jorge PieraÚltima modificación 06/09/2010 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.


Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: