Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20077/src/net/sourceforge/bprocessor/gl/view
Modified Files:
View3D.java
Log Message:
Refractoring of ray-plane intersection code using new constructors for Vertex and Edge
Index: View3D.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View3D.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** View3D.java 31 Aug 2005 08:03:32 -0000 1.12
--- View3D.java 31 Aug 2005 08:33:55 -0000 1.13
***************
*** 167,188 ****
double x = coords[0];
! double y = coords[1];
Transformation transformation = transformation();
Plane xy = new Plane(0, 0, 1, 0);
! Vertex near = new Vertex("near");
! near.setX(x);
! near.setY(AbstractView.getHeight() - y);
! near.setZ(0.0);
! Vertex far = new Vertex("far");
! far.setX(x);
! far.setY(AbstractView.getHeight() - y);
! far.setZ(1.0);
! Edge ray = new Edge("ray");
! ray.setFrom(near);
! ray.setTo(far);
ray = transformation.unProject(ray);
Vertex vertex = xy.intersection(ray);
return new double[] {vertex.getX(), vertex.getY(), vertex.getZ()};
} else {
--- 167,181 ----
double x = coords[0];
! double y = AbstractView.getHeight() - coords[1];
Transformation transformation = transformation();
Plane xy = new Plane(0, 0, 1, 0);
! Vertex near = new Vertex("near", x, y, 0.0);
! Vertex far = new Vertex("far", x, y, 1.0);
! Edge ray = new Edge("ray", near, far);
ray = transformation.unProject(ray);
Vertex vertex = xy.intersection(ray);
+
return new double[] {vertex.getX(), vertex.getY(), vertex.getZ()};
} else {
|