[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Space.java,1.25,1.26
Status: Pre-Alpha
Brought to you by:
henryml
From: Nordholt <nor...@us...> - 2006-04-13 14:00:46
|
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 |