Class DefaultGeneralPathX

java.lang.Object
org.gvsig.fmap.geom.primitive.GeneralPathX
org.gvsig.fmap.geom.jts.gputils.DefaultGeneralPathX
All Implemented Interfaces:
Shape, Serializable, Cloneable, org.gvsig.fmap.geom.primitive.IGeneralPathX

public class DefaultGeneralPathX extends org.gvsig.fmap.geom.primitive.GeneralPathX implements Shape, Cloneable, Serializable
The GeneralPathX class represents a geometric path constructed from straight lines, and quadratic and cubic (Bézier) curves. It can contain multiple subpaths.

The winding rule specifies how the interior of a path is determined. There are two types of winding rules: EVEN_ODD and NON_ZERO.

An EVEN_ODD winding rule means that enclosed regions of the path alternate between interior and exterior areas as traversed from the outside of the path towards a point inside the region.

A NON_ZERO winding rule means that if a ray is drawn in any direction from a given point to infinity and the places where the path intersects the ray are examined, the point is inside of the path if and only if the number of times that the path crosses the ray from left to right does not equal the number of times that the path crosses the ray from right to left.

Version:
1.58, 01/23/03
Author:
Jim Graham
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static org.gvsig.fmap.geom.GeometryManager
     

    Fields inherited from class org.gvsig.fmap.geom.primitive.GeneralPathX

    INIT_SIZE

    Fields inherited from interface org.gvsig.fmap.geom.primitive.IGeneralPathX

    curvesize, SEG_CLOSE, SEG_CUBICTO, SEG_LINETO, SEG_MOVETO, SEG_QUADTO, WIND_EVEN_ODD, WIND_NON_ZERO
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new GeneralPathX object with the specified winding rule to control operations that require the interior of the path to be defined.
    DefaultGeneralPathX(PathIterator piter, boolean is2Dz, double zValue)
     
    DefaultGeneralPathX(PathIterator piter, boolean is2Dz, double zValue, int capacity)
    Constructs a new GeneralPathX object from an arbitrary Shape object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addSegment(org.gvsig.fmap.geom.primitive.Point[] segment)
     
    void
    append(PathIterator pi, boolean connect)
    Appends the geometry of the specified PathIterator object to the path, possibly connecting the new geometry to the existing path segments with a line segment.
    void
    append(org.gvsig.fmap.geom.primitive.GeneralPathX gp)
     
    Creates a new object of the same class as this object.
    void
    Closes the current subpath by drawing a straight line back to the coordinates of the last moveTo.
    boolean
    contains(double x, double y)
    Tests if the specified coordinates are inside the boundary of this Shape.
    boolean
    contains(double x, double y, double w, double h)
    Tests if the specified rectangular area is inside the boundary of this Shape.
    boolean
    Tests if the specified Point2D is inside the boundary of this Shape.
    boolean
    Tests if the specified Rectangle2D is inside the boundary of this Shape.
    Returns a new transformed Shape.
    void
    curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
    Adds a curved segment, defined by three new points, to the path by drawing a Bézier curve that intersects both the current coordinates and the coordinates (x3, y3), using the specified points (x1, y1) and (x2, y2) as Bézier control points.
    void
    curveTo(org.gvsig.fmap.geom.primitive.Point point1, org.gvsig.fmap.geom.primitive.Point point2, org.gvsig.fmap.geom.primitive.Point point3)
     
    void
    ensureCapacity(int capacity)
     
    void
    Convertimos el path a puntos y luego le damos la vuelta.
    double[]
    get3DCoordinatesAt(int index)
     
    Return the bounding box of the path.
    Returns the bounding box of the path.
    double[]
    getCoordinatesAt(int index)
     
    Returns the coordinates most recently added to the end of the path as a Point2D object.
    int
     
    int
     
    Returns a PathIterator object that iterates along the boundary of this Shape and provides access to the geometry of the outline of this Shape.
    getPathIterator(AffineTransform at, double flatness)
    Returns a PathIterator object that iterates along the boundary of the flattened Shape and provides access to the geometry of the outline of the Shape.
    org.gvsig.fmap.geom.primitive.Point
    getPointAt(int index)
     
    double[]
     
    byte[]
     
    byte
    getTypeAt(int index)
     
    int
    Returns the fill style winding rule.
    boolean
    intersects(double x, double y, double w, double h)
    Tests if the interior of this Shape intersects the interior of a specified set of rectangular coordinates.
    boolean
    Tests if the interior of this Shape intersects the interior of a specified Rectangle2D.
    boolean
    Check if the first part is CCW.
    boolean
    Check if the first part is closed.
    boolean
     
    void
    lineTo(double x, double y)
    Adds a point to the path by drawing a straight line from the current coordinates to the new specified coordinates.
    void
    lineTo(org.gvsig.fmap.geom.primitive.Point point)
     
    void
    moveTo(double x, double y)
    Adds a point to the path by moving to the specified coordinates.
    void
    moveTo(org.gvsig.fmap.geom.primitive.Point point)
     
    void
    quadTo(double x1, double y1, double x2, double y2)
    Adds a curved segment, defined by two new points, to the path by drawing a Quadratic curve that intersects both the current coordinates and the coordinates (x2, y2), using the specified point (x1, y1) as a quadratic parametric control point.
    void
    quadTo(org.gvsig.fmap.geom.primitive.Point point1, org.gvsig.fmap.geom.primitive.Point point2)
     
    void
    reProject(org.gvsig.crs.projection.lib.CoordinateTransformation ct)
     
    void
    Resets the path to empty.
    int
    setNumCoords(int numCoords)
     
    void
    setNumTypes(int numTypes)
     
    void
    setPointCoords(double[] pointCoords)
     
    void
    setPointTypes(byte[] pointTypes)
     
    void
    setWindingRule(int rule)
    Sets the winding rule for this path to the specified value.
    void
    Transforms the geometry of this path using the specified AffineTransform.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • geomManager

      protected static org.gvsig.fmap.geom.GeometryManager geomManager
  • Constructor Details

    • DefaultGeneralPathX

      public DefaultGeneralPathX(int rule)
      Constructs a new GeneralPathX object with the specified winding rule to control operations that require the interior of the path to be defined.
      Parameters:
      rule - the winding rule
      See Also:
      • IGeneralPathX.WIND_EVEN_ODD
      • IGeneralPathX.WIND_NON_ZERO
    • DefaultGeneralPathX

      public DefaultGeneralPathX(PathIterator piter, boolean is2Dz, double zValue)
    • DefaultGeneralPathX

      public DefaultGeneralPathX(PathIterator piter, boolean is2Dz, double zValue, int capacity)
      Constructs a new GeneralPathX object from an arbitrary Shape object. All of the initial geometry and the winding rule for this path are taken from the specified Shape object.
      Parameters:
      piter -
      is2Dz -
      zValue -
      capacity -
  • Method Details

    • moveTo

      public void moveTo(double x, double y)
      Adds a point to the path by moving to the specified coordinates.
      Specified by:
      moveTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      moveTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x - , y the specified coordinates
    • moveTo

      public void moveTo(org.gvsig.fmap.geom.primitive.Point point)
      Specified by:
      moveTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      moveTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • lineTo

      public void lineTo(double x, double y)
      Adds a point to the path by drawing a straight line from the current coordinates to the new specified coordinates.
      Specified by:
      lineTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      lineTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x - , y the specified coordinates
    • lineTo

      public void lineTo(org.gvsig.fmap.geom.primitive.Point point)
      Specified by:
      lineTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      lineTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • addSegment

      public void addSegment(org.gvsig.fmap.geom.primitive.Point[] segment)
      Specified by:
      addSegment in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      addSegment in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • quadTo

      public void quadTo(double x1, double y1, double x2, double y2)
      Adds a curved segment, defined by two new points, to the path by drawing a Quadratic curve that intersects both the current coordinates and the coordinates (x2, y2), using the specified point (x1, y1) as a quadratic parametric control point.
      Specified by:
      quadTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      quadTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x1 - , y1 the coordinates of the first quadratic control point
      y1 -
      x2 - , y2 the coordinates of the final endpoint
      y2 -
    • quadTo

      public void quadTo(org.gvsig.fmap.geom.primitive.Point point1, org.gvsig.fmap.geom.primitive.Point point2)
      Specified by:
      quadTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      quadTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • curveTo

      public void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
      Adds a curved segment, defined by three new points, to the path by drawing a Bézier curve that intersects both the current coordinates and the coordinates (x3, y3), using the specified points (x1, y1) and (x2, y2) as Bézier control points.
      Specified by:
      curveTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      curveTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x1 - , y1 the coordinates of the first Béezier control point
      y1 -
      x2 - , y2 the coordinates of the second Bézier control point
      y2 -
      x3 - , y3 the coordinates of the final endpoint
      y3 -
    • curveTo

      public void curveTo(org.gvsig.fmap.geom.primitive.Point point1, org.gvsig.fmap.geom.primitive.Point point2, org.gvsig.fmap.geom.primitive.Point point3)
      Specified by:
      curveTo in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      curveTo in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • closePath

      public void closePath()
      Closes the current subpath by drawing a straight line back to the coordinates of the last moveTo. If the path is already closed then this method has no effect.
      Specified by:
      closePath in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      closePath in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • isClosed

      public boolean isClosed()
      Check if the first part is closed.
      Specified by:
      isClosed in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      isClosed in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
    • append

      public void append(PathIterator pi, boolean connect)
      Appends the geometry of the specified PathIterator object to the path, possibly connecting the new geometry to the existing path segments with a line segment. If the connect parameter is true and the path is not empty then any initial moveTo in the geometry of the appended Shape is turned into a lineTo segment. If the destination coordinates of such a connecting lineTo segment match the ending coordinates of a currently open subpath then the segment is omitted as superfluous. The winding rule of the specified Shape is ignored and the appended geometry is governed by the winding rule specified for this path.
      Specified by:
      append in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      append in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      pi - the PathIterator whose geometry is appended to this path
      connect - a boolean to control whether or not to turn an initial moveTo segment into a lineTo segment to connect the new geometry to the existing path
    • append

      public void append(org.gvsig.fmap.geom.primitive.GeneralPathX gp)
      Specified by:
      append in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      append in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getWindingRule

      public int getWindingRule()
      Returns the fill style winding rule.
      Specified by:
      getWindingRule in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getWindingRule in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      an integer representing the current winding rule.
      See Also:
    • setWindingRule

      public void setWindingRule(int rule)
      Sets the winding rule for this path to the specified value.
      Specified by:
      setWindingRule in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      setWindingRule in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      rule - an integer representing the specified winding rule
      See Also:
    • getCurrentPoint

      public Point2D getCurrentPoint()
      Returns the coordinates most recently added to the end of the path as a Point2D object.
      Specified by:
      getCurrentPoint in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getCurrentPoint in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      a Point2D object containing the ending coordinates of the path or null if there are no points in the path.
    • reset

      public void reset()
      Resets the path to empty. The append position is set back to the beginning of the path and all coordinates and point types are forgotten.
      Specified by:
      reset in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      reset in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • transform

      public void transform(AffineTransform at)
      Transforms the geometry of this path using the specified AffineTransform. The geometry is transformed in place, which permanently changes the boundary defined by this object.
      Specified by:
      transform in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      transform in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      at - the AffineTransform used to transform the area
    • reProject

      public void reProject(org.gvsig.crs.projection.lib.CoordinateTransformation ct)
      Specified by:
      reProject in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      reProject in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • createTransformedShape

      public Shape createTransformedShape(AffineTransform at)
      Returns a new transformed Shape.
      Specified by:
      createTransformedShape in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      createTransformedShape in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      at - the AffineTransform used to transform a new Shape.
      Returns:
      a new Shape, transformed with the specified AffineTransform.
    • getBounds

      public Rectangle getBounds()
      Return the bounding box of the path.
      Specified by:
      getBounds in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      getBounds in interface Shape
      Overrides:
      getBounds in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      a Rectangle object that bounds the current path.
    • getBounds2D

      public Rectangle2D getBounds2D()
      Returns the bounding box of the path.
      Specified by:
      getBounds2D in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      getBounds2D in interface Shape
      Overrides:
      getBounds2D in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      a Rectangle2D object that bounds the current path.
    • contains

      public boolean contains(double x, double y)
      Tests if the specified coordinates are inside the boundary of this Shape.
      Specified by:
      contains in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      contains in interface Shape
      Overrides:
      contains in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x - , y the specified coordinates
      Returns:
      true if the specified coordinates are inside this Shape; false otherwise
    • contains

      public boolean contains(Point2D p)
      Tests if the specified Point2D is inside the boundary of this Shape.
      Specified by:
      contains in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      contains in interface Shape
      Overrides:
      contains in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      p - the specified Point2D
      Returns:
      true if this Shape contains the specified Point2D, false otherwise.
    • contains

      public boolean contains(double x, double y, double w, double h)
      Tests if the specified rectangular area is inside the boundary of this Shape.
      Specified by:
      contains in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      contains in interface Shape
      Overrides:
      contains in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x - , y the specified coordinates
      y -
      w - the width of the specified rectangular area
      h - the height of the specified rectangular area
      Returns:
      true if this Shape contains the specified rectangluar area; false otherwise.
    • contains

      public boolean contains(Rectangle2D r)
      Tests if the specified Rectangle2D is inside the boundary of this Shape.
      Specified by:
      contains in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      contains in interface Shape
      Overrides:
      contains in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      r - a specified Rectangle2D
      Returns:
      true if this Shape bounds the specified Rectangle2D; false otherwise.
    • intersects

      public boolean intersects(double x, double y, double w, double h)
      Tests if the interior of this Shape intersects the interior of a specified set of rectangular coordinates.
      Specified by:
      intersects in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      intersects in interface Shape
      Overrides:
      intersects in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      x - , y the specified coordinates
      y -
      w - the width of the specified rectangular coordinates
      h - the height of the specified rectangular coordinates
      Returns:
      true if this Shape and the interior of the specified set of rectangular coordinates intersect each other; false otherwise.
    • intersects

      public boolean intersects(Rectangle2D r)
      Tests if the interior of this Shape intersects the interior of a specified Rectangle2D.
      Specified by:
      intersects in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      intersects in interface Shape
      Overrides:
      intersects in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      r - the specified Rectangle2D
      Returns:
      true if this Shape and the interior of the specified Rectangle2D intersect each other; false otherwise.
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at)
      Returns a PathIterator object that iterates along the boundary of this Shape and provides access to the geometry of the outline of this Shape. The iterator for this class is not multi-threaded safe, which means that this GeneralPathX class does not guarantee that modifications to the geometry of this GeneralPathX object do not affect any iterations of that geometry that are already in process.
      Specified by:
      getPathIterator in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      getPathIterator in interface Shape
      Overrides:
      getPathIterator in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      at - an AffineTransform
      Returns:
      a new PathIterator that iterates along the boundary of this Shape and provides access to the geometry of this Shape's outline
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at, double flatness)
      Returns a PathIterator object that iterates along the boundary of the flattened Shape and provides access to the geometry of the outline of the Shape. The iterator for this class is not multi-threaded safe, which means that this GeneralPathX class does not guarantee that modifications to the geometry of this GeneralPathX object do not affect any iterations of that geometry that are already in process.
      Specified by:
      getPathIterator in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Specified by:
      getPathIterator in interface Shape
      Overrides:
      getPathIterator in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      at - an AffineTransform
      flatness - the maximum distance that the line segments used to approximate the curved segments are allowed to deviate from any point on the original curve
      Returns:
      a new PathIterator that iterates along the flattened Shape boundary.
    • clone

      public Object clone()
      Creates a new object of the same class as this object.
      Specified by:
      clone in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      clone in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      a clone of this instance.
      Throws:
      OutOfMemoryError - if there is not enough memory.
      Since:
      1.2
      See Also:
    • setNumTypes

      public void setNumTypes(int numTypes)
      Specified by:
      setNumTypes in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      setNumTypes in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getNumTypes

      public int getNumTypes()
      Specified by:
      getNumTypes in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getNumTypes in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • setNumCoords

      public int setNumCoords(int numCoords)
      Specified by:
      setNumCoords in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      setNumCoords in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getNumCoords

      public int getNumCoords()
      Specified by:
      getNumCoords in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getNumCoords in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getTypeAt

      public byte getTypeAt(int index)
      Specified by:
      getTypeAt in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getTypeAt in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • setPointTypes

      public void setPointTypes(byte[] pointTypes)
      Specified by:
      setPointTypes in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      setPointTypes in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getPointTypes

      public byte[] getPointTypes()
      Specified by:
      getPointTypes in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getPointTypes in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • setPointCoords

      public void setPointCoords(double[] pointCoords)
      Specified by:
      setPointCoords in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      setPointCoords in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Parameters:
      pointCoords -
    • getPointCoords

      public double[] getPointCoords()
      Specified by:
      getPointCoords in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getPointCoords in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
    • getPointAt

      public org.gvsig.fmap.geom.primitive.Point getPointAt(int index)
      Specified by:
      getPointAt in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getPointAt in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • getCoordinatesAt

      public double[] getCoordinatesAt(int index)
      Specified by:
      getCoordinatesAt in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      getCoordinatesAt in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • get3DCoordinatesAt

      public double[] get3DCoordinatesAt(int index)
      Specified by:
      get3DCoordinatesAt in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      get3DCoordinatesAt in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • flip

      public void flip()
      Convertimos el path a puntos y luego le damos la vuelta.
      Specified by:
      flip in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      flip in class org.gvsig.fmap.geom.primitive.GeneralPathX
    • isCCW

      public boolean isCCW()
      Check if the first part is CCW.
      Specified by:
      isCCW in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      isCCW in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
    • isSimple

      public boolean isSimple()
      Specified by:
      isSimple in interface org.gvsig.fmap.geom.primitive.IGeneralPathX
      Overrides:
      isSimple in class org.gvsig.fmap.geom.primitive.GeneralPathX
      Returns:
      the isSimple
    • ensureCapacity

      public void ensureCapacity(int capacity)