public IRingSet getAllRings ( ) throws NoSuchAtomException { IRingSet ringset = getBasicRings ( ) ; IRing newring ; int nBasicRings = ringset . getAtomContainerCount ( ) ; for ( int i = 0 ; i < nBasicRings ; i ++ ) getBondsInRing ( molecule , ( IRing ) ringset . getAtomContainer ( i ) , cb [ i ] ) ; for ( int i = 0 ; i < nBasicRings ; i ++ ) { for ( int j = i + 1 ; j < nBasicRings ; j ++ ) { //logger.debug("combining rings "+(i+1)+","+(j+1)); newring = combineRings ( ringset , i , j ) ; //newring = combineRings((Ring)ringset.get(i),(Ring)ringset.get(j)); if ( newring != null ) ringset . addAtomContainer ( newring ) ; } } return ringset ; }
All basic rings and the all pairs of basic rings share at least one edge combined .