| Clazz.declarePackage ("JM"); | |
| Clazz.load (["JM.AtomIteratorWithinModel"], "JM.AtomIteratorWithinModelSet", null, function () { | |
| c$ = Clazz.decorateAsClass (function () { | |
| this.bsModels = null; | |
| this.center = null; | |
| this.distance = 0; | |
| Clazz.instantialize (this, arguments); | |
| }, JM, "AtomIteratorWithinModelSet", JM.AtomIteratorWithinModel); | |
| Clazz.makeConstructor (c$, | |
| function (bsModels) { | |
| Clazz.superConstructor (this, JM.AtomIteratorWithinModelSet, []); | |
| this.bsModels = bsModels; | |
| }, "JU.BS"); | |
| Clazz.overrideMethod (c$, "setCenter", | |
| function (center, distance) { | |
| this.center = center; | |
| this.distance = distance; | |
| this.set (0); | |
| }, "JU.T3,~N"); | |
| Clazz.defineMethod (c$, "set", | |
| function (iModel) { | |
| if ((this.modelIndex = this.bsModels.nextSetBit (iModel)) < 0 || (this.cubeIterator = this.bspf.getCubeIterator (this.modelIndex)) == null) return false; | |
| this.setCenter2 (this.center, this.distance); | |
| return true; | |
| }, "~N"); | |
| Clazz.overrideMethod (c$, "hasNext", | |
| function () { | |
| if (this.hasNext2 ()) return true; | |
| if (!this.set (this.modelIndex + 1)) return false; | |
| return this.hasNext (); | |
| }); | |
| }); | |