test_class.file: display/renderbasic/src/test/java/org/openscience/cdk/renderer/generators/standard/StandardBondGeneratorTest.java
test_class.identifier: StandardBondGeneratorTest
test_case.body: @Test
      public void adenineRingPreference() throws Exception {
  
          IAtomContainer adenine = TestMoleculeFactory.makeAdenine();
          Map<IBond, IAtomContainer> ringMap = StandardBondGenerator.ringPreferenceMap(adenine);
  
          int nSize5 = 0, nSize6 = 0;
          for (IBond bond : adenine.bonds()) {
              IAtomContainer ring = ringMap.get(bond);
              // exocyclic bond
              if (ring == null) continue;
              int size = ring.getAtomCount();
              if (size == 5) nSize5++;
              if (size == 6) nSize6++;
          }
  
          // 6 bonds should point to the six member ring
          // 4 bonds should point to the five member ring
          assertThat(nSize5, is(4));
          assertThat(nSize6, is(6));
      }
test_case.class_method_signature: StandardBondGeneratorTest.adenineRingPreference()
test_case.full_signature: @Test public void adenineRingPreference()
test_case.identifier: adenineRingPreference
test_case.invocations: makeAdenine ringPreferenceMap bonds get getAtomCount assertThat is assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void adenineRingPreference()
focal_class.declarator: container
focal_class.modifier: private final
focal_class.original_string: private final IAtomContainer         container;
focal_class.type: IAtomContainer
focal_class.var_name: container
focal_class.declarator: symbols
focal_class.modifier: private final
focal_class.original_string: private final AtomSymbol[]           symbols;
focal_class.type: AtomSymbol[]
focal_class.var_name: symbols
focal_class.declarator: parameters
focal_class.modifier: private final
focal_class.original_string: private final RendererModel          parameters;
focal_class.type: RendererModel
focal_class.var_name: parameters
focal_class.declarator: donutGenerator
focal_class.modifier: private final
focal_class.original_string: private final StandardDonutGenerator donutGenerator;
focal_class.type: StandardDonutGenerator
focal_class.var_name: donutGenerator
focal_class.declarator: logger       = LoggingToolFactory.createLoggingTool(getClass())
focal_class.modifier: private final
focal_class.original_string: private final ILoggingTool               logger       = LoggingToolFactory.createLoggingTool(getClass());
focal_class.type: ILoggingTool
focal_class.var_name: logger
focal_class.declarator: atomIndexMap = new HashMap<IAtom, Integer>()
focal_class.modifier: private final
focal_class.original_string: private final Map<IAtom, Integer>        atomIndexMap = new HashMap<IAtom, Integer>();
focal_class.type: Map<IAtom, Integer>
focal_class.var_name: atomIndexMap
focal_class.declarator: ringMap
focal_class.modifier: private final
focal_class.original_string: private final Map<IBond, IAtomContainer> ringMap;
focal_class.type: Map<IBond, IAtomContainer>
focal_class.var_name: ringMap
focal_class.declarator: scale
focal_class.modifier: private final
focal_class.original_string: private final double                     scale;
focal_class.type: double
focal_class.var_name: scale
focal_class.declarator: stroke
focal_class.modifier: private final
focal_class.original_string: private final double                     stroke;
focal_class.type: double
focal_class.var_name: stroke
focal_class.declarator: separation
focal_class.modifier: private final
focal_class.original_string: private final double                     separation;
focal_class.type: double
focal_class.var_name: separation
focal_class.declarator: backOff
focal_class.modifier: private final
focal_class.original_string: private final double                     backOff;
focal_class.type: double
focal_class.var_name: backOff
focal_class.declarator: wedgeWidth
focal_class.modifier: private final
focal_class.original_string: private final double                     wedgeWidth;
focal_class.type: double
focal_class.var_name: wedgeWidth
focal_class.declarator: hashSpacing
focal_class.modifier: private final
focal_class.original_string: private final double                     hashSpacing;
focal_class.type: double
focal_class.var_name: hashSpacing
focal_class.declarator: waveSpacing
focal_class.modifier: private final
focal_class.original_string: private final double                     waveSpacing;
focal_class.type: double
focal_class.var_name: waveSpacing
focal_class.declarator: foreground
focal_class.modifier: private final
focal_class.original_string: private final Color                      foreground, annotationColor;
focal_class.type: Color
focal_class.var_name: foreground
focal_class.declarator: fancyBoldWedges
focal_class.modifier: private final
focal_class.original_string: private final boolean                    fancyBoldWedges, fancyHashedWedges;
focal_class.type: boolean
focal_class.var_name: fancyBoldWedges
focal_class.declarator: annotationDistance
focal_class.modifier: private final
focal_class.original_string: private final double                     annotationDistance, annotationScale;
focal_class.type: double
focal_class.var_name: annotationDistance
focal_class.declarator: font
focal_class.modifier: private final
focal_class.original_string: private final Font         font;
focal_class.type: Font
focal_class.var_name: font
focal_class.declarator: annotations
focal_class.modifier: private final
focal_class.original_string: private final ElementGroup annotations;
focal_class.type: ElementGroup
focal_class.var_name: annotations
focal_class.declarator: forceDelocalised
focal_class.modifier: private final
focal_class.original_string: private final boolean      forceDelocalised;
focal_class.type: boolean
focal_class.var_name: forceDelocalised
focal_class.file: display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/standard/StandardBondGenerator.java
focal_class.identifier: StandardBondGenerator
focal_class.class_method_signature: StandardBondGenerator.StandardBondGenerator(IAtomContainer container,
                                    AtomSymbol[] symbols,
                                    RendererModel parameters,
                                    ElementGroup annotations,
                                    Font font,
                                    double stroke,
                                    StandardDonutGenerator donutGen)
