/[gzz]/gzz/lava/gzz/zzutil/Containment.java
ViewVC logotype

Diff of /gzz/lava/gzz/zzutil/Containment.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by benja, Mon Nov 25 23:52:50 2002 UTC revision 1.5 by benja, Tue Dec 3 01:30:09 2002 UTC
# Line 82  public class Containment { Line 82  public class Containment {
82       *        (i.e., has a connection on d..contain-list, or       *        (i.e., has a connection on d..contain-list, or
83       *        a connection negwards on d.contain).       *        a connection negwards on d.contain).
84       */       */
85      public static void addContainedCell(Cell add, Cell into)      public static void addContainedCell(Cell into, Cell add)
86                                 throws IllegalArgumentException {                                 throws IllegalArgumentException {
87            Dim d_contain = into.space.getDim(Ids.d_contain);
88            Dim d_contain_list = into.space.getDim(Ids.d_contain_list);
89    
90            if(add.s(d_contain, -1) != null ||
91               add.s(d_contain_list, -1) != null ||
92               add.s(d_contain_list) != null) {
93                throw new IllegalArgumentException("Already contained: "+add);
94            }
95    
96            if(into.s(d_contain) == null)
97                into.connect(d_contain, add);
98            else {
99                Cell c = into.s(d_contain, 1);
100                while(c.s(d_contain_list) != null &&
101                      c.s(d_contain_list).s(d_contain, -1) == null) {
102                    c = c.s(d_contain_list);
103                }
104                c.insert(d_contain_list, 1, add);
105            }
106      }      }
107  }  }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26