Revision 575 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/EllipseEditVertexOperation.java
EllipseEditVertexOperation.java | ||
---|---|---|
9 | 9 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
10 | 10 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
11 | 11 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
12 |
import org.gvsig.fmap.geom.primitive.Circle; |
|
13 |
import org.gvsig.fmap.geom.primitive.Ellipse; |
|
14 | 12 |
import org.gvsig.fmap.geom.primitive.Line; |
13 |
import org.gvsig.fmap.geom.primitive.PeriEllipse; |
|
15 | 14 |
import org.gvsig.fmap.geom.primitive.Point; |
16 | 15 |
import org.gvsig.fmap.geom.primitive.Primitive; |
17 | 16 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
... | ... | |
37 | 36 |
|
38 | 37 |
public Geometry moveVertex(Primitive geom, int index, Point point) throws CreateGeometryException, GeometryOperationNotSupportedException, GeometryOperationException { |
39 | 38 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
40 |
Ellipse result = (Ellipse) geom.cloneGeometry(); |
|
39 |
PeriEllipse original = (PeriEllipse)geom; |
|
40 |
PeriEllipse result = (PeriEllipse) original.cloneGeometry(); |
|
41 | 41 |
if(index == 0){ |
42 |
result.setPoints(point, ((Ellipse)geom).getAxis1End(), ((Ellipse)geom).getAxis2Dist());
|
|
42 |
result.setPoints(point, original.getAxis1End(), original.getAxis2Dist());
|
|
43 | 43 |
} else if (index == 1){ |
44 |
result.setPoints(((Ellipse)geom).getAxis1Start(), point, ((Ellipse)geom).getAxis2Dist());
|
|
44 |
result.setPoints(original.getAxis1Start(), point, original.getAxis2Dist());
|
|
45 | 45 |
} else if (index == 2){ |
46 |
Point axis1Start = ((Ellipse)geom).getAxis1Start();
|
|
47 |
Point axis1End = ((Ellipse)geom).getAxis1End();
|
|
46 |
Point axis1Start = original.getAxis1Start();
|
|
47 |
Point axis1End = original.getAxis1End();
|
|
48 | 48 |
Point center = geometryManager.createPoint( |
49 | 49 |
(axis1Start.getX()+axis1End.getX())/2, |
50 | 50 |
(axis1Start.getY()+axis1End.getY())/2, |
51 | 51 |
geom.getGeometryType().getSubType()); |
52 |
result.setPoints(((Ellipse)geom).getAxis1Start(), ((Ellipse)geom).getAxis1End(), center.distance(point));
|
|
52 |
result.setPoints(original.getAxis1Start(), original.getAxis1End(), center.distance(point));
|
|
53 | 53 |
} |
54 | 54 |
return result; |
55 | 55 |
} |
... | ... | |
57 | 57 |
public List<Point> getVertexesList(Primitive geom) throws CreateGeometryException, GeometryOperationNotSupportedException, GeometryOperationException { |
58 | 58 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
59 | 59 |
ArrayList<Point> vertexList = new ArrayList<Point>(); |
60 |
Ellipse ellipse = (Ellipse) geom;
|
|
60 |
PeriEllipse ellipse = (PeriEllipse) geom;
|
|
61 | 61 |
Point axis1Start = ellipse.getAxis1Start(); |
62 | 62 |
vertexList.add(axis1Start); |
63 | 63 |
Point axis1End = ellipse.getAxis1End(); |
... | ... | |
117 | 117 |
EditingProviderLocator.getProviderManager(); |
118 | 118 |
ISymbol auxiliaryLineSymbolEditing = |
119 | 119 |
editingProviderManager.getSymbol("auxiliary-line-symbol-editing"); |
120 |
ISymbol polygonSymbolEditing =
|
|
121 |
editingProviderManager.getSymbol("polygon-symbol-editing");
|
|
122 |
Ellipse ellipse = (Ellipse)primitive;
|
|
120 |
ISymbol lineSymbolEditing =
|
|
121 |
editingProviderManager.getSymbol("line-symbol-editing");
|
|
122 |
PeriEllipse ellipse = (PeriEllipse)primitive;
|
|
123 | 123 |
Point axis1Start = ellipse.getAxis1Start(); |
124 | 124 |
Point axis1End = ellipse.getAxis1End(); |
125 | 125 |
Line axis1Line = geometryManager.createLine(primitive.getGeometryType().getSubType()); |
... | ... | |
149 | 149 |
axis2Point2); |
150 | 150 |
drawingStatus.addStatus(axis2Line, auxiliaryLineSymbolEditing, ""); |
151 | 151 |
|
152 |
drawingStatus.addStatus(primitive, polygonSymbolEditing, "");
|
|
152 |
drawingStatus.addStatus(primitive, lineSymbolEditing, "");
|
|
153 | 153 |
} |
154 | 154 |
|
155 | 155 |
} |
Also available in: Unified diff