/** {@inheritDoc} */ @Override public IRenderingElement generate(IAtomContainer container, RendererModel model) { ElementGroup group = new ElementGroup(); this.ringSet = this.getRingSet(container); //Sort the ringSet consistently to ensure consistent rendering. //If this is omitted, the bonds may 'tremble'. ringSet.sortAtomContainers(new AtomContainerComparatorBy2DCenter()); for (IBond bond : container.bonds()) { group.add(MarkedElement.markupBond(this.generate(bond, model), bond)); } return group; }
g.setStroke(this.bondStroke); IRingSet ringSet = new SSSRFinder(molecule).findSSSR(); ringSet.sortAtomContainers((Comparator) new AtomContainerComparatorBy2DCenter()); this.addRingCentersToAtomAnnotationPositions(molecule, ringSet); Map<IBond, IAtomContainer> bondRingMap = this.fillBondRingMap(ringSet);
ringSet.sortAtomContainers(new AtomContainerComparatorBy2DCenter()); addRingCentersToAtomAnnotationPositions(molecule, ringSet); Map<IBond, IAtomContainer> bondRingMap = fillBondRingMap(ringSet);