Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3621/src/net/sourceforge/bprocessor/model
Modified Files:
ClippingPlane.java Geometry.java
Log Message:
made clipplanes more visible and changed the way edges and surfaces crossing the plane is found
Index: Geometry.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Geometry.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** Geometry.java 30 Oct 2006 10:42:17 -0000 1.35
--- Geometry.java 13 Nov 2006 14:56:15 -0000 1.36
***************
*** 34,48 ****
*/
public static Collection getActiveEdges(Space s) {
! if (s.getElements().isEmpty()) {
! Collection c = s.getEdges();
! if (c.isEmpty()) {
! Collection e = new ArrayList();
! Iterator iter = s.getEnvelope().iterator();
! while (iter.hasNext()) {
! e.addAll(((Surface)iter.next()).getEdges());
! }
! return e;
}
! return c;
} else {
ArrayList edges = new ArrayList();
--- 34,45 ----
*/
public static Collection getActiveEdges(Space s) {
! if (s.getElements().size() == 1) {
! Collection e = new ArrayList();
! e.addAll(s.getEdges());
! Iterator iter = s.getEnvelope().iterator();
! while (iter.hasNext()) {
! e.addAll(((Surface)iter.next()).getEdges());
}
! return e;
} else {
ArrayList edges = new ArrayList();
***************
*** 50,56 ****
while (iter.hasNext()) {
Space cur = (Space)iter.next();
! Collection c = getActiveEdges(cur);
! edges.addAll(c);
}
return edges;
}
--- 47,56 ----
while (iter.hasNext()) {
Space cur = (Space)iter.next();
! if (cur != s.getEmpty()) {
! Collection c = getActiveEdges(cur);
! edges.addAll(c);
! }
}
+ edges.addAll(s.getEdges());
return edges;
}
***************
*** 64,87 ****
*/
public static Collection getActiveSurfaces(Space s) {
! if (s.getElements().isEmpty()) {
! Collection c = s.getSurfaces();
! if (c.isEmpty()) {
! return s.getEnvelope();
! } else {
! return c;
! }
} else {
ArrayList surfaces = new ArrayList();
Iterator iter = s.getElements().iterator();
while (iter.hasNext()) {
! try {
! Space cur = (Space)iter.next();
surfaces.addAll(getActiveSurfaces(cur));
- } catch (ClassCastException e) {
- log.info("Elements in " + s + " were not only spaces");
- e.printStackTrace();
- break;
}
}
return surfaces;
}
--- 64,84 ----
*/
public static Collection getActiveSurfaces(Space s) {
! if (s.getElements().size() == 1) {
! //If void is the only space add all surfaces in the space and the envelope
! Collection c = new ArrayList();
! c.addAll(s.getSurfaces());
! c.addAll(s.getEnvelope());
! return c;
} else {
+ //If there are elements call recursive on elements and add envelope
ArrayList surfaces = new ArrayList();
Iterator iter = s.getElements().iterator();
while (iter.hasNext()) {
! Space cur = (Space)iter.next();
! if (cur != s.getEmpty()) {
surfaces.addAll(getActiveSurfaces(cur));
}
}
+ surfaces.addAll(s.getSurfaces());
return surfaces;
}
Index: ClippingPlane.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/ClippingPlane.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** ClippingPlane.java 7 Nov 2006 10:51:24 -0000 1.13
--- ClippingPlane.java 13 Nov 2006 14:56:14 -0000 1.14
***************
*** 77,81 ****
Vertex n = c.getN().copy();
n.normalize();
! n.scale(0.01);
c.move(n.getX(), n.getY(), n.getZ());
plane = c.plane();
--- 77,81 ----
Vertex n = c.getN().copy();
n.normalize();
! n.scale(0.00001);
c.move(n.getX(), n.getY(), n.getZ());
plane = c.plane();
|