[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view View.java, 1.185, 1.186
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Michael L. <he...@us...> - 2007-02-15 14:57:54
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3279/src/net/sourceforge/bprocessor/gl/view Modified Files: View.java Log Message: Refactored camera-code Index: View.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v retrieving revision 1.185 retrieving revision 1.186 diff -C2 -d -r1.185 -r1.186 *** View.java 14 Feb 2007 14:40:28 -0000 1.185 --- View.java 15 Feb 2007 14:57:37 -0000 1.186 *************** *** 1068,1102 **** gl.glPushMatrix(); transform(space.getTransformations()); ! Collection surfaces = space.getSurfaces(); ! switch (drawMode) { ! case LIGHTING_MODE: { ! gl.glEnable(GL.GL_LIGHTING); ! gl.glEnable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glPolygonOffset(0.5f, 0.5f); ! gl.glEnable(GL.GL_CULL_FACE); ! gl.glCullFace(GL.GL_BACK); ! drawSurfaces(surfaces, FRONT, !active); ! gl.glCullFace(GL.GL_FRONT); ! drawSurfaces(surfaces, BACK, !active); ! gl.glDisable(GL.GL_CULL_FACE); ! gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glDisable(GL.GL_LIGHTING); ! break; ! } ! case WIREFRAME_MODE: { ! // NOTHING TO DO ! break; ! } ! case SOLID_MODE: { ! gl.glEnable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glPolygonOffset(1.0f, 1.0f); ! gl.glColor3fv(SURFACE_COLOR, 0); ! drawSurfaces(surfaces, BOTH, !active); ! gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); ! break; ! } } if (doDrawEdges) { --- 1068,1104 ---- gl.glPushMatrix(); transform(space.getTransformations()); ! if (active) { ! Collection surfaces = space.getSurfaces(); ! switch (drawMode) { ! case LIGHTING_MODE: { ! gl.glEnable(GL.GL_LIGHTING); ! gl.glEnable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glPolygonOffset(0.5f, 0.5f); ! gl.glEnable(GL.GL_CULL_FACE); ! gl.glCullFace(GL.GL_BACK); ! drawSurfaces(surfaces, FRONT); ! gl.glCullFace(GL.GL_FRONT); ! drawSurfaces(surfaces, BACK); ! gl.glDisable(GL.GL_CULL_FACE); ! gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glDisable(GL.GL_LIGHTING); ! break; ! } ! case WIREFRAME_MODE: { ! // NOTHING TO DO ! break; ! } ! case SOLID_MODE: { ! gl.glEnable(GL.GL_POLYGON_OFFSET_FILL); ! gl.glPolygonOffset(1.0f, 1.0f); ! gl.glColor3fv(SURFACE_COLOR, 0); ! drawSurfaces(surfaces, BOTH); ! gl.glDisable(GL.GL_POLYGON_OFFSET_FILL); ! break; ! } ! } } if (doDrawEdges) { *************** *** 1162,1171 **** Constructor c = (Constructor) o; Camera camera = Project.getInstance().getCurrentCamera(); ! Vertex v = new Vertex(camera.getCamera()); ! double scale = (camera.getFocalwidth() / 65); ! double dist = v.minus(new Vertex(camera.getCenter())).length() * scale; ! if (camera.getType() == Camera.PERSPECTIVE) { ! dist = (c.getOrigin().minus(v)).length() * scale; ! } drawGeneralConstructor(c, dist, false, OBJECTS); } --- 1164,1168 ---- Constructor c = (Constructor) o; Camera camera = Project.getInstance().getCurrentCamera(); ! double dist = camera.distance(c.getOrigin()); drawGeneralConstructor(c, dist, false, OBJECTS); } *************** *** 1197,1207 **** Space active = Project.getInstance().getActiveSpace(); Camera camera = Project.getInstance().getCurrentCamera(); ! Vertex v = new Vertex(camera.getCamera()); ! double scale = (camera.getFocalwidth() / 65); ! double dist = v.minus(new Vertex(camera.getCenter())).length() * scale; if (active != null) { gl.glPushMatrix(); transformTo(active); ! dist = v.distance(Project.getInstance().getActiveCoordinateSystem().center()) * scale; drawGeneralConstructor(Project.getInstance().getActiveCoordinateSystem(), dist, true, OBJECTS); --- 1194,1202 ---- Space active = Project.getInstance().getActiveSpace(); Camera camera = Project.getInstance().getCurrentCamera(); ! if (active != null) { gl.glPushMatrix(); transformTo(active); ! double dist = camera.distance(Project.getInstance().getActiveCoordinateSystem().center()); drawGeneralConstructor(Project.getInstance().getActiveCoordinateSystem(), dist, true, OBJECTS); *************** *** 1213,1227 **** gl.glPushMatrix(); transformTo(active); ! Collection cons = active.getConstructors(); ! Iterator iter = cons.iterator(); ! while (iter.hasNext()) { ! Object o = iter.next(); ! Constructor c = (Constructor)o; ! if (camera.getType() == Camera.PERSPECTIVE) { ! dist = (c.getOrigin().distance(v)) * scale; ! } ! if (target != c && !highligts.contains(c)) { ! if (c != Project.getInstance().getActiveCoordinateSystem()) { ! drawGeneralConstructor(c, dist, true, OBJECTS); } } --- 1208,1217 ---- gl.glPushMatrix(); transformTo(active); ! Collection<Constructor> constructors = active.getConstructors(); ! for (Constructor constructor : constructors) { ! double dist = camera.distance(constructor.getOrigin()); ! if (target != constructor && !highligts.contains(constructor)) { ! if (constructor != Project.getInstance().getActiveCoordinateSystem()) { ! drawGeneralConstructor(constructor, dist, true, OBJECTS); } } *************** *** 1235,1243 **** Iterator iter = tempConstructors.iterator(); while (iter.hasNext()) { ! Constructor c = (Constructor)iter.next(); ! if (camera.getType() == Camera.PERSPECTIVE) { ! dist = (c.getOrigin().distance(v)) * scale; ! } ! drawGeneralConstructor(c, dist, true, OBJECTS); } enableClipplanes(); --- 1225,1231 ---- Iterator iter = tempConstructors.iterator(); while (iter.hasNext()) { ! Constructor constructor = (Constructor)iter.next(); ! double dist = camera.distance(constructor.getOrigin()); ! drawGeneralConstructor(constructor, dist, true, OBJECTS); } enableClipplanes(); *************** *** 1265,1272 **** Line l = (Line)constructor; if (l.isEditable()) { ! drawVector(l.getOrigin(), l.tip(dist / 16)); } if (l.isActive()) { ! drawConstructorLine(l.getOrigin(), l.getDirection(), dist); } } else if (constructor instanceof CoordinateSystem) { --- 1253,1260 ---- Line l = (Line)constructor; if (l.isEditable()) { ! drawVector(l.getOrigin(), l.tip(dist)); } if (l.isActive()) { ! drawConstructorLine(l.getOrigin(), l.getDirection()); } } else if (constructor instanceof CoordinateSystem) { *************** *** 1326,1330 **** } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), i, dist); } if (cs.isEditable()) { --- 1314,1318 ---- } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), i); } if (cs.isEditable()) { *************** *** 1332,1336 **** } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), j, dist); } active = false; --- 1320,1324 ---- } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), j); } active = false; *************** *** 1364,1368 **** } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), i, dist); } if (colorize) { --- 1352,1356 ---- } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), i); } if (colorize) { *************** *** 1373,1377 **** } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), j, dist); } Vertex n = cs.getN(); --- 1361,1365 ---- } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), j); } Vertex n = cs.getN(); *************** *** 1383,1387 **** } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), n, dist); } } --- 1371,1375 ---- } if (cs.isActive() && active) { ! drawConstructorLine(cs.getOrigin(), n); } } *************** *** 1408,1412 **** private void drawConstructorVector(Vertex from, Vertex direction, double dist) { Vertex d = direction.copy(); ! d.scale(dist / 16); Vertex to = from.add(d); drawVectorBase(from, to); --- 1396,1400 ---- private void drawConstructorVector(Vertex from, Vertex direction, double dist) { Vertex d = direction.copy(); ! d.scale(dist); Vertex to = from.add(d); drawVectorBase(from, to); *************** *** 1465,1472 **** * @param dist Dist */ ! private void drawConstructorLine(Vertex from, Vertex direction, double dist) { gl.glLineWidth(1.0f); gl.glEnable(GL.GL_LINE_STIPPLE); ! drawConstructorLineGeometry(from, direction, dist); gl.glDisable(GL.GL_LINE_STIPPLE); } --- 1453,1460 ---- * @param dist Dist */ ! private void drawConstructorLine(Vertex from, Vertex direction) { gl.glLineWidth(1.0f); gl.glEnable(GL.GL_LINE_STIPPLE); ! drawConstructorLineGeometry(from, direction); gl.glDisable(GL.GL_LINE_STIPPLE); } *************** *** 1477,1483 **** * @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); --- 1465,1470 ---- * @param from Origin * @param direction Direction vector */ ! private void drawConstructorLineGeometry(Vertex from, Vertex direction) { Vertex dir = direction.copy(); dir.scale(View.gridSize() * 2); *************** *** 1556,1566 **** * @param surfaces The surfaces to draw * @param side The side of the Surface to draw - * @param dodge dodge colors */ ! private void drawSurfaces(Collection surfaces, int side, boolean dodge) { Iterator it = surfaces.iterator(); while (it.hasNext()) { Surface s = (Surface)it.next(); ! if (!hide(s) && !dodge) { boolean visible = isVisible(s); --- 1543,1552 ---- * @param surfaces The surfaces to draw * @param side The side of the Surface to draw */ ! private void drawSurfaces(Collection surfaces, int side) { Iterator it = surfaces.iterator(); while (it.hasNext()) { Surface s = (Surface)it.next(); ! if (!hide(s)) { boolean visible = isVisible(s); |