focal_class.full_signature: private  StandardBondGenerator(IAtomContainer container,
                                    AtomSymbol[] symbols,
                                    RendererModel parameters,
                                    ElementGroup annotations,
                                    Font font,
                                    double stroke,
                                    StandardDonutGenerator donutGen)
focal_class.identifier: StandardBondGenerator
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container,
                                    AtomSymbol[] symbols,
                                    RendererModel parameters,
                                    ElementGroup annotations,
                                    Font font,
                                    double stroke,
                                    StandardDonutGenerator donutGen)
focal_class.signature:  StandardBondGenerator(IAtomContainer container,
                                    AtomSymbol[] symbols,
                                    RendererModel parameters,
                                    ElementGroup annotations,
                                    Font font,
                                    double stroke,
                                    StandardDonutGenerator donutGen)
focal_class.class_method_signature: StandardBondGenerator.generateBonds(IAtomContainer container,
                                               AtomSymbol[] symbols,
                                               RendererModel parameters,
                                               double stroke,
                                               Font font,
                                               ElementGroup annotations,
                                               StandardDonutGenerator donutGen)
focal_class.full_signature: static IRenderingElement[] generateBonds(IAtomContainer container,
                                               AtomSymbol[] symbols,
                                               RendererModel parameters,
                                               double stroke,
                                               Font font,
                                               ElementGroup annotations,
                                               StandardDonutGenerator donutGen)
focal_class.identifier: generateBonds
focal_class.modifiers: static
focal_class.parameters: (IAtomContainer container,
                                               AtomSymbol[] symbols,
                                               RendererModel parameters,
                                               double stroke,
                                               Font font,
                                               ElementGroup annotations,
                                               StandardDonutGenerator donutGen)
focal_class.return: IRenderingElement[]
focal_class.signature: IRenderingElement[] generateBonds(IAtomContainer container,
                                               AtomSymbol[] symbols,
                                               RendererModel parameters,
                                               double stroke,
                                               Font font,
                                               ElementGroup annotations,
                                               StandardDonutGenerator donutGen)
