| Clazz.declarePackage ("JS"); | |
| Clazz.load (["JU.Lst", "$.BS"], "JS.SmilesRingSet", null, function () { | |
| c$ = Clazz.decorateAsClass (function () { | |
| this.bs = null; | |
| Clazz.instantialize (this, arguments); | |
| }, JS, "SmilesRingSet", JU.Lst); | |
| Clazz.prepareFields (c$, function () { | |
| this.bs = new JU.BS (); | |
| }); | |
| Clazz.makeConstructor (c$, | |
| function () { | |
| Clazz.superConstructor (this, JS.SmilesRingSet, []); | |
| }); | |
| Clazz.defineMethod (c$, "addSet", | |
| function (set, htEdgeMap) { | |
| for (var i = set.size (); --i >= 0; ) { | |
| var r = set.get (i); | |
| this.addRing (r); | |
| r.addEdges (htEdgeMap); | |
| } | |
| }, "JS.SmilesRingSet,java.util.Hashtable"); | |
| Clazz.defineMethod (c$, "addRing", | |
| function (ring) { | |
| this.addLast (ring); | |
| ring.$set = this; | |
| this.bs.or (ring); | |
| }, "JS.SmilesRing"); | |
| Clazz.defineMethod (c$, "getElectronCount", | |
| function (eCounts) { | |
| var eCount = 0; | |
| for (var j = this.bs.nextSetBit (0); j >= 0; j = this.bs.nextSetBit (j + 1)) eCount += eCounts[j]; | |
| return eCount; | |
| }, "~A"); | |
| }); | |