Chemical Data Processing Library C++ API - Version 1.1.1
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
APIPrefix.hpp
Definition of the preprocessor macro CDPL_PHARM_API.
CDPL_PHARM_API
#define CDPL_PHARM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
CDPL::Pharm::PharmacophoreGenerator::setFeatureGenerator
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 ...
CDPL::Pharm::PharmacophoreGenerator::getAtom3DCoordinatesFunction
const Chem::Atom3DCoordinatesFunction & getAtom3DCoordinatesFunction() const
Returns the function that was registered for the retrieval of atom 3D-coordinates.
CDPL::Pharm::FeatureGenerator::SharedPointer
std::shared_ptr< FeatureGenerator > SharedPointer
Definition: FeatureGenerator.hpp:60
CDPL::Pharm::PharmacophoreGenerator::getFeatureGenerator
FeatureGenerator::SharedPointer getFeatureGenerator(unsigned int type) const
Returns the Pharm::FeatureGenerator instance that was registered for the generation of the specified ...
CDPL::Pharm::PharmacophoreGenerator::setAtom3DCoordinatesFunction
void setAtom3DCoordinatesFunction(const Chem::Atom3DCoordinatesFunction &func)
Specifies a function for the retrieval of atom 3D-coordinates for feature generation.
CDPL::Chem::MolecularGraph
MolecularGraph.
Definition: MolecularGraph.hpp:52
CDPL::Pharm::PharmacophoreGenerator::generate
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 ...
CDPL::Pharm::PharmacophoreGenerator::removeFeatureGenerator
void removeFeatureGenerator(unsigned int type)
Removes the Pharm::FeatureGenerator instance for the specified type of features.
CDPL::Pharm::PharmacophoreGenerator::clearEnabledFeatures
void clearEnabledFeatures()
Disables the generation of all types features.
CDPL::Pharm::PharmacophoreGenerator::operator=
PharmacophoreGenerator & operator=(const PharmacophoreGenerator &gen)
CDPL::Pharm::PharmacophoreGenerator::enableFeature
void enableFeature(unsigned int type, bool enable)
Enables or disables the generation of features of the specified type.
CDPL::Pharm::PharmacophoreGenerator::SharedPointer
std::shared_ptr< PharmacophoreGenerator > SharedPointer
Definition: PharmacophoreGenerator.hpp:52
CDPL::Pharm::Pharmacophore
Pharmacophore.
Definition: Pharmacophore.hpp:48
CDPL::Chem::Atom3DCoordinatesFunction
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
CDPL
The namespace of the Chemical Data Processing Library.
CDPL::Pharm::PharmacophoreGenerator
PharmacophoreGenerator.
Definition: PharmacophoreGenerator.hpp:49
CDPL::Pharm::PharmacophoreGenerator::~PharmacophoreGenerator
virtual ~PharmacophoreGenerator()
Definition: PharmacophoreGenerator.hpp:61
CDPL::Pharm::PharmacophoreGenerator::isFeatureEnabled
bool isFeatureEnabled(unsigned int type) const
Tells whether the generation of features of the specified type is currently enabled or disabled.
CDPL::Pharm::PharmacophoreGenerator::PharmacophoreGenerator
PharmacophoreGenerator(const PharmacophoreGenerator &gen)
CDPL::Pharm::PharmacophoreGenerator::clone
SharedPointer clone() const
FeatureGenerator.hpp
Definition of the class CDPL::Pharm::FeatureGenerator.
CDPL::Pharm::PharmacophoreGenerator::PharmacophoreGenerator
PharmacophoreGenerator()
Constructs the PharmacophoreGenerator instance.