Revision 335 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.scale/src/main/java/org/gvsig/vectorediting/lib/prov/scale/ScaleEditingProvider.java

View differences:

ScaleEditingProvider.java
25 25

  
26 26

  
27 27

  
28
import java.awt.Font;
28 29
import java.awt.geom.AffineTransform;
29 30
import java.util.ArrayList;
30 31
import java.util.HashMap;
......
39 40
import org.gvsig.fmap.geom.Geometry;
40 41
import org.gvsig.fmap.geom.GeometryLocator;
41 42
import org.gvsig.fmap.geom.GeometryManager;
43
import org.gvsig.fmap.geom.aggregate.Aggregate;
44
import org.gvsig.fmap.geom.aggregate.MultiCurve;
45
import org.gvsig.fmap.geom.aggregate.MultiPoint;
46
import org.gvsig.fmap.geom.aggregate.MultiSurface;
42 47
import org.gvsig.fmap.geom.exception.CreateGeometryException;
43 48
import org.gvsig.fmap.geom.operation.GeometryOperationException;
44 49
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
50
import org.gvsig.fmap.geom.primitive.Curve;
45 51
import org.gvsig.fmap.geom.primitive.Line;
46 52
import org.gvsig.fmap.geom.primitive.Point;
53
import org.gvsig.fmap.geom.primitive.Surface;
47 54
import org.gvsig.fmap.mapcontext.MapContext;
48 55
import org.gvsig.fmap.mapcontext.ViewPort;
49 56
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
......
329 336

  
330 337

  
331 338
    private void applyTransformToDrawingStatus(
332
        final DefaultDrawingStatus geometries, FeatureSelection selected,
339
        final DefaultDrawingStatus drawingStatus, FeatureSelection selected,
333 340
        final AffineTransform at) throws BaseException {
341

  
342
        EditingProviderManager editingProviderManager =
343
            EditingProviderLocator.getProviderManager();
344

  
345
        final ISymbol lineSymbolEditing = editingProviderManager.getSymbol("line-symbol-editing");
346
        final ISymbol polygonSymbolEditing = editingProviderManager.getSymbol("polygon-symbol-editing");
347
        final ISymbol auxiliaryPointSymbolEditing = editingProviderManager.getSymbol("auxiliary-point-symbol-editing");
348

  
334 349
        selected.accept(new Visitor() {
335 350

  
336 351
            public void visit(Object obj) throws VisitCanceledException,
337 352
                BaseException {
338 353
                Feature feature = (Feature) obj;
339
                Geometry geom = feature.getDefaultGeometry().cloneGeometry();
340
                geom.transform(at);
341
                geometries.addGeometry(geom);
342 354

  
355
                Geometry transformedGeometry = feature.getDefaultGeometry().cloneGeometry();
356
                transformedGeometry.transform(at);
357

  
358
                ISymbol symbol=null;
359
                if(transformedGeometry instanceof Curve || transformedGeometry instanceof MultiCurve){
360
                    symbol = lineSymbolEditing;
361
                } else if(transformedGeometry instanceof Surface || transformedGeometry instanceof MultiSurface){
362
                    symbol = polygonSymbolEditing;
363
                } else if(transformedGeometry instanceof Point || transformedGeometry instanceof MultiPoint){
364
                    symbol = auxiliaryPointSymbolEditing;
365
                }
366
                if(transformedGeometry instanceof Aggregate){
367
                    int primitivesNumber = ((Aggregate)transformedGeometry).getPrimitivesNumber();
368
                    for (int i = 0; i < primitivesNumber; i++) {
369
                        drawingStatus.addStatus(((Aggregate)transformedGeometry).getPrimitiveAt(i), symbol, "");
370
                    }
371
                } else {
372
                    drawingStatus.addStatus(transformedGeometry, symbol, "");
373
                }
374

  
375

  
343 376
            }
344 377
        });
345 378
    }

Also available in: Unified diff