Statistics
| Revision:

gvsig-vectorediting / org.gvsig.vectorediting / trunk / org.gvsig.vectorediting / org.gvsig.vectorediting.lib / org.gvsig.vectorediting.lib.prov / org.gvsig.vectorediting.lib.prov.editvertex / src / main / java / org / gvsig / vectorediting / lib / prov / editvertex / operation / PointEditVertexOperation.java @ 1250

History | View | Annotate | Download (2.38 KB)

1
package org.gvsig.vectorediting.lib.prov.editvertex.operation;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
import org.gvsig.fmap.geom.Geometry;
7
import org.gvsig.fmap.geom.exception.CreateGeometryException;
8
import org.gvsig.fmap.geom.primitive.Point;
9
import org.gvsig.fmap.geom.primitive.Primitive;
10
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
11
import org.gvsig.vectorediting.lib.spi.DefaultDrawingStatus;
12
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
13
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
14

    
15
/**
16
 * @author fdiaz
17
 *
18
 */
19
public class PointEditVertexOperation implements EditVertexOperation {
20

    
21
    /**
22
     *
23
     */
24
    public PointEditVertexOperation() {
25
        // TODO Auto-generated constructor stub
26
    }
27

    
28
    public Geometry insertVertex(Primitive geom, int index) throws CreateGeometryException {
29
        return geom;
30
    }
31

    
32
    public Geometry removeVertex(Primitive geom, int index) throws CreateGeometryException {
33
        return geom;
34
    }
35

    
36
    public Geometry moveVertex(Primitive geom, int index, Point point) {
37
        if(index!=0) {
38
            return geom;
39
        }
40
        Point p = ((Point)geom);
41
        int min = point.getDimension() < p.getDimension() ? point.getDimension() : p.getDimension();
42
        for (int i = 0; i < min; i++) {
43
            p.setCoordinateAt(i, point.getCoordinateAt(i));
44
        }
45
        return p;
46
    }
47

    
48
    public List<Point> getVertexesList(Primitive geom) {
49
        ArrayList<Point> vertexList = new ArrayList<Point>();
50
        if (geom instanceof Point) {
51
            Point point = (Point) geom;
52
            vertexList.add(point);
53
        }
54
        return vertexList;
55
    }
56

    
57
    public int getNumVertex(Primitive geom) {
58
        return 1;
59
    }
60

    
61
    public boolean canInsertVertex(Primitive geom, int index) {
62
        return false;
63
    }
64

    
65
    public boolean canRemoveVertex(Primitive geom, int index) {
66
        return false;
67
    }
68

    
69
    public boolean canMoveVertex(int index, Point point) {
70
        return true;
71
    }
72

    
73
    public void addToDrawingStatus(DefaultDrawingStatus drawingStatus,
74
        Primitive primitive) {
75
        EditingProviderManager editingProviderManager =
76
            EditingProviderLocator.getProviderManager();
77
        ISymbol pointSymbolEditing =
78
            editingProviderManager.getSymbol("point-symbol-editing");
79
        drawingStatus.addStatus(primitive, pointSymbolEditing, "");
80
    }
81

    
82
}