Chemical Data Processing Library C++ API - Version 1.2.0
Pharm/FeatureFunctions.hpp
Go to the documentation of this file.
1 /*
2  * FeatureFunctions.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_FEATUREFUNCTIONS_HPP
30 #define CDPL_PHARM_FEATUREFUNCTIONS_HPP
31 
32 #include "CDPL/Pharm/APIPrefix.hpp"
33 #include "CDPL/Chem/Fragment.hpp"
34 #include "CDPL/Math/Vector.hpp"
35 
36 
37 namespace CDPL
38 {
39 
40  namespace Pharm
41  {
42 
43  class Feature;
44 
45  CDPL_PHARM_API unsigned int getType(const Feature& feature);
46 
47  CDPL_PHARM_API void setType(Feature& feature, unsigned int type);
48 
50 
51  CDPL_PHARM_API bool hasType(const Feature& feature);
52 
53 
54  CDPL_PHARM_API unsigned int getGeometry(const Feature& feature);
55 
56  CDPL_PHARM_API void setGeometry(Feature& feature, unsigned int geom);
57 
59 
60  CDPL_PHARM_API bool hasGeometry(const Feature& feature);
61 
62 
64 
65  CDPL_PHARM_API void setOrientation(Feature& feature, const Math::Vector3D& orient);
66 
68 
69  CDPL_PHARM_API bool hasOrientation(const Feature& feature);
70 
71 
72  CDPL_PHARM_API double getLength(const Feature& feature);
73 
74  CDPL_PHARM_API void setLength(Feature& feature, double length);
75 
77 
78  CDPL_PHARM_API bool hasLength(const Feature& feature);
79 
80 
81  CDPL_PHARM_API double getTolerance(const Feature& feature);
82 
83  CDPL_PHARM_API void setTolerance(Feature& feature, double tol);
84 
86 
87  CDPL_PHARM_API bool hasTolerance(const Feature& feature);
88 
89 
90  CDPL_PHARM_API double getWeight(const Feature& feature);
91 
92  CDPL_PHARM_API void setWeight(Feature& feature, double weight);
93 
95 
96  CDPL_PHARM_API bool hasWeight(const Feature& feature);
97 
98 
100 
102 
104 
105  CDPL_PHARM_API bool hasSubstructure(const Feature& feature);
106 
107 
108  CDPL_PHARM_API bool getDisabledFlag(const Feature& feature);
109 
110  CDPL_PHARM_API void setDisabledFlag(Feature& feature, bool flag);
111 
113 
114  CDPL_PHARM_API bool hasDisabledFlag(const Feature& feature);
115 
116 
117  CDPL_PHARM_API bool getOptionalFlag(const Feature& feature);
118 
119  CDPL_PHARM_API void setOptionalFlag(Feature& feature, bool flag);
120 
122 
123  CDPL_PHARM_API bool hasOptionalFlag(const Feature& feature);
124 
125 
126  CDPL_PHARM_API double getHydrophobicity(const Feature& feature);
127 
128  CDPL_PHARM_API void setHydrophobicity(Feature& feature, double hyd);
129 
131 
133  } // namespace Pharm
134 } // namespace CDPL
135 
136 #endif // CDPL_PHARM_FEATUREFUNCTIONS_HPP
Definition of the class CDPL::Chem::Fragment.
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.
Definition of vector data types.
std::shared_ptr< Fragment > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated Fragment instances.
Definition: Fragment.hpp:61
Feature.
Definition: Feature.hpp:48
VectorNorm2< E >::ResultType length(const VectorExpression< E > &e)
Definition: VectorExpression.hpp:553
CVector< double, 3 > Vector3D
A bounded 3 element vector holding floating point values of type double.
Definition: Vector.hpp:1637
CDPL_PHARM_API bool hasGeometry(const Feature &feature)
CDPL_PHARM_API void clearWeight(Feature &feature)
CDPL_PHARM_API void setOrientation(Feature &feature, const Math::Vector3D &orient)
CDPL_PHARM_API bool hasLength(const Feature &feature)
CDPL_PHARM_API bool hasWeight(const Feature &feature)
CDPL_PHARM_API void clearOrientation(Feature &feature)
CDPL_PHARM_API void setHydrophobicity(Feature &feature, double hyd)
CDPL_PHARM_API void clearLength(Feature &feature)
CDPL_PHARM_API void clearType(Feature &feature)
CDPL_PHARM_API void setSubstructure(Feature &feature, const Chem::Fragment::SharedPointer &substruct)
CDPL_PHARM_API void setWeight(Feature &feature, double weight)
CDPL_PHARM_API bool getOptionalFlag(const Feature &feature)
CDPL_PHARM_API void setOptionalFlag(Feature &feature, bool flag)
CDPL_PHARM_API const Chem::Fragment::SharedPointer & getSubstructure(const Feature &feature)
CDPL_PHARM_API void clearGeometry(Feature &feature)
CDPL_PHARM_API void setType(Feature &feature, unsigned int type)
CDPL_PHARM_API void setDisabledFlag(Feature &feature, bool flag)
CDPL_PHARM_API void setTolerance(Feature &feature, double tol)
CDPL_PHARM_API void setGeometry(Feature &feature, unsigned int geom)
CDPL_PHARM_API double getHydrophobicity(const Feature &feature)
CDPL_PHARM_API bool hasOptionalFlag(const Feature &feature)
CDPL_PHARM_API const Math::Vector3D & getOrientation(const Feature &feature)
CDPL_PHARM_API void clearSubstructure(Feature &feature)
CDPL_PHARM_API void clearOptionalFlag(Feature &feature)
CDPL_PHARM_API bool hasTolerance(const Feature &feature)
CDPL_PHARM_API bool hasHydrophobicity(const Feature &feature)
CDPL_PHARM_API unsigned int getType(const Feature &feature)
CDPL_PHARM_API bool hasSubstructure(const Feature &feature)
CDPL_PHARM_API bool hasOrientation(const Feature &feature)
CDPL_PHARM_API void clearTolerance(Feature &feature)
CDPL_PHARM_API void clearDisabledFlag(Feature &feature)
CDPL_PHARM_API double getWeight(const Feature &feature)
CDPL_PHARM_API void setLength(Feature &feature, double length)
CDPL_PHARM_API bool hasDisabledFlag(const Feature &feature)
CDPL_PHARM_API double getTolerance(const Feature &feature)
CDPL_PHARM_API bool hasType(const Feature &feature)
CDPL_PHARM_API unsigned int getGeometry(const Feature &feature)
CDPL_PHARM_API double getLength(const Feature &feature)
CDPL_PHARM_API bool getDisabledFlag(const Feature &feature)
CDPL_PHARM_API void clearHydrophobicity(Feature &feature)
The namespace of the Chemical Data Processing Library.