Personal tools
gvSIG Desktop
gvSIG Desktop

Cached time 11/22/13 09:00:25 Clear cache and reload

 
Document Actions

Curve

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


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:

.. code-block:: java

  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:

.. code-block:: java

  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:

.. code-block:: java

  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:

.. code-block:: java

  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

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: