Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16789
Modified Files:
Space.java
Log Message:
made Space inherit from geometric and implemented the collect method
Index: Space.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Space.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** Space.java 12 Apr 2006 14:29:27 -0000 1.25
--- Space.java 13 Apr 2006 14:00:44 -0000 1.26
***************
*** 28,32 ****
* column="DOMAIN_ID"
*/
! public class Space extends Entity implements Parametric {
/** Default */
private static final long serialVersionUID = 1L;
--- 28,32 ----
* column="DOMAIN_ID"
*/
! public class Space extends Geometric implements Parametric {
/** Default */
private static final long serialVersionUID = 1L;
***************
*** 767,771 ****
*/
public Vertex center() {
! return null;
}
--- 767,780 ----
*/
public Vertex center() {
! Vertex average = new Vertex(0, 0, 0);
! Set verts = collect();
! if (!verts.isEmpty()) {
! Iterator it = verts.iterator();
! while (it.hasNext()) {
! average.add((Vertex)it.next());
! }
! average.scale(1.0 / (double)verts.size());
! }
! return average;
}
***************
*** 831,834 ****
--- 840,874 ----
}
+ /**
+ * Collects the set of vertices in this space
+ * @return the set of vertices
+ */
+ public Set collect() {
+ Set result = new HashSet();
+ Iterator it = envelope.iterator();
+ while (it.hasNext()) {
+ result.addAll(((Geometric)it.next()).collect());
+ }
+ if (container) {
+ it = elements.values().iterator();
+ while (it.hasNext()) {
+ result.addAll(((Geometric)it.next()).collect());
+ }
+ it = surfaces.values().iterator();
+ while (it.hasNext()) {
+ result.addAll(((Geometric)it.next()).collect());
+ }
+ it = edges.values().iterator();
+ while (it.hasNext()) {
+ result.addAll(((Geometric)it.next()).collect());
+ }
+ it = vertices.values().iterator();
+ while (it.hasNext()) {
+ result.addAll(((Geometric)it.next()).collect());
+ }
+ }
+ return result;
+ }
+
/**
* Delete the entity
|