29 #ifndef CDPL_CHEM_UTILITYFUNCTIONS_HPP
30 #define CDPL_CHEM_UTILITYFUNCTIONS_HPP
Declaration of type CDPL::Util::BitSet.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of class CDPL::Chem::FragmentList.
Definition of class CDPL::Chem::Molecule.
Definition of vector data types.
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Data type for the storage of Chem::Fragment objects.
Definition: FragmentList.hpp:49
Concrete Chem::MolecularGraph implementation that stores references to a selectable subset of atoms a...
Definition: Fragment.hpp:57
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Abstract base class representing a mutable molecular graph that owns its atoms and bonds.
Definition: Molecule.hpp:53
std::shared_ptr< Molecule > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated Molecule instances.
Definition: Molecule.hpp:59
CDPL_CHEM_API bool containsFragmentWithBond(const FragmentList &frag_list, const Bond &bond)
Tells whether any fragment in frag_list contains the bond bond.
CDPL_CHEM_API bool containsFragmentWithMinSize(const FragmentList &frag_list, std::size_t min_size)
Tells whether frag_list contains at least one fragment with at least min_size atoms.
CDPL_CHEM_API bool insideBoundingBox(const AtomContainer &cntnr, const Math::Vector3D &min, const Math::Vector3D &max, const Atom3DCoordinatesFunction &coords_func)
Tells whether every atom of cntnr lies inside the axis-aligned bounding box defined by min and max.
CDPL_CHEM_API const std::string & getSybylAtomTypeString(unsigned int sybyl_type)
Returns the canonical textual representation of the Sybyl atom type sybyl_type.
CDPL_CHEM_API bool isAromatic(const Fragment &ring, const MolecularGraph &molgraph, const Util::BitSet &arom_bond_mask)
Tells whether ring fulfills the Hückel (4n+2)π-electron criterion within molgraph.
CDPL_CHEM_API bool atomTypesMatch(unsigned int qry_type, unsigned int tgt_type)
Tells whether the target atom type tgt_type matches the query atom type qry_type (taking generic atom...
CDPL_CHEM_API unsigned int sybylToAtomType(unsigned int sybyl_type)
Translates a Sybyl atom-type identifier to the corresponding generic Chem::AtomType value.
CDPL_CHEM_API void extendBoundingBox(Math::Vector3D &min, Math::Vector3D &max, const Math::Vector3D &coords, bool reset=false)
Extends the axis-aligned bounding box defined by min and max so that it contains the point coords.
CDPL_CHEM_API Molecule::SharedPointer parseSMILES(const std::string &smiles)
Parses the SMILES string smiles into a freshly allocated Chem::Molecule.
CDPL_CHEM_API bool isNotAromatic(const Fragment &ring, const MolecularGraph &molgraph)
Tells whether ring is guaranteed not to be aromatic (based on quick geometric/topological criteria).
CDPL_CHEM_API Molecule::SharedPointer parseSMARTS(const std::string &smarts, bool init_qry=true)
Parses the SMARTS string smarts into a freshly allocated query Chem::Molecule.
CDPL_CHEM_API const std::string & getSybylBondTypeString(unsigned int sybyl_type)
Returns the canonical textual representation of the Sybyl bond type sybyl_type.
CVector< double, 3 > Vector3D
Bounded 3 element vector holding floating point values of type double.
Definition: Vector.hpp:2937
boost::dynamic_bitset BitSet
Dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.