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)
170 unsigned int addRingFamily(
const INT_VECT &atomIndices,
177 unsigned int numRingFamilies()
const;
184 unsigned int numRelevantCycles()
const;
191 const VECT_INT_VECT &atomRingFamilies()
const {
return d_atomRingFamilies; };
198 const VECT_INT_VECT &bondRingFamilies()
const {
return d_bondRingFamilies; };
201 bool areRingFamiliesInitialized()
const {
return dp_urfData !=
nullptr; }
208 void preallocate(
unsigned int numAtoms,
unsigned int numBonds);
211 DataType d_atomMembers, d_bondMembers;
217 boost::shared_ptr<RDL_data> dp_urfData;
handles pickling (serializing) molecules
A class to store information about a molecule's rings.
void reset()
blows out all current data and de-initializes
unsigned int numRings() const
returns the total number of rings
std::vector< MemberType > DataType
unsigned int numBondRings(unsigned int idx) const
returns the number of rings bond idx is involved in
unsigned int minBondRingSize(unsigned int idx) const
returns the size of the smallest ring bond idx is involved in
INT_VECT atomRingSizes(unsigned int idx) const
returns a vector with sizes of the rings that atom with index idx is in.
std::vector< int > INT_VECT
const VECT_INT_VECT & atomRings() const
returns our atom-rings vectors
bool isAtomInRingOfSize(unsigned int idx, unsigned int size) const
returns whether or not the atom with index idx is in a size - ring.
RingInfo(const RingInfo &other)
INT_VECT bondRingSizes(unsigned int idx) const
returns a vector with sizes of the rings that bond with index idx is in.
unsigned int addRing(const INT_VECT &atomIndices, const INT_VECT &bondIndices)
adds a ring to our data
void initialize()
does initialization
unsigned int numAtomRings(unsigned int idx) const
returns the number of rings atom idx is involved in
bool isBondInRingOfSize(unsigned int idx, unsigned int size) const
returns whether or not the bond with index idx is in a size - ring.
bool isInitialized() const
checks to see if we've been properly initialized
std::vector< int > MemberType
const VECT_INT_VECT & bondRings() const
returns our bond-rings vectors
unsigned int minAtomRingSize(unsigned int idx) const
returns the size of the smallest ring atom idx is involved in
std::vector< INT_VECT > VECT_INT_VECT
#define RDKIT_GRAPHMOL_EXPORT
std::vector< int > INT_VECT
std::vector< INT_VECT > VECT_INT_VECT