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/aggregate/MultiLine2D.java

View differences:

MultiLine2D.java
29 29
import org.gvsig.fmap.geom.aggregate.MultiLine;
30 30
import org.gvsig.fmap.geom.aggregate.MultiPoint;
31 31
import org.gvsig.fmap.geom.aggregate.MultiPolygon;
32
import org.gvsig.fmap.geom.aggregate.MultiPrimitive;
32 33
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2D;
34
import org.gvsig.fmap.geom.operation.GeometryOperationException;
35
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
33 36
import org.gvsig.fmap.geom.primitive.Polygon;
34 37
import org.gvsig.fmap.geom.primitive.Primitive;
35 38

  
......
137 140
        notifyDeprecated(message);
138 141
        throw new UnsupportedOperationException(message);
139 142
    }
143

  
144
    /* (non-Javadoc)
145
     * @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform)
146
     */
147
    public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException {
148
        MultiLine2D result = new MultiLine2D();
149
        for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) {
150
            Primitive primitive = (Primitive) iterator.next();
151
            Geometry offset = primitive.offset(distance);
152
            if(offset instanceof MultiLine){
153
                MultiLine multiOffset = (MultiLine)offset;
154
                for(int i=0; i<multiOffset.getPrimitivesNumber(); i++){
155
                    result.addPrimitive(multiOffset.getPrimitiveAt(i));
156
                }
157
            } else {
158
                result.addPrimitive((Primitive)primitive.offset(distance));
159
            }
160
        }
161
        return result;
162
    }
140 163
}

Also available in: Unified diff