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,
72 const INT_VECT &bondIndices);
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;
101 const VECT_INT_VECT &
atomRings()
const {
return d_atomRings; };
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;
141 const VECT_INT_VECT &
bondRings()
const {
return d_bondRings; };
158 unsigned int addRingFamily(
const INT_VECT &atomIndices,
159 const INT_VECT &bondIndices);
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;
200 VECT_INT_VECT d_atomRings, d_bondRings;
201 VECT_INT_VECT d_atomRingFamilies, d_bondRingFamilies;
205 boost::shared_ptr<RDL_data> dp_urfData;
std::vector< MemberType > DataType
const VECT_INT_VECT & bondRings() const
returns our bond-rings vectors
#define RDKIT_GRAPHMOL_EXPORT
std::vector< int > MemberType
A class to store information about a molecule's rings.
const VECT_INT_VECT & atomRings() const
returns our atom-rings vectors
RingInfo(const RingInfo &other)
std::vector< INT_VECT > VECT_INT_VECT
handles pickling (serializing) molecules
std::vector< int > INT_VECT
bool isInitialized() const
checks to see if we've been properly initialized