Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20792/src/net/sourceforge/bprocessor/gl/tool
Modified Files:
FinalMoveTool.java
Log Message:
Improvement to movetool
Index: FinalMoveTool.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/FinalMoveTool.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** FinalMoveTool.java 25 Oct 2007 08:42:14 -0000 1.28
--- FinalMoveTool.java 25 Oct 2007 09:35:41 -0000 1.29
***************
*** 39,42 ****
--- 39,43 ----
private Collection<Geometric> geometrics;
+ private Space owner;
private Collection<Geometric> affected;
***************
*** 201,215 ****
private void computePlanes(Collection<Vertex> vertices) {
if (vertices.size() > 0) {
- Space space = vertices.iterator().next().getOwner();
Set<Vertex> mark = new HashSet();
Set<Edge> edges = new HashSet();
Set<Surface> surfaces = new HashSet();
mark.addAll(vertices);
! for (Edge current : space.getEdges()) {
if (mark.contains(current.getFrom()) && mark.contains(current.getTo())) {
edges.add(current);
}
}
! for (Surface current : space.getSurfaces()) {
if (edges.containsAll(current.getEdges())) {
surfaces.add(current);
--- 202,215 ----
private void computePlanes(Collection<Vertex> vertices) {
if (vertices.size() > 0) {
Set<Vertex> mark = new HashSet();
Set<Edge> edges = new HashSet();
Set<Surface> surfaces = new HashSet();
mark.addAll(vertices);
! for (Edge current : owner.getEdges()) {
if (mark.contains(current.getFrom()) && mark.contains(current.getTo())) {
edges.add(current);
}
}
! for (Surface current : owner.getSurfaces()) {
if (edges.containsAll(current.getEdges())) {
surfaces.add(current);
***************
*** 239,245 ****
private Map<Vertex, Direction> computeDirectionMap(Collection<Vertex> vertices) {
if (vertices.size() > 0) {
! Space space = vertices.iterator().next().getOwner();
Map<Vertex, Direction> slidemap = new HashMap();
! Map<Vertex, Collection<Edge>> edgemap = space.edgeMap(vertices);
for (Vertex current : vertices) {
--- 239,245 ----
private Map<Vertex, Direction> computeDirectionMap(Collection<Vertex> vertices) {
if (vertices.size() > 0) {
!
Map<Vertex, Direction> slidemap = new HashMap();
! Map<Vertex, Collection<Edge>> edgemap = owner.edgeMap(vertices);
for (Vertex current : vertices) {
***************
*** 418,426 ****
}
! Space owner = Project.getInstance().getActiveSpace();
for (Geometric current : geometrics) {
if (current.getOwner() != owner) {
GUI.getInstance().alert("All objects must belong to active space");
! geometrics = null;
return;
}
--- 418,426 ----
}
! owner = Project.getInstance().getActiveSpace();
for (Geometric current : geometrics) {
if (current.getOwner() != owner) {
GUI.getInstance().alert("All objects must belong to active space");
! cleanUp();
return;
}
***************
*** 448,453 ****
}
} else {
- Geometric geometric = geometrics.iterator().next();
- Space owner = geometric.getOwner();
if (copy) {
owner.removeProtected(geometrics);
--- 448,451 ----
***************
*** 501,505 ****
public void cleanUp() {
if (start != null) {
! mover.revert();
}
super.cleanUp();
--- 499,505 ----
public void cleanUp() {
if (start != null) {
! if (mover != null) {
! mover.revert();
! }
}
super.cleanUp();
***************
*** 513,516 ****
--- 513,517 ----
copy = false;
mover = null;
+ owner = null;
}
|