Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12274/src/net/sourceforge/bprocessor/gl/view
Modified Files:
View.java
Log Message:
Improvements to hit-detection
Index: View.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v
retrieving revision 1.86
retrieving revision 1.87
diff -C2 -d -r1.86 -r1.87
*** View.java 4 May 2006 12:30:08 -0000 1.86
--- View.java 5 May 2006 11:31:04 -0000 1.87
***************
*** 1783,1786 ****
--- 1783,1806 ----
}
+ // If an construction edge is hit, see if there is a real edge
+ // coincident with the construction-edge.
+
+ if (edge != null) {
+ edges.remove(edge);
+ if (edge.getConstructor()) {
+ Iterator iter = edges.iterator();
+
+ while (iter.hasNext()) {
+ Edge current = (Edge) iter.next();
+ if (!current.getConstructor()) {
+ if (edge.intersects(current.getFrom()) && edge.intersects(current.getTo())) {
+ edge = current;
+ break;
+ }
+ }
+ }
+ }
+ }
+
if (intersections) {
Transformation transformation = this.transformation();
***************
*** 1793,1800 ****
} else {
if (edge != null) {
-
Edge e1 = edge;
Vertex v1 = e1.getTo().minus(e1.getFrom());
! edges.remove(edge);
Iterator iter = edges.iterator();
--- 1813,1819 ----
} else {
if (edge != null) {
Edge e1 = edge;
Vertex v1 = e1.getTo().minus(e1.getFrom());
!
Iterator iter = edges.iterator();
|