Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4804/src/net/sourceforge/bprocessor/gl/view
Modified Files:
View.java
Log Message:
More context for element-modelling
Index: View.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/View.java,v
retrieving revision 1.144
retrieving revision 1.145
diff -C2 -d -r1.144 -r1.145
*** View.java 28 Aug 2006 07:27:15 -0000 1.144
--- View.java 28 Aug 2006 08:20:52 -0000 1.145
***************
*** 794,797 ****
--- 794,837 ----
/**
+ * @param active Space
+ * @return Supporting edges
+ */
+ public Collection collectSupportingEdges(Space active) {
+ if (active == Project.getInstance().world()) {
+ return new LinkedList();
+ } else {
+ Space empty = active.getOwner().getEmpty();
+ Collection envelope = active.getEnvelope();
+ Set spaces = new HashSet();
+ {
+ Iterator iter = envelope.iterator();
+ while (iter.hasNext()) {
+ Surface current = (Surface) iter.next();
+ Space other;
+ if (current.getFrontDomain() == active) {
+ other = current.getBackDomain();
+ } else {
+ other = current.getFrontDomain();
+ }
+ if (other != empty) {
+ spaces.add(other);
+ }
+ }
+ }
+ Set surfaces = new HashSet();
+ surfaces.addAll(envelope);
+ {
+ Iterator iter = spaces.iterator();
+ while (iter.hasNext()) {
+ Space current = (Space) iter.next();
+ surfaces.addAll(current.getEnvelope());
+ }
+ }
+ Collection edges = Surface.edges(surfaces);
+ return edges;
+ }
+ }
+
+ /**
* Draw the model normally
* @param gld The GLDrawable
***************
*** 1039,1047 ****
private void drawEdges(GLDrawable gld) {
drawGeneralEdges(gld, tempEdges);
-
Space active = Project.getInstance().getActiveSpace();
if (active != Project.getInstance().world()) {
! Collection envelope = active.getEnvelope();
! Collection edges = Surface.edges(envelope);
drawConstructionEdges(gld, edges);
}
--- 1079,1085 ----
private void drawEdges(GLDrawable gld) {
drawGeneralEdges(gld, tempEdges);
Space active = Project.getInstance().getActiveSpace();
if (active != Project.getInstance().world()) {
! Collection edges = collectSupportingEdges(active);
drawConstructionEdges(gld, edges);
}
***************
*** 1781,1786 ****
if (selectionMode != OBJECTS) {
! Collection envelope = space.getEnvelope();
! Collection envelopeEdges = Surface.edges(envelope);
edges.addAll(envelopeEdges);
Collection envelopeVertices = Edge.vertices(envelopeEdges);
--- 1819,1823 ----
if (selectionMode != OBJECTS) {
! Collection envelopeEdges = collectSupportingEdges(space);
edges.addAll(envelopeEdges);
Collection envelopeVertices = Edge.vertices(envelopeEdges);
|