/** * Completes the layout of a partially laid out ring. * * @param rset ring set * @param ring the ring to complete * @param bondLength the bond length */ boolean completePartiallyPlacedRing(IRingSet rset, IRing ring, double bondLength) { if (ring.getFlag(CDKConstants.ISPLACED)) return true; IRing partiallyPlacedRing = molecule.getBuilder().newInstance(IRing.class); for (IAtom atom : ring.atoms()) if (atom.getPoint2d() != null) atom.setFlag(CDKConstants.ISPLACED, true); AtomPlacer.copyPlaced(partiallyPlacedRing, ring); if (partiallyPlacedRing.getAtomCount() > 1 && partiallyPlacedRing.getAtomCount() < ring.getAtomCount()) { placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.FUSED, bondLength); placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.BRIDGED, bondLength); placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.SPIRO, bondLength); ring.setFlag(CDKConstants.ISPLACED, true); return true; } else { return false; } }
/** * Completes the layout of a partially laid out ring. * * @param rset ring set * @param ring the ring to complete * @param bondLength the bond length */ boolean completePartiallyPlacedRing(IRingSet rset, IRing ring, double bondLength) { if (ring.getFlag(CDKConstants.ISPLACED)) return true; IRing partiallyPlacedRing = molecule.getBuilder().newInstance(IRing.class); for (IAtom atom : ring.atoms()) if (atom.getPoint2d() != null) atom.setFlag(CDKConstants.ISPLACED, true); AtomPlacer.copyPlaced(partiallyPlacedRing, ring); if (partiallyPlacedRing.getAtomCount() > 1 && partiallyPlacedRing.getAtomCount() < ring.getAtomCount()) { placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.FUSED, bondLength); placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.BRIDGED, bondLength); placeConnectedRings(rset, partiallyPlacedRing, RingPlacer.SPIRO, bondLength); ring.setFlag(CDKConstants.ISPLACED, true); return true; } else { return false; } }
ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.FUSED, bondLength); ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.BRIDGED, bondLength); ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.SPIRO, bondLength);
ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.FUSED, bondLength); ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.BRIDGED, bondLength); ringPlacer.placeConnectedRings(rset, (IRing) ring, RingPlacer.SPIRO, bondLength);
do { if (ring.getFlag(CDKConstants.ISPLACED)) { ringPlacer.placeConnectedRings(rs, ring, RingPlacer.FUSED, bondLength); ringPlacer.placeConnectedRings(rs, ring, RingPlacer.BRIDGED, bondLength); ringPlacer.placeConnectedRings(rs, ring, RingPlacer.SPIRO, bondLength);
do { if (ring.getFlag(CDKConstants.ISPLACED)) { ringPlacer.placeConnectedRings(rs, ring, RingPlacer.FUSED, bondLength); ringPlacer.placeConnectedRings(rs, ring, RingPlacer.BRIDGED, bondLength); ringPlacer.placeConnectedRings(rs, ring, RingPlacer.SPIRO, bondLength);
placeRing(connectedRing, sharedAtoms, sharedAtomsCenter, newRingCenterVector, bondLength); connectedRing.setFlag(CDKConstants.ISPLACED, true); placeConnectedRings(rs, connectedRing, handleType, bondLength);
placeRing(connectedRing, sharedAtoms, sharedAtomsCenter, newRingCenterVector, bondLength); connectedRing.setFlag(CDKConstants.ISPLACED, true); placeConnectedRings(rs, connectedRing, handleType, bondLength);