private void identifyBonds ( ) { IAtomContainer spt = getSpanningTree ( ) ; IRing ring ; int nBasicRings = 0 ; for ( int i = 0 ; i < totalEdgeCount ; i ++ ) { if ( ! bondsInTree [ i ] ) { ring = getRing ( spt , molecule . getBond ( i ) ) ; for ( int b = 0 ; b < ring . getBondCount ( ) ; b ++ ) { int m = molecule . indexOf ( ring . getBond ( b ) ) ; cb [ nBasicRings ] [ m ] = 1 ; } nBasicRings ++ ; } } bondsAcyclicCount = 0 ; bondsCyclicCount = 0 ; for ( int i = 0 ; i < totalEdgeCount ; i ++ ) { int s = 0 ; for ( int j = 0 ; j < nBasicRings ; j ++ ) { s += cb [ j ] [ i ] ; } switch ( s ) { case ( 0 ) : { bondsAcyclicCount ++ ; break ; } case ( 1 ) : { bondsCyclicCount ++ ; break ; } default : { bondsCyclicCount ++ ; } } } identifiedBonds = true ; }
Identifies whether bonds are cyclic or not . It is used by several other methods .