Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19957/src/net/sourceforge/bprocessor/gl/view
Modified Files:
AbstractView.java
Log Message:
More catmull-clark stuff
Index: AbstractView.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/AbstractView.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -C2 -d -r1.62 -r1.63
*** AbstractView.java 29 Nov 2005 19:02:51 -0000 1.62
--- AbstractView.java 30 Nov 2005 08:51:49 -0000 1.63
***************
*** 25,28 ****
--- 25,29 ----
import java.util.HashSet;
import java.util.Iterator;
+ import java.util.LinkedList;
import java.util.List;
import java.util.Collection;
***************
*** 719,724 ****
gl.glDisable(GL.GL_CULL_FACE);
-
- drawSpaces(gld);
gl.glDisable(GL.GL_POLYGON_OFFSET_FILL);
gl.glDisable(GL.GL_LIGHTING);
--- 720,723 ----
***************
*** 737,741 ****
break;
}
! }
gl.glColor3fv(SELECTED_COLOR);
--- 736,742 ----
break;
}
! }
!
! drawSpaces(gld);
gl.glColor3fv(SELECTED_COLOR);
***************
*** 1129,1132 ****
--- 1130,1157 ----
/**
+ * Collect edges from surface
+ * @param surface The surface
+ * @param result The result
+ */
+ void collectEdges(Surface surface, Collection result) {
+ Iterator iter = surface.getEdges().iterator();
+ while (iter.hasNext()) {
+ result.add(iter.next());
+ }
+ }
+
+ /**
+ * Collect edges from surfaces
+ * @param surfaces The surfaces
+ * @param result The result
+ */
+ void collectEdges(List surfaces, Collection result) {
+ Iterator iter = surfaces.iterator();
+ while (iter.hasNext()) {
+ collectEdges((Surface) iter.next(), result);
+ }
+ }
+
+ /**
* Draw the spaces by running the modellor
* @param gld The GLDrawable
***************
*** 1134,1137 ****
--- 1159,1163 ----
private void drawSpaces(GLDrawable gld) {
Set spaces = Project.getInstance().getDomains();
+
Iterator spaceIter = spaces.iterator();
while (spaceIter.hasNext()) {
***************
*** 1140,1148 ****
List surfaces = space.getModellor().generate();
if (surfaces != null) {
! Iterator iter = surfaces.iterator();
! while (iter.hasNext()) {
! Surface current = (Surface) iter.next();
! drawSurface(current);
! }
}
}
--- 1166,1188 ----
List surfaces = space.getModellor().generate();
if (surfaces != null) {
! LinkedList edges = new LinkedList();
! HashSet mark = new HashSet();
! collectEdges(surfaces, edges);
! gl.glDisable(GL.GL_DEPTH);
! gl.glLineWidth(1.0f);
! gl.glColor3fv(X_AXIS_COLOR);
! Iterator eit = edges.iterator();
! while (eit.hasNext()) {
! Edge e = (Edge)eit.next();
! if (!mark.contains(e)) {
! drawEdge(e);
! mark.add(e);
! }
! };
! // Iterator iter = surfaces.iterator();
! // while (iter.hasNext()) {
! // Surface current = (Surface) iter.next();
! // drawSurface(current);
! // }
}
}
|