/// <summary> /// All cycles of smaller than or equal to the specified length. /// </summary> /// <param name="container">input container</param> /// <param name="length">maximum size or cycle to find</param> /// <returns>all cycles</returns> /// <exception cref="IntractableException">computation was not feasible</exception> public static Cycles FindAll(IAtomContainer container, int length) { return(AllSimpleFinder.Find(container, length)); }
/// <summary> /// Find all simple cycles in a molecule. The threshold values can not be /// tuned and is set at a value which will complete in reasonable time for /// most molecules. To change the threshold values please use the stand-alone /// <see cref="AllCycles"/> or <see cref="AllRingsFinder"/>. /// All cycles is every possible simple cycle (i.e. non-repeating vertices) /// in the chemical graph. As an example - all simple cycles of anthracene /// includes, 3 cycles of length 6, 2 of length 10 and 1 of length 14. /// </summary> /// <example> /// <include file='IncludeExamples.xml' path='Comments/Codes[@id="NCDK.Graphs.Cycles_Example.cs+FindAll"]/*' /> /// </example> /// <returns>all simple cycles</returns> /// <exception cref="IntractableException">the algorithm reached a limit which caused it to abort in reasonable time</exception> /// <seealso cref="AllSimpleFinder()"/> /// <seealso cref="AllCycles"/> /// <seealso cref="AllRingsFinder"/> public static Cycles FindAll(IAtomContainer container) { return(AllSimpleFinder.Find(container, container.Atoms.Count)); }