Revision 94 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProvider.java

View differences:

CircleCREditingProvider.java
20 20
import org.gvsig.fmap.geom.primitive.Circle;
21 21
import org.gvsig.fmap.geom.primitive.Curve;
22 22
import org.gvsig.fmap.geom.primitive.Point;
23
import org.gvsig.fmap.geom.primitive.SurfaceAppearance;
23 24
import org.gvsig.fmap.geom.type.GeometryType;
24 25
import org.gvsig.tools.ToolsLocator;
25 26
import org.gvsig.tools.dynobject.DynObject;
......
37 38
import org.gvsig.vectorediting.lib.spi.EditingProvider;
38 39
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
39 40
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
41
import org.slf4j.Logger;
42
import org.slf4j.LoggerFactory;
40 43

  
41 44
public class CircleCREditingProvider extends AbstractEditingProvider implements
42 45
    EditingProvider {
43 46

  
47
  private static final Logger logger = LoggerFactory
48
		      .getLogger(CircleCREditingProvider.class);
49

  
44 50
  private I18nManager i18nManager = ToolsLocator.getI18nManager();
45 51

  
46 52
  protected GeometryManager geomManager = GeometryLocator.getGeometryManager();
......
71 77
        Curve line = ((EditingProviderServices) getProviderServices())
72 78
            .createLine(centerPoint.getX(), centerPoint.getY(),
73 79
                mousePosition.getX(), mousePosition.getY(), featureStore);
74
        Arc circle = ((EditingProviderServices) getProviderServices())
75
            .createArc(centerPoint, mousePosition.distance(centerPoint), 0,
76
                2 * Math.PI, featureStore);
80
        double r = mousePosition.distance(centerPoint);
81
        Arc circle = ((EditingProviderServices) getProviderServices()).createArc(centerPoint, mousePosition.distance(centerPoint), 0, 2 * Math.PI, featureStore);
77 82
        geometries.addGeometry(circle);
78 83
        geometries.addGeometry(centerPoint);
79 84
        geometries.addGeometry(line);
......
163 168
      GeometryType storeGeomType = editingProviderServices
164 169
          .getGeomType(featureStore);
165 170
      Geometry geometry = null;
166
      if (storeGeomType.isTypeOf(SURFACE) || storeGeomType.isTypeOf(GEOMETRY)) {
171
      if (storeGeomType.isTypeOf(MULTISURFACE)) {
172
    	  geometry = editingProviderServices.createCircle(centerPoint,
173
    			  radiusValue, featureStore);
174
    	  MultiSurface multisurface;
175
    	  multisurface = geomManager.createMultiSurface(storeGeomType
176
    			  .getSubType());
177
    	  multisurface.addSurface((Circle) geometry);
178
    	  return multisurface;
179
      } else {
167 180
        geometry = editingProviderServices.createCircle(centerPoint,
168 181
            radiusValue, featureStore);
169 182
      }
170
      else if (storeGeomType.isTypeOf(MULTISURFACE)) {
171
        geometry = editingProviderServices.createCircle(centerPoint,
172
            radiusValue, featureStore);
173
        MultiSurface multisurface;
174
        multisurface = geomManager.createMultiSurface(storeGeomType
175
            .getSubType());
176
        multisurface.addSurface((Circle) geometry);
177
      }
178 183
      return geometry;
179 184
    }
180 185
    catch (Exception e) {
......
183 188
  }
184 189

  
185 190
  public void start() throws StartServiceException {
191
	  //TODO: A?adir comprobaci?n de si se puede realizar la operaci?n
186 192
    this.values = new HashMap<EditingServiceParameter, Object>();
187 193
  }
188 194

  

Also available in: Unified diff