11 #ifndef _RD_RINGINFO_H
12 #define _RD_RINGINFO_H
17 #include <boost/shared_ptr.hpp>
20 #include <RingDecomposerLib.h>
39 : df_init(other.df_init),
40 d_atomMembers(other.d_atomMembers),
41 d_bondMembers(other.d_bondMembers),
42 d_atomRings(other.d_atomRings),
43 d_bondRings(other.d_bondRings),
44 d_atomRingFamilies(other.d_atomRingFamilies),
45 d_bondRingFamilies(other.d_bondRingFamilies)
47 ,dp_urfData(other.dp_urfData)
71 unsigned int addRing(
const INT_VECT &atomIndices,
82 bool isAtomInRingOfSize(
unsigned int idx,
unsigned int size)
const;
88 unsigned int numAtomRings(
unsigned int idx)
const;
94 unsigned int minAtomRingSize(
unsigned int idx)
const;
113 bool isBondInRingOfSize(
unsigned int idx,
unsigned int size)
const;
119 unsigned int numBondRings(
unsigned int idx)
const;
125 unsigned int minBondRingSize(
unsigned int idx)
const;
134 unsigned int numRings()
const;
158 unsigned int addRingFamily(
const INT_VECT &atomIndices,
165 unsigned int numRingFamilies()
const;
172 unsigned int numRelevantCycles()
const;
179 const VECT_INT_VECT &atomRingFamilies()
const {
return d_atomRingFamilies; };
186 const VECT_INT_VECT &bondRingFamilies()
const {
return d_bondRingFamilies; };
189 bool areRingFamiliesInitialized()
const {
return dp_urfData != NULL; }
196 void preallocate(
unsigned int numAtoms,
unsigned int numBonds);
199 DataType d_atomMembers, d_bondMembers;
205 boost::shared_ptr<RDL_data> dp_urfData;