Collection < Point2d [ ] > getCoordinates ( IAtomContainer mol ) { try { // create the library key to lookup an entry, we also store // the canonical out ordering int n = mol . getAtomCount ( ) ; int [ ] ordering = new int [ n ] ; String smiles = cansmi ( mol , ordering ) ; final Collection < Point2d [ ] > coordSet = templateMap . get ( smiles ) ; final List < Point2d [ ] > orderedCoordSet = new ArrayList <> ( coordSet . size ( ) ) ; for ( Point2d [ ] coords : coordSet ) { Point2d [ ] orderedCoords = new Point2d [ coords . length ] ; for ( int i = 0 ; i < n ; i ++ ) { orderedCoords [ i ] = new Point2d ( coords [ ordering [ i ] ] ) ; } orderedCoordSet . add ( orderedCoords ) ; } return Collections . unmodifiableList ( orderedCoordSet ) ; } catch ( CDKException e ) { return Collections . emptyList ( ) ; } }
Get all templated coordinates for the provided molecule . The return collection has coordinates ordered based on the input .