Revision 491 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.polarmatrix/src/main/java/org/gvsig/vectorediting/lib/prov/polarmatrix/PolarMatrixEditingProvider.java
PolarMatrixEditingProvider.java | ||
---|---|---|
43 | 43 |
import org.gvsig.fmap.geom.aggregate.MultiCurve; |
44 | 44 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
45 | 45 |
import org.gvsig.fmap.geom.aggregate.MultiSurface; |
46 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
|
46 | 47 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
47 | 48 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
48 | 49 |
import org.gvsig.fmap.geom.primitive.Arc; |
... | ... | |
335 | 336 |
Integer elementsNumberValue, Boolean rotateElementsValue, |
336 | 337 |
Point centerPointValue, Double angle) |
337 | 338 |
throws GeometryOperationNotSupportedException, |
338 |
GeometryOperationException { |
|
339 |
GeometryOperationException, CreateGeometryException {
|
|
339 | 340 |
|
340 | 341 |
Geometry[] geometryMatrix = new Geometry[elementsNumberValue]; |
341 | 342 |
|
... | ... | |
346 | 347 |
at = getRotateAffineTransform(centerPointValue, angle * i); |
347 | 348 |
} else { |
348 | 349 |
at = getRotateAffineTransform(centerPointValue, angle * i); |
349 |
Point lowerCorner = geometry.getEnvelope().getLowerCorner(); |
|
350 |
Point lowerCornerCloned = (Point) lowerCorner.cloneGeometry(); |
|
351 |
lowerCornerCloned.transform(at); |
|
352 |
at = getMoveAffineTransform(lowerCorner, lowerCornerCloned); |
|
350 |
|
|
351 |
double centerX = geometry.getEnvelope().getCenter(0); |
|
352 |
double centerY = geometry.getEnvelope().getCenter(1); |
|
353 |
GeometryManager geometryManager = |
|
354 |
GeometryLocator.getGeometryManager(); |
|
355 |
Point geometryCenter = |
|
356 |
geometryManager.createPoint(centerX, centerY, GEOM2D); |
|
357 |
|
|
358 |
Point geometryCenterCloned = (Point) geometryCenter.cloneGeometry(); |
|
359 |
geometryCenterCloned.transform(at); |
|
360 |
at = getMoveAffineTransform(geometryCenter, geometryCenterCloned); |
|
353 | 361 |
} |
354 | 362 |
|
355 | 363 |
Geometry clonedGeometry = geometry.cloneGeometry(); |
Also available in: Unified diff