home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Programming / lsEstuff / oldarraystuff / newArrayZYX.e < prev    next >
Encoding:
Text File  |  1999-09-19  |  1.4 KB  |  72 lines

  1. OPT MODULE
  2.  
  3. MODULE '*xliv'
  4. MODULE '*newArrayX'
  5. MODULE '*newArrayYX'
  6.  
  7. EXPORT OBJECT newArrayZYX
  8.    PRIVATE
  9.    zlist:PTR TO xliv
  10. ENDOBJECT
  11.  
  12. PROC newArrayZYX() OF newArrayZYX IS NEW self.zlist
  13.  
  14. PROC setE(z, y, x, value) OF newArrayZYX
  15.    DEF n:PTR TO xniv
  16.    DEF nayx:PTR TO newArrayYX
  17.    n := self.zlist.find(z)
  18.    IF n = NIL
  19.       n := self.zlist.create_xniv(z)
  20.       NEW nayx.newArrayYX()
  21.       n.value := nayx
  22.    ENDIF
  23.  
  24.    nayx.setE(y, x, value)
  25. ENDPROC
  26.  
  27. PROC getE(z, y, x) OF newArrayZYX
  28.    DEF n:PTR TO xniv
  29.    DEF nayx:PTR TO newArrayYX
  30.    n := self.zlist.find(z)
  31.    IF n = NIL THEN RETURN NIL
  32.    nayx := n.value
  33. ENDPROC nayx.getE(y, x)
  34.  
  35. PROC unsetE(z, y, x) OF newArrayZYX
  36.    DEF n:PTR TO xniv
  37.    DEF nayx:PTR TO newArrayYX
  38.    n := self.zlist.find(z)
  39.    IF n = NIL THEN RETURN NIL
  40.    nayx := n.value
  41.    nayx.unsetE(y, x)
  42.    IF nayx.countY() = NIL
  43.       END nayx
  44.       self.zlist.delete_xniv(n)
  45.    ENDIF
  46. ENDPROC
  47.  
  48. PROC clearA() OF newArrayZYX
  49.    DEF n:PTR TO xniv
  50.    DEF nayx:PTR TO newArrayYX
  51.    n := self.zlist.first()
  52.    WHILE n
  53.       nayx := n.value
  54.       END nayx
  55.       self.zlist.delete_xniv(n)
  56.       n := n.next
  57.    ENDWHILE
  58. ENDPROC
  59.  
  60. PROC end() OF newArrayZYX
  61.    self.clearA()
  62.    END self.zlist
  63. ENDPROC
  64.  
  65. PROC countZ() OF newArrayZYX IS self.zlist.count()
  66.  
  67. PROC getnewArrayYX(z) OF newArrayZYX
  68.    DEF n:PTR TO xniv
  69.    n := self.zlist.find(z)
  70.    IF n = NIL THEN RETURN NIL
  71. ENDPROC n.value
  72.