Revision 42441 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/primitive/ring/Ring2D.java

View differences:

Ring2D.java
25 25
import java.util.Iterator;
26 26

  
27 27
import com.vividsolutions.jts.geom.Coordinate;
28
import com.vividsolutions.jts.geom.GeometryFactory;
29
import com.vividsolutions.jts.geom.LinearRing;
30
import com.vividsolutions.jts.geomgraph.Position;
31
import com.vividsolutions.jts.operation.buffer.BufferParameters;
32
import com.vividsolutions.jts.operation.buffer.OffsetCurveBuilder;
28 33

  
29 34
import org.gvsig.fmap.geom.Geometry;
30 35
import org.gvsig.fmap.geom.GeometryException;
......
39 44
import org.gvsig.fmap.geom.jts.util.JTSUtils;
40 45
import org.gvsig.fmap.geom.operation.GeometryOperationException;
41 46
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
47
import org.gvsig.fmap.geom.primitive.Polygon;
42 48
import org.gvsig.fmap.geom.primitive.Ring;
43 49

  
44 50
/**
......
100 106
        return JTSUtils.createJTSLinearRing(coordinates);
101 107
    }
102 108

  
109

  
110
    /* (non-Javadoc)
111
    * @see org.gvsig.fmap.geom.Geometry#offset(double)
112
    */
113
      public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException {
114
          com.vividsolutions.jts.geom.LinearRing jtsRing = (LinearRing) getJTS();
115
          GeometryFactory factory = jtsRing.getFactory();
116
          BufferParameters bufParams = JTSUtils.getBufferParameters();
117

  
118
          OffsetCurveBuilder ocb = new OffsetCurveBuilder(factory.getPrecisionModel(), bufParams);
119

  
120
          Coordinate[] coordinates = jtsRing.getCoordinates();
121
          Coordinate[] coords = ocb.getRingCurve(coordinates, Position.LEFT, distance); // .getOffsetCurve(coordinates,
122

  
123
          return new Ring2D(coords);
124
      }
103 125
}

Also available in: Unified diff