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/MultiLine2DM.java

View differences:

MultiLine2DM.java
31 31
import org.gvsig.fmap.geom.aggregate.MultiLine;
32 32
import org.gvsig.fmap.geom.aggregate.MultiPoint;
33 33
import org.gvsig.fmap.geom.aggregate.MultiPolygon;
34
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2D;
34 35
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2DM;
36
import org.gvsig.fmap.geom.operation.GeometryOperationException;
37
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
35 38
import org.gvsig.fmap.geom.primitive.Polygon;
36 39
import org.gvsig.fmap.geom.primitive.Primitive;
37 40

  
......
156 159
        notifyDeprecated(message);
157 160
        throw new UnsupportedOperationException(message);
158 161
    }
162

  
163
    /* (non-Javadoc)
164
     * @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform)
165
     */
166
    public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException {
167
        MultiLine2DM result = new MultiLine2DM();
168
        for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) {
169
            Primitive primitive = (Primitive) iterator.next();
170
            Geometry offset = primitive.offset(distance);
171
            if(offset instanceof MultiLine){
172
                MultiLine multiOffset = (MultiLine)offset;
173
                for(int i=0; i<multiOffset.getPrimitivesNumber(); i++){
174
                    result.addPrimitive(multiOffset.getPrimitiveAt(i));
175
                }
176
            } else {
177
                result.addPrimitive((Primitive)primitive.offset(distance));
178
            }
179
        }
180
        return result;
181
    }
159 182
}

Also available in: Unified diff