Chemical Data Processing Library C++ API - Version 1.2.0
PharmacophoreGenerator.hpp
Go to the documentation of this file.
1 /*
2  * PharmacophoreGenerator.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_PHARM_PHARMACOPHOREGENERATOR_HPP
30 #define CDPL_PHARM_PHARMACOPHOREGENERATOR_HPP
31 
32 #include <set>
33 #include <map>
34 
35 #include "CDPL/Pharm/APIPrefix.hpp"
37 
38 
39 namespace CDPL
40 {
41 
42  namespace Pharm
43  {
44 
49  {
50 
51  public:
52  typedef std::shared_ptr<PharmacophoreGenerator> SharedPointer;
53 
58 
60 
62 
64 
71  void enableFeature(unsigned int type, bool enable);
72 
79  bool isFeatureEnabled(unsigned int type) const;
80 
87 
93  void setFeatureGenerator(unsigned int type, const FeatureGenerator::SharedPointer& ftr_gen);
94 
99  void removeFeatureGenerator(unsigned int type);
100 
107 
115  void generate(const Chem::MolecularGraph& molgraph, Pharmacophore& pharm, bool append = false);
116 
122 
128 
130 
131  private:
132  typedef std::set<unsigned int> EnabledFeatureSet;
133  typedef std::map<unsigned int, FeatureGenerator::SharedPointer> FeatureGeneratorMap;
134 
135  FeatureGeneratorMap featureGeneratorMap;
136  EnabledFeatureSet enabledFeatures;
138  };
139  } // namespace Pharm
140 } // namespace CDPL
141 
142 #endif // CDPL_PHARM_PHARMACOPHOREGENERATOR_HPP
Definition of the class CDPL::Pharm::FeatureGenerator.
Definition of the preprocessor macro CDPL_PHARM_API.
#define CDPL_PHARM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
MolecularGraph.
Definition: MolecularGraph.hpp:52
std::shared_ptr< FeatureGenerator > SharedPointer
Definition: FeatureGenerator.hpp:60
PharmacophoreGenerator.
Definition: PharmacophoreGenerator.hpp:49
void clearEnabledFeatures()
Disables the generation of all types features.
PharmacophoreGenerator(const PharmacophoreGenerator &gen)
virtual ~PharmacophoreGenerator()
Definition: PharmacophoreGenerator.hpp:61
PharmacophoreGenerator & operator=(const PharmacophoreGenerator &gen)
const Chem::Atom3DCoordinatesFunction & getAtom3DCoordinatesFunction() const
Returns the function that was registered for the retrieval of atom 3D-coordinates.
void generate(const Chem::MolecularGraph &molgraph, Pharmacophore &pharm, bool append=false)
Perceives the enabled pharmacophore features of the molecular graph a\ molgraph and adds them to the ...
void setFeatureGenerator(unsigned int type, const FeatureGenerator::SharedPointer &ftr_gen)
Specifies a Pharm::FeatureGenerator instance that gets used for the generation of the specified type ...
void setAtom3DCoordinatesFunction(const Chem::Atom3DCoordinatesFunction &func)
Specifies a function for the retrieval of atom 3D-coordinates for feature generation.
void enableFeature(unsigned int type, bool enable)
Enables or disables the generation of features of the specified type.
bool isFeatureEnabled(unsigned int type) const
Tells whether the generation of features of the specified type is currently enabled or disabled.
PharmacophoreGenerator()
Constructs the PharmacophoreGenerator instance.
void removeFeatureGenerator(unsigned int type)
Removes the Pharm::FeatureGenerator instance for the specified type of features.
FeatureGenerator::SharedPointer getFeatureGenerator(unsigned int type) const
Returns the Pharm::FeatureGenerator instance that was registered for the generation of the specified ...
std::shared_ptr< PharmacophoreGenerator > SharedPointer
Definition: PharmacophoreGenerator.hpp:52
Pharmacophore.
Definition: Pharmacophore.hpp:48
std::function< const Math::Vector3D &(const Chem::Atom &)> Atom3DCoordinatesFunction
A generic wrapper class used to store a user-defined Chem::Atom 3D-coordinates function.
Definition: Atom3DCoordinatesFunction.hpp:43
The namespace of the Chemical Data Processing Library.