11#ifndef __FREECHEMICALFEATURE_H_13012005_1023__
12#define __FREECHEMICALFEATURE_H_13012005_1023__
31 d_family(std::move(family)),
32 d_type(std::move(type)),
37 : d_id(-1), d_family(std::move(family)), d_type(
""), d_position(loc) {}
41 : d_family(
""), d_type(
""), d_position(
RDGeom::Point3D(0.0, 0.0, 0.0)) {}
44 this->initFromString(pickle);
48 : d_id(other.getId()),
49 d_family(other.getFamily()),
50 d_type(other.getType()),
51 d_position(other.getPos()) {}
56 int getId()
const override {
return d_id; }
59 const std::string &
getFamily()
const override {
return d_family; }
62 const std::string &
getType()
const override {
return d_type; }
68 void setId(
const int id) { d_id = id; }
71 void setFamily(
const std::string &family) { d_family = family; }
74 void setType(
const std::string &type) { d_type = type; }
abstract base class for chemical feature
FreeChemicalFeature(std::string family, const RDGeom::Point3D &loc)
start with family and location specified, leave the type blank
const std::string & getType() const override
return our type
FreeChemicalFeature()
start with everything blank
const std::string & getFamily() const override
return our family
int getId() const override
return our id
void initFromString(const std::string &pickle)
initialize from a pickle string
RDGeom::Point3D getPos() const override
return our position
std::string toString() const
returns a serialized form of the feature (a pickle)
FreeChemicalFeature(std::string family, std::string type, const RDGeom::Point3D &loc, int id=-1)
start with everything specified
~FreeChemicalFeature() override=default
FreeChemicalFeature(const FreeChemicalFeature &other)
void setId(const int id)
set our id
void setType(const std::string &type)
set our type
FreeChemicalFeature(const std::string &pickle)
void setPos(const RDGeom::Point3D &loc)
set our position
void setFamily(const std::string &family)
set our family
#define RDKIT_CHEMICALFEATURES_EXPORT