focal_class.class_method_signature: StandardBondGenerator.generate(IBond bond)
focal_class.full_signature:  IRenderingElement generate(IBond bond)
focal_class.identifier: generate
focal_class.parameters: (IBond bond)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generate(IBond bond)
focal_class.class_method_signature: StandardBondGenerator.generateSingleBond(IBond bond, IAtom from, IAtom to)
focal_class.full_signature: private IRenderingElement generateSingleBond(IBond bond, IAtom from, IAtom to)
focal_class.identifier: generateSingleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, IAtom from, IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateSingleBond(IBond bond, IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generatePlainSingleBond(final IAtom from, final IAtom to)
focal_class.full_signature:  IRenderingElement generatePlainSingleBond(final IAtom from, final IAtom to)
focal_class.identifier: generatePlainSingleBond
focal_class.parameters: (final IAtom from, final IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generatePlainSingleBond(final IAtom from, final IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generateBoldWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.full_signature:  IRenderingElement generateBoldWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.identifier: generateBoldWedgeBond
focal_class.parameters: (IAtom from, IAtom to, List<IBond> toBonds)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateBoldWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.class_method_signature: StandardBondGenerator.generateHashedWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.full_signature:  IRenderingElement generateHashedWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.identifier: generateHashedWedgeBond
focal_class.parameters: (IAtom from, IAtom to, List<IBond> toBonds)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateHashedWedgeBond(IAtom from, IAtom to, List<IBond> toBonds)
focal_class.class_method_signature: StandardBondGenerator.canDrawFancyHashedWedge(IAtom to, List<IBond> toBonds, double length)
focal_class.full_signature: private boolean canDrawFancyHashedWedge(IAtom to, List<IBond> toBonds, double length)
focal_class.identifier: canDrawFancyHashedWedge
focal_class.modifiers: private
focal_class.parameters: (IAtom to, List<IBond> toBonds, double length)
focal_class.return: boolean
focal_class.signature: boolean canDrawFancyHashedWedge(IAtom to, List<IBond> toBonds, double length)
focal_class.class_method_signature: StandardBondGenerator.generateWavyBond(final IAtom from, final IAtom to)
focal_class.full_signature:  IRenderingElement generateWavyBond(final IAtom from, final IAtom to)
focal_class.identifier: generateWavyBond
focal_class.parameters: (final IAtom from, final IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateWavyBond(final IAtom from, final IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generateDoubleBond(IBond bond, boolean arom)
focal_class.full_signature: private IRenderingElement generateDoubleBond(IBond bond, boolean arom)
focal_class.identifier: generateDoubleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, boolean arom)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateDoubleBond(IBond bond, boolean arom)
focal_class.class_method_signature: StandardBondGenerator.specialOffsetBondNextToWedge(IAtom atom, List<IBond> bonds)
focal_class.full_signature: private boolean specialOffsetBondNextToWedge(IAtom atom, List<IBond> bonds)
focal_class.identifier: specialOffsetBondNextToWedge
focal_class.modifiers: private
focal_class.parameters: (IAtom atom, List<IBond> bonds)
focal_class.return: boolean
focal_class.signature: boolean specialOffsetBondNextToWedge(IAtom atom, List<IBond> bonds)
focal_class.class_method_signature: StandardBondGenerator.selectPlainSingleBond(List<IBond> bonds)
focal_class.full_signature: private IBond selectPlainSingleBond(List<IBond> bonds)
focal_class.identifier: selectPlainSingleBond
focal_class.modifiers: private
focal_class.parameters: (List<IBond> bonds)
focal_class.return: IBond
focal_class.signature: IBond selectPlainSingleBond(List<IBond> bonds)
focal_class.class_method_signature: StandardBondGenerator.isPlainBond(IBond bond)
focal_class.full_signature: private static boolean isPlainBond(IBond bond)
focal_class.identifier: isPlainBond
focal_class.modifiers: private static
focal_class.parameters: (IBond bond)
focal_class.return: boolean
focal_class.signature: boolean isPlainBond(IBond bond)
focal_class.class_method_signature: StandardBondGenerator.atWideEndOfWedge(final IAtom atom, final IBond bond)
focal_class.full_signature: private boolean atWideEndOfWedge(final IAtom atom, final IBond bond)
focal_class.identifier: atWideEndOfWedge
focal_class.modifiers: private
focal_class.parameters: (final IAtom atom, final IBond bond)
focal_class.return: boolean
focal_class.signature: boolean atWideEndOfWedge(final IAtom atom, final IBond bond)
focal_class.class_method_signature: StandardBondGenerator.generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean dashed)
focal_class.full_signature: private IRenderingElement generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean dashed)
focal_class.identifier: generateOffsetDoubleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean dashed)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean dashed)
focal_class.class_method_signature: StandardBondGenerator.generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean invert, boolean dashed)
focal_class.full_signature: private IRenderingElement generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean invert, boolean dashed)
focal_class.identifier: generateOffsetDoubleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean invert, boolean dashed)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateOffsetDoubleBond(IBond bond, IAtom atom1, IAtom atom2, IBond atom1Bond,
              List<IBond> atom2Bonds, boolean invert, boolean dashed)
