[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool RotationTool.java, 1.22, 1.23
Status: Pre-Alpha
Brought to you by:
henryml
|
From: rimestad <rim...@us...> - 2006-12-18 14:48:16
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2048/src/net/sourceforge/bprocessor/gl/tool Modified Files: RotationTool.java Log Message: Changed implementation to JOGL 1.0.0 with lots of new binary files in tools/jogl still need to add support for Sparc!!!!! Made changes to GLView and GLObject and View to support the new jogl and fixed rotation tool to work better (fix was to use isNaN on a double object not double != Double.NaN) Index: RotationTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/RotationTool.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** RotationTool.java 13 Dec 2006 17:42:45 -0000 1.22 --- RotationTool.java 18 Dec 2006 14:48:04 -0000 1.23 *************** *** 7,13 **** package net.sourceforge.bprocessor.gl.tool; - import net.java.games.jogl.GL; - import net.java.games.jogl.GLDrawable; - import net.java.games.jogl.GLU; import net.sourceforge.bprocessor.gl.GLView; import net.sourceforge.bprocessor.gl.model.GlObject; --- 7,10 ---- *************** *** 28,31 **** --- 25,29 ---- import java.awt.event.MouseEvent; + import java.text.MessageFormat; import java.util.HashSet; import java.util.Iterator; *************** *** 34,37 **** --- 32,39 ---- import java.util.Set; + import javax.media.opengl.GL; + import javax.media.opengl.GLAutoDrawable; + import javax.media.opengl.glu.GLU; + import org.apache.log4j.Logger; *************** *** 93,97 **** angle *= -1; } ! if (angle != Double.NaN) { totalAngle = (totalAngle + angle) % (2 * Math.PI); rotate(angle); --- 95,99 ---- angle *= -1; } ! if (!(new Double(angle).isNaN())) { totalAngle = (totalAngle + angle) % (2 * Math.PI); rotate(angle); *************** *** 109,113 **** } ! /** * Update the length field --- 111,115 ---- } ! /** * Update the length field *************** *** 117,122 **** if (p1 != null && p2 != null && from != null && current != null) { angle = Math.toDegrees(totalAngle); ! setLength(angle / 1000); ! pro.setAngle((int)angle); } } --- 119,124 ---- if (p1 != null && p2 != null && from != null && current != null) { angle = Math.toDegrees(totalAngle); ! glv.setLengthValue(MessageFormat.format("{0,number,###.##}", ! new Object[]{new Double(Math.round(angle * 100.0) / 100.0)})); } } *************** *** 198,202 **** */ public void escape() { ! rotate(-totalAngle); cleanUp(); } --- 200,206 ---- */ public void escape() { ! if (totalAngle != 0) { ! rotate(-totalAngle); ! } cleanUp(); } *************** *** 228,231 **** --- 232,238 ---- edges.add(l); edges.add(onto); + if (from != null) { + edges.addAll(Selection.primary()); + } } } *************** *** 274,286 **** */ private void rotate(double angle) { ! if (angle != Double.NaN) { ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex v = (Vertex)iter.next(); ! Geometry.rotate(angle, onto.getDoublev()[Plane.X], ! onto.getDoublev()[Plane.Y], onto.getDoublev()[Plane.Z], v, p1); ! } ! } else { ! log.error("Angle were " + angle); } } --- 281,289 ---- */ private void rotate(double angle) { ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex v = (Vertex)iter.next(); ! Geometry.rotate(angle, onto.getDoublev()[Plane.X], ! onto.getDoublev()[Plane.Y], onto.getDoublev()[Plane.Z], v, p1); } } *************** *** 292,297 **** /** The location for the protractor */ private Plane plane; - /** The input rotation angle */ - private int angle; /** The center of the protractor */ private Vertex origin; --- 295,298 ---- *************** *** 309,313 **** */ public GlProtractor(Plane p, Vertex origin) { - angle = 0; plane = p; this.origin = origin; --- 310,313 ---- *************** *** 316,327 **** /** - * Setter of the angle of rotation - * @param angle The rotation angle to visualize - */ - public void setAngle(int angle) { - this.angle = angle; - } - - /** * Setter for the start vertex * @param start the first vertex in the rotation --- 316,319 ---- *************** *** 344,348 **** * @inheritDoc */ ! public void draw(GLDrawable gld) { Camera cam = Project.getInstance().getCurrentCamera(); Vertex camorig = new Vertex(cam.getCamera()); --- 336,341 ---- * @inheritDoc */ ! public void draw(GLAutoDrawable gld) { ! double angle = Math.toDegrees(totalAngle); Camera cam = Project.getInstance().getCurrentCamera(); Vertex camorig = new Vertex(cam.getCamera()); *************** *** 350,354 **** factor = dist / 20; GL gl = gld.getGL(); ! GLU glu = gld.getGLU(); // translate Vertex z = plane.normal(); --- 343,347 ---- factor = dist / 20; GL gl = gld.getGL(); ! GLU glu = new GLU(); // translate Vertex z = plane.normal(); *************** *** 359,375 **** } - /*gl.glColor3d(0, 0, 0); - gl.glLineWidth(2); - Iterator iter = edges.iterator(); - while (iter.hasNext()) { - Line l = (Line) iter.next(); - Vertex from = l.getPointAt(-5); - Vertex to = l.getPointAt(5); - gl.glBegin(GL.GL_LINE_STRIP); - gl.glVertex3d(from.getX(), from.getY(), from.getZ()); - gl.glVertex3d(to.getX(), to.getY(), to.getZ()); - gl.glEnd(); - } - */ // place the axis right if (start != null) { --- 352,355 ---- *************** *** 384,393 **** origin.getX(), origin.getY(), origin.getZ(), 1}; gl.glPushMatrix(); ! gl.glMultMatrixd(m); //draw ! ! ! gl.glColor4fv(new float[] {0.5f, 0.5f, 0.5f, 0.6f}); int sign = 1; if (angle < 0) { --- 364,371 ---- origin.getX(), origin.getY(), origin.getZ(), 1}; gl.glPushMatrix(); ! gl.glMultMatrixd(m, 0); //draw ! gl.glColor4fv(new float[] {0.5f, 0.5f, 0.5f, 0.6f}, 0); int sign = 1; if (angle < 0) { *************** *** 396,403 **** glu.gluPartialDisk( glu.gluNewQuadric(), 0, 2 * factor, 360, 1, 0, sign * (360 - Math.abs(angle))); ! gl.glColor4fv(new float[] {0.0f, 0.0f, 1.0f, 1.0f}); glu.gluPartialDisk(glu.gluNewQuadric(), 0, 2.2 * factor, 360, 1, 0, -angle); //restore matrix gl.glPopMatrix(); } --- 374,395 ---- glu.gluPartialDisk( glu.gluNewQuadric(), 0, 2 * factor, 360, 1, 0, sign * (360 - Math.abs(angle))); ! gl.glColor4fv(new float[] {0.0f, 0.0f, 1.0f, 1.0f}, 0); glu.gluPartialDisk(glu.gluNewQuadric(), 0, 2.2 * factor, 360, 1, 0, -angle); //restore matrix gl.glPopMatrix(); + + //draw lines + /*gl.glColor3d(0.2, 0.2, 0.2); + gl.glLineWidth(0.1f); + Iterator iter = edges.iterator(); + while (iter.hasNext()) { + Line l = (Line) iter.next(); + Vertex from = l.getPointAt(-1.8 * factor); + Vertex to = l.getPointAt(1.8 * factor); + gl.glBegin(GL.GL_LINE_STRIP); + gl.glVertex3d(from.getX(), from.getY(), from.getZ()); + gl.glVertex3d(to.getX(), to.getY(), to.getZ()); + gl.glEnd(); + }*/ } *************** *** 414,418 **** Edge tmp = new Edge(l.getPointAt(p1), l.getPointAt(p2)); Edge con = e.intersection(tmp); ! if (con.getLength() < 0.05) { if (tmp.coincides(con.getFrom())) { i = con.getFrom(); --- 406,410 ---- Edge tmp = new Edge(l.getPointAt(p1), l.getPointAt(p2)); Edge con = e.intersection(tmp); ! if (con.getLength() < 0.1) { if (tmp.coincides(con.getFrom())) { i = con.getFrom(); |