RDKit
Open-source cheminformatics and machine learning.
Toggle main menu visibility
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
19
namespace
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:91
ChemicalFeatures
Definition
ChemicalFeature.h:15
RDGeom
Definition
Embedder.h:30
point.h
ChemicalFeatures
FreeChemicalFeature.h
Generated on
for RDKit by
1.17.0