focal_class.class_method_signature: StandardBondGenerator.generateCenteredDoubleBond(IBond bond, IAtom atom1, IAtom atom2, List<IBond> atom1Bonds,
              List<IBond> atom2Bonds)
focal_class.full_signature: private IRenderingElement generateCenteredDoubleBond(IBond bond, IAtom atom1, IAtom atom2, List<IBond> atom1Bonds,
              List<IBond> atom2Bonds)
focal_class.identifier: generateCenteredDoubleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, IAtom atom1, IAtom atom2, List<IBond> atom1Bonds,
              List<IBond> atom2Bonds)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateCenteredDoubleBond(IBond bond, IAtom atom1, IAtom atom2, List<IBond> atom1Bonds,
              List<IBond> atom2Bonds)
focal_class.class_method_signature: StandardBondGenerator.generateCrossedDoubleBond(IAtom from, IAtom to)
focal_class.full_signature: private IRenderingElement generateCrossedDoubleBond(IAtom from, IAtom to)
focal_class.identifier: generateCrossedDoubleBond
focal_class.modifiers: private
focal_class.parameters: (IAtom from, IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateCrossedDoubleBond(IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generateTripleBond(IBond bond, IAtom atom1, IAtom atom2)
focal_class.full_signature: private IRenderingElement generateTripleBond(IBond bond, IAtom atom1, IAtom atom2)
focal_class.identifier: generateTripleBond
focal_class.modifiers: private
focal_class.parameters: (IBond bond, IAtom atom1, IAtom atom2)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateTripleBond(IBond bond, IAtom atom1, IAtom atom2)
focal_class.class_method_signature: StandardBondGenerator.generateAttachPoint(IAtom atom, IBond bond)
focal_class.full_signature: private IRenderingElement generateAttachPoint(IAtom atom, IBond bond)
focal_class.identifier: generateAttachPoint
focal_class.modifiers: private
focal_class.parameters: (IAtom atom, IBond bond)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateAttachPoint(IAtom atom, IBond bond)
focal_class.class_method_signature: StandardBondGenerator.isAttachPoint(IAtom atom)
focal_class.full_signature: private boolean isAttachPoint(IAtom atom)
focal_class.identifier: isAttachPoint
focal_class.modifiers: private
focal_class.parameters: (IAtom atom)
focal_class.return: boolean
focal_class.signature: boolean isAttachPoint(IAtom atom)
focal_class.class_method_signature: StandardBondGenerator.addAnnotation(IAtom atom1, IAtom atom2, String label)
focal_class.full_signature: private void addAnnotation(IAtom atom1, IAtom atom2, String label)
focal_class.identifier: addAnnotation
focal_class.modifiers: private
focal_class.parameters: (IAtom atom1, IAtom atom2, String label)
focal_class.return: void
focal_class.signature: void addAnnotation(IAtom atom1, IAtom atom2, String label)
focal_class.class_method_signature: StandardBondGenerator.addAnnotation(IAtom atom1, IAtom atom2, String label, Vector2d perpendicular)
focal_class.full_signature: private void addAnnotation(IAtom atom1, IAtom atom2, String label, Vector2d perpendicular)
focal_class.identifier: addAnnotation
focal_class.modifiers: private
focal_class.parameters: (IAtom atom1, IAtom atom2, String label, Vector2d perpendicular)
focal_class.return: void
focal_class.signature: void addAnnotation(IAtom atom1, IAtom atom2, String label, Vector2d perpendicular)
focal_class.class_method_signature: StandardBondGenerator.generateDashedBond(Point2d fromPoint, Point2d toPoint, double start, double end)
focal_class.full_signature:  IRenderingElement generateDashedBond(Point2d fromPoint, Point2d toPoint, double start, double end)
focal_class.identifier: generateDashedBond
focal_class.parameters: (Point2d fromPoint, Point2d toPoint, double start, double end)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateDashedBond(Point2d fromPoint, Point2d toPoint, double start, double end)
focal_class.class_method_signature: StandardBondGenerator.generateDashedBond(IAtom from, IAtom to)
focal_class.full_signature:  IRenderingElement generateDashedBond(IAtom from, IAtom to)
focal_class.identifier: generateDashedBond
focal_class.parameters: (IAtom from, IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateDashedBond(IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generateArrowBond(IAtom from, IAtom to)
focal_class.full_signature:  IRenderingElement generateArrowBond(IAtom from, IAtom to)
focal_class.identifier: generateArrowBond
focal_class.parameters: (IAtom from, IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateArrowBond(IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.generateBoldBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.full_signature:  IRenderingElement generateBoldBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.identifier: generateBoldBond
focal_class.parameters: (IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateBoldBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.class_method_signature: StandardBondGenerator.generateHashBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.full_signature:  IRenderingElement generateHashBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.identifier: generateHashBond
focal_class.parameters: (IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateHashBond(IAtom from, IAtom to,
                                         List<IBond> fromBonds,
                                         List<IBond> toBonds)
focal_class.class_method_signature: StandardBondGenerator.generateDotBond(IAtom from, IAtom to)
focal_class.full_signature:  IRenderingElement generateDotBond(IAtom from, IAtom to)
focal_class.identifier: generateDotBond
focal_class.parameters: (IAtom from, IAtom to)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement generateDotBond(IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.newLineElement(Tuple2d a, Tuple2d b)
focal_class.full_signature:  IRenderingElement newLineElement(Tuple2d a, Tuple2d b)
focal_class.identifier: newLineElement
focal_class.parameters: (Tuple2d a, Tuple2d b)
focal_class.return: IRenderingElement
focal_class.signature: IRenderingElement newLineElement(Tuple2d a, Tuple2d b)
focal_class.class_method_signature: StandardBondGenerator.newPolygon(Color c, Tuple2d ... points)
focal_class.full_signature:  GeneralPath newPolygon(Color c, Tuple2d ... points)
focal_class.identifier: newPolygon
focal_class.parameters: (Color c, Tuple2d ... points)
focal_class.return: GeneralPath
focal_class.signature: GeneralPath newPolygon(Color c, Tuple2d ... points)
focal_class.class_method_signature: StandardBondGenerator.backOffPoint(IAtom from, IAtom to)
focal_class.full_signature:  Point2d backOffPoint(IAtom from, IAtom to)
focal_class.identifier: backOffPoint
focal_class.parameters: (IAtom from, IAtom to)
focal_class.return: Point2d
focal_class.signature: Point2d backOffPoint(IAtom from, IAtom to)
focal_class.class_method_signature: StandardBondGenerator.hasDisplayedSymbol(IAtom atom)
focal_class.full_signature:  boolean hasDisplayedSymbol(IAtom atom)
focal_class.identifier: hasDisplayedSymbol
focal_class.parameters: (IAtom atom)
focal_class.return: boolean
focal_class.signature: boolean hasDisplayedSymbol(IAtom atom)
focal_class.class_method_signature: StandardBondGenerator.backOffPointOf(AtomSymbol symbol, Point2d fromPoint, Point2d toPoint, double backOff)
focal_class.full_signature: static Point2d backOffPointOf(AtomSymbol symbol, Point2d fromPoint, Point2d toPoint, double backOff)
focal_class.identifier: backOffPointOf
focal_class.modifiers: static
focal_class.parameters: (AtomSymbol symbol, Point2d fromPoint, Point2d toPoint, double backOff)
focal_class.return: Point2d
focal_class.signature: Point2d backOffPointOf(AtomSymbol symbol, Point2d fromPoint, Point2d toPoint, double backOff)
focal_class.class_method_signature: StandardBondGenerator.winding(IBond bond1, IBond bond2)
focal_class.full_signature: static int winding(IBond bond1, IBond bond2)
focal_class.identifier: winding
focal_class.modifiers: static
focal_class.parameters: (IBond bond1, IBond bond2)
focal_class.return: int
focal_class.signature: int winding(IBond bond1, IBond bond2)
focal_class.class_method_signature: StandardBondGenerator.ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)
focal_class.full_signature: static Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)
focal_class.identifier: ringPreferenceMap
focal_class.modifiers: static
focal_class.parameters: (IAtomContainer container,
                                                          IRingSet smallest)
focal_class.return: Map<IBond, IAtomContainer>
focal_class.signature: Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)
focal_class.class_method_signature: StandardBondGenerator.ringPreferenceMap(IAtomContainer container)
focal_class.full_signature: static Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container)
focal_class.identifier: ringPreferenceMap
focal_class.modifiers: static
focal_class.parameters: (IAtomContainer container)
focal_class.return: Map<IBond, IAtomContainer>
focal_class.signature: Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container)
focal_class.class_method_signature: StandardBondGenerator.normalizeRingWinding(IAtomContainer container)
focal_class.full_signature: static void normalizeRingWinding(IAtomContainer container)
focal_class.identifier: normalizeRingWinding
focal_class.modifiers: static
focal_class.parameters: (IAtomContainer container)
focal_class.return: void
focal_class.signature: void normalizeRingWinding(IAtomContainer container)
focal_class.class_method_signature: StandardBondGenerator.winding(Point2d a, Point2d b, Point2d c)
focal_class.full_signature: static int winding(Point2d a, Point2d b, Point2d c)
focal_class.identifier: winding
focal_class.modifiers: static
focal_class.parameters: (Point2d a, Point2d b, Point2d c)
focal_class.return: int
focal_class.signature: int winding(Point2d a, Point2d b, Point2d c)
focal_method.body: static Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest) {
  
          if (smallest == null)
              smallest = Cycles.edgeShort(container).toRingSet();
  
          final List<IAtomContainer> rings = AtomContainerSetManipulator.getAllAtomContainers(smallest);
  
          Collections.sort(rings, new RingBondOffsetComparator(container));
  
          final Map<IBond, IAtomContainer> ringMap = new HashMap<IBond, IAtomContainer>();
  
          // index bond -> ring based on the first encountered bond
          for (IAtomContainer ring : rings) {
              normalizeRingWinding(ring);
              for (IBond bond : ring.bonds()) {
                  if (ringMap.containsKey(bond)) continue;
                  ringMap.put(bond, ring);
              }
          }
  
          return Collections.unmodifiableMap(ringMap);
      }
focal_method.class_method_signature: StandardBondGenerator.ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)
focal_method.full_signature: static Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)
focal_method.identifier: ringPreferenceMap
focal_method.invocations: toRingSet edgeShort getAllAtomContainers sort normalizeRingWinding bonds containsKey put unmodifiableMap
focal_method.modifiers: static
focal_method.parameters: (IAtomContainer container,
                                                          IRingSet smallest)
focal_method.return: Map<IBond, IAtomContainer>
focal_method.signature: Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container,
                                                          IRingSet smallest)