11#ifndef __MOLCHEMICALFEATURE_H_11012005_1404__
12#define __MOLCHEMICALFEATURE_H_11012005_1404__
23class MolChemicalFeatureFactory;
24class MolChemicalFeatureDef;
48 const std::string &
getType()
const override;
64 int getId()
const override {
return d_id; }
67 inline unsigned int getNumAtoms()
const {
return d_atoms.size(); }
81 return d_atoms.begin();
83 AtomPtrContainer::const_iterator
endAtoms()
const {
return d_atoms.end(); }
86 typedef std::map<int, RDGeom::Point3D> PointCacheType;
93 AtomPtrContainer d_atoms;
94 mutable PointCacheType d_locs;
abstract base class for chemical feature
The class for finding chemical features in molecules.
unsigned int getNumAtoms() const
returns the number of atoms defining the feature
~MolChemicalFeature() override=default
int getActiveConformer() const
returns the active conformer (in the associated molecule)
AtomPtrContainer::const_iterator beginAtoms() const
const MolChemicalFeatureDef * getFeatDef() const
return a pointer to our feature definition
AtomPtrContainer::const_iterator AtomPtrContainer_CI
const std::string & getFamily() const override
return the name of the feature's family
void setActiveConformer(int confId)
sets the active conformer (in the associated molecule)
AtomPtrContainer::const_iterator endAtoms() const
MolChemicalFeature(const ROMol *mol, const MolChemicalFeatureFactory *factory, const MolChemicalFeatureDef *fdef, int id=-1)
Constructor.
RDGeom::Point3D getPos() const override
return the position of the feature (obtained from from the associated conformation
RDGeom::Point3D getPos(int confId) const
return the position of the feature (obtained from from the requested conformation from the associated...
void clearCache()
clears out the internal position cache
const AtomPtrContainer & getAtoms() const
returns our atom container of
const ROMol * getMol() const
return a pointer to our associated molecule
const std::string & getType() const override
return the name of the feature's type
const MolChemicalFeatureFactory * getFactory() const
return a pointer to our feature factory
std::vector< const Atom * > AtomPtrContainer
int getId() const override
returns the active conformer (in the associated molecule)
#define RDKIT_MOLCHEMICALFEATURES_EXPORT