Clazz.declarePackage("JM");
Clazz.load(["JM.AtomIteratorWithinModel"], "JM.AtomIteratorWithinModelSet", null, function(){
var 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();
});
});
;//5.0.1-v4 Thu Feb 20 12:29:54 CST 2025
