Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24326/src/net/sourceforge/bprocessor/gl/view
Modified Files:
View.java
Log Message:
Line can now be used for snapping
Index: View.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v
retrieving revision 1.114
retrieving revision 1.115
diff -C2 -d -r1.114 -r1.115
*** View.java 18 Jul 2006 21:50:49 -0000 1.114
--- View.java 19 Jul 2006 08:42:12 -0000 1.115
***************
*** 1027,1044 ****
gl.glPopMatrix();
gl.glDisable(GL.GL_LIGHTING);
!
! {
! Vertex dir = direction.copy();
! dir.scale(View.gridSize() * 2);
! Vertex a = from.minus(dir);
! Vertex b = from.add(dir);
! gl.glLineWidth(0.5f);
! gl.glEnable(GL.GL_LINE_STIPPLE);
! gl.glBegin(GL.GL_LINE_STRIP);
! gl.glVertex3d(a.getX(), a.getY(), a.getZ());
! gl.glVertex3d(b.getX(), b.getY(), b.getZ());
! gl.glEnd();
! gl.glDisable(GL.GL_LINE_STIPPLE);
! }
}
--- 1027,1062 ----
gl.glPopMatrix();
gl.glDisable(GL.GL_LIGHTING);
! drawConstructorLine(from, direction, dist);
! }
!
! /**
! * Draw constructor line
! * @param from Origin
! * @param direction Direction vector
! * @param dist Dist
! */
! private void drawConstructorLine(Vertex from, Vertex direction, double dist) {
! gl.glLineWidth(0.5f);
! gl.glEnable(GL.GL_LINE_STIPPLE);
! gl.glBegin(GL.GL_LINE_STRIP);
! drawConstructorLineGeometry(from, direction, dist);
! gl.glDisable(GL.GL_LINE_STIPPLE);
! }
!
! /**
! * Draw constructor line
! * @param from Origin
! * @param direction Direction vector
! * @param dist Dist
! */
! private void drawConstructorLineGeometry(Vertex from, Vertex direction, double dist) {
! Vertex dir = direction.copy();
! dir.scale(View.gridSize() * 2);
! Vertex a = from.minus(dir);
! Vertex b = from.add(dir);
! gl.glBegin(GL.GL_LINE_STRIP);
! gl.glVertex3d(a.getX(), a.getY(), a.getZ());
! gl.glVertex3d(b.getX(), b.getY(), b.getZ());
! gl.glEnd();
}
***************
*** 1609,1614 ****
if (current instanceof Line) {
Line line = (Line) current;
if (camera.getType() == Camera.PERSPECTIVE) {
! dist = (line.getOrigin().minus(v)).length() * scale;
}
Vertex tip = line.tip(dist / 16 + dist / 20);
--- 1627,1641 ----
if (current instanceof Line) {
Line line = (Line) current;
+
+ Vertex origin = line.getOrigin();
+ Vertex direction = line.getDirection();
+ direction.scale(View.gridSize() * 2);
+ Vertex from = origin.minus(direction);
+ Vertex to = origin.add(direction);
+ Edge constructor = new Edge(from, to);
+ constructor.setConstructor(true);
+
if (camera.getType() == Camera.PERSPECTIVE) {
! dist = (origin.minus(v)).length() * scale;
}
Vertex tip = line.tip(dist / 16 + dist / 20);
***************
*** 1616,1619 ****
--- 1643,1649 ----
drawVertexHit(tip);
popName(gl);
+ pushName(gl, constructor);
+ drawEdge(constructor);
+ popName(gl);
}
}
|