Revision 37328 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/CircleCADTool.java
CircleCADTool.java | ||
---|---|---|
25 | 25 |
import java.awt.geom.Point2D; |
26 | 26 |
|
27 | 27 |
import org.gvsig.andami.PluginServices; |
28 |
import org.gvsig.editing.gui.cad.DefaultCADTool; |
|
29 | 28 |
import org.gvsig.editing.gui.cad.exception.CommandException; |
30 | 29 |
import org.gvsig.editing.gui.cad.tools.smc.CircleCADToolContext; |
31 | 30 |
import org.gvsig.editing.gui.cad.tools.smc.CircleCADToolContext.CircleCADToolState; |
32 | 31 |
import org.gvsig.fmap.geom.Geometry; |
33 |
import org.gvsig.fmap.geom.operation.DrawOperationContext; |
|
34 | 32 |
import org.gvsig.fmap.geom.primitive.Circle; |
35 | 33 |
import org.gvsig.fmap.mapcontrol.MapControlDrawer; |
36 | 34 |
|
... | ... | |
39 | 37 |
* |
40 | 38 |
* @author Vicente Caballero Navarro |
41 | 39 |
*/ |
42 |
public class CircleCADTool extends DefaultCADTool {
|
|
40 |
public class CircleCADTool extends AbstractSurfaceCADTool {
|
|
43 | 41 |
|
44 | 42 |
protected CircleCADToolContext _fsm; |
45 | 43 |
protected Point2D center; |
... | ... | |
48 | 46 |
protected Point2D thirdPoint; |
49 | 47 |
|
50 | 48 |
/** |
51 |
* Crea un nuevo LineCADTool. |
|
52 |
*/ |
|
53 |
public CircleCADTool() { |
|
54 |
} |
|
55 |
|
|
56 |
/** |
|
57 | 49 |
* M?todo de incio, para poner el c?digo de todo lo que se requiera de una |
58 | 50 |
* carga previa a la utilizaci?n de la herramienta. |
59 | 51 |
*/ |
... | ... | |
61 | 53 |
_fsm = new CircleCADToolContext(this); |
62 | 54 |
} |
63 | 55 |
|
64 |
/* |
|
65 |
* (non-Javadoc) |
|
66 |
* |
|
67 |
* @see |
|
68 |
* com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap |
|
69 |
* .layers.FBitSet, double, double) |
|
70 |
*/ |
|
71 | 56 |
public void transition(double x, double y, InputEvent event) { |
72 | 57 |
_fsm.addPoint(x, y, event); |
73 | 58 |
} |
74 | 59 |
|
75 |
/* |
|
76 |
* (non-Javadoc) |
|
77 |
* |
|
78 |
* @see |
|
79 |
* com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap |
|
80 |
* .layers.FBitSet, double) |
|
81 |
*/ |
|
82 | 60 |
public void transition(double d) { |
83 | 61 |
_fsm.addValue(d); |
84 | 62 |
} |
85 | 63 |
|
86 |
/* |
|
87 |
* (non-Javadoc) |
|
88 |
* |
|
89 |
* @see |
|
90 |
* com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap |
|
91 |
* .layers.FBitSet, java.lang.String) |
|
92 |
*/ |
|
93 | 64 |
public void transition(String s) throws CommandException { |
94 | 65 |
if (!super.changeCommand(s)) { |
95 | 66 |
_fsm.addOption(s); |
... | ... | |
161 | 132 |
|
162 | 133 |
if (status == "Circle.PointOrRadius") { |
163 | 134 |
Point2D currentPoint = new Point2D.Double(x, y); |
164 |
DrawOperationContext doc = new DrawOperationContext(); |
|
165 | 135 |
Circle circle = |
166 | 136 |
createCircle(createPoint(center), createPoint(currentPoint)); |
167 | 137 |
renderer.draw(circle, mapControlManager.getAxisReferenceSymbol()); |
... | ... | |
227 | 197 |
return "_circle"; |
228 | 198 |
} |
229 | 199 |
|
230 |
public boolean isApplicable(int shapeType) { |
|
231 |
switch (shapeType) { |
|
232 |
case Geometry.TYPES.POINT: |
|
233 |
case Geometry.TYPES.MULTIPOINT: |
|
234 |
return false; |
|
235 |
} |
|
236 |
return true; |
|
200 |
@Override |
|
201 |
protected int getSupportedPrimitiveGeometryType() { |
|
202 |
return CIRCLE; |
|
237 | 203 |
} |
238 |
|
|
239 | 204 |
} |
Also available in: Unified diff