RDKit: FreeChemicalFeature.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
FreeChemicalFeature.h
Go to the documentation of this file.
1//
2// Copyright (C) 2004-2008 Greg Landrum and Rational Discovery LLC
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10#include <RDGeneral/export.h>
11#ifndef __FREECHEMICALFEATURE_H_13012005_1023__
12#define __FREECHEMICALFEATURE_H_13012005_1023__
13
14#include <utility>
15
16#include <Geometry/point.h>
17#include <ChemicalFeatures/ChemicalFeature.h>
18
19namespace ChemicalFeatures {
20
21//------------------------------------------------------
22//! Class for chemical features that do not originate from molecules
23/// e.g. pharmacophores, site-maps etc.
24 class RDKIT_CHEMICALFEATURES_EXPORT FreeChemicalFeature
25 : public ChemicalFeature {
26 public:
27 //! start with everything specified
28 FreeChemicalFeature(std::string family, std::string type,
29 const RDGeom::Point3D &loc, int id = -1)
30 : d_id(id),
31 d_family(std::move(family)),
32 d_type(std::move(type)),
33 d_position(loc) {}
34
35 //! start with family and location specified, leave the type blank
36 FreeChemicalFeature(std::string family, const RDGeom::Point3D &loc)
37 : d_id(-1), d_family(std::move(family)), d_type(""), d_position(loc) {}
38
39 //! start with everything blank
40 FreeChemicalFeature()
41 : d_family(""), d_type(""), d_position(RDGeom::Point3D(0.0, 0.0, 0.0)) {}
42
43 explicit FreeChemicalFeature(const std::string &pickle) {
44 this->initFromString(pickle);
45 }
46
47 FreeChemicalFeature(const FreeChemicalFeature &other)
48 : d_id(other.getId()),
49 d_family(other.getFamily()),
50 d_type(other.getType()),
51 d_position(other.getPos()) {}
52
53 ~FreeChemicalFeature() override = default;
54
55 //! return our id
56 int getId() const override { return d_id; }
57
58 //! return our family
59 const std::string &getFamily() const override { return d_family; }
60
61 //! return our type
62 const std::string &getType() const override { return d_type; }
63
64 //! return our position
65 RDGeom::Point3D getPos() const override { return d_position; }
66
67 //! set our id
68 void setId(const int id) { d_id = id; }
69
70 //! set our family
71 void setFamily(const std::string &family) { d_family = family; }
72
73 //! set our type
74 void setType(const std::string &type) { d_type = type; }
75
76 //! set our position
77 void setPos(const RDGeom::Point3D &loc) {
78 // std::cout << loc.x << " " << loc.y << " " << loc.z << "\n";
79 d_position = loc;
80 // std::cout << d_position.x << " " << d_position.y << " " << d_position.z
81 // << "\n";
82 }
83
84 //! returns a serialized form of the feature (a pickle)
85 std::string toString() const;
86 //! initialize from a pickle string
87 void initFromString(const std::string &pickle);
88
89 private:
90 int d_id{-1};
91 std::string d_family;
92 std::string d_type;
93 RDGeom::Point3D d_position;
94};
95} // namespace ChemicalFeatures
96
97#endif
ChemicalFeature.h
ChemicalFeatures::ChemicalFeature::ChemicalFeature
ChemicalFeature()
Definition ChemicalFeature.h:21
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(std::string family, const RDGeom::Point3D &loc)
start with family and location specified, leave the type blank
Definition FreeChemicalFeature.h:36
ChemicalFeatures::FreeChemicalFeature::getType
const std::string & getType() const override
return our type
Definition FreeChemicalFeature.h:62
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature()
start with everything blank
Definition FreeChemicalFeature.h:40
ChemicalFeatures::FreeChemicalFeature::getFamily
const std::string & getFamily() const override
return our family
Definition FreeChemicalFeature.h:59
ChemicalFeatures::FreeChemicalFeature::getId
int getId() const override
return our id
Definition FreeChemicalFeature.h:56
ChemicalFeatures::FreeChemicalFeature::initFromString
void initFromString(const std::string &pickle)
initialize from a pickle string
ChemicalFeatures::FreeChemicalFeature::getPos
RDGeom::Point3D getPos() const override
return our position
Definition FreeChemicalFeature.h:65
ChemicalFeatures::FreeChemicalFeature::toString
std::string toString() const
returns a serialized form of the feature (a pickle)
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(std::string family, std::string type, const RDGeom::Point3D &loc, int id=-1)
start with everything specified
Definition FreeChemicalFeature.h:28
ChemicalFeatures::FreeChemicalFeature::~FreeChemicalFeature
~FreeChemicalFeature() override=default
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(const FreeChemicalFeature &other)
Definition FreeChemicalFeature.h:47
ChemicalFeatures::FreeChemicalFeature::setId
void setId(const int id)
set our id
Definition FreeChemicalFeature.h:68
ChemicalFeatures::FreeChemicalFeature::setType
void setType(const std::string &type)
set our type
Definition FreeChemicalFeature.h:74
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(const std::string &pickle)
Definition FreeChemicalFeature.h:43
ChemicalFeatures::FreeChemicalFeature::setPos
void setPos(const RDGeom::Point3D &loc)
set our position
Definition FreeChemicalFeature.h:77
ChemicalFeatures::FreeChemicalFeature::setFamily
void setFamily(const std::string &family)
set our family
Definition FreeChemicalFeature.h:71
RDGeom::Point3D
Definition point.h:53
export.h
RDKIT_CHEMICALFEATURES_EXPORT
#define RDKIT_CHEMICALFEATURES_EXPORT
Definition export.h:73
ChemicalFeatures
Definition ChemicalFeature.h:15
RDGeom
Definition TorsionAngleContribs.h:17
point.h