FreeChemicalFeature.h
Go to the documentation of this file.
//
// Copyright (C) 2004-2008 Greg Landrum and Rational Discovery LLC
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
#ifndef __FREECHEMICALFEATURE_H_13012005_1023__
#define __FREECHEMICALFEATURE_H_13012005_1023__
#include <Geometry/point.h>
#include <ChemicalFeatures/ChemicalFeature.h>
namespace ChemicalFeatures {
//------------------------------------------------------
//! Class for chemical features that do not orignate from molecules
// e.g. pharamcophores, site-maps etc.
class FreeChemicalFeature : public ChemicalFeature {
public:
//! start with everything specified
FreeChemicalFeature(std::string family, std::string type,
const RDGeom::Point3D &loc,int id=-1) :
d_id(id), d_family(family), d_type(type), d_position(loc) {
}
//! start with family and location specified, leave the type blank
FreeChemicalFeature(std::string family, const RDGeom::Point3D &loc) :
d_id(-1), d_family(family), d_type(""), d_position(loc) {
}
//! start with everything blank
FreeChemicalFeature() :
d_id(-1), d_family(""), d_type(""), d_position(RDGeom::Point3D(0.0, 0.0, 0.0)) {
}
explicit FreeChemicalFeature(const std::string &pickle) {
this->initFromString(pickle);
}
FreeChemicalFeature(const FreeChemicalFeature &other) :
d_id(other.getId()), d_family(other.getFamily()), d_type(other.getType()), d_position(other.getPos()) {
}
~FreeChemicalFeature() {}
//! return our id
const int getId() const {
return d_id;
}
//! return our family
const std::string& getFamily() const {
return d_family;
}
//! return our type
const std::string& getType() const {
return d_type;
}
//! return our position
RDGeom::Point3D getPos() const {
return d_position;
}
//! set our id
void setId(const int id) {
d_id = id;
}
//! set our family
void setFamily(const std::string &family) {
d_family = family;
}
//! set our type
void setType(const std::string &type) {
d_type = type;
}
//! set our position
void setPos(const RDGeom::Point3D &loc) {
//std::cout << loc.x << " " << loc.y << " " << loc.z << "\n";
d_position = loc;
//std::cout << d_position.x << " " << d_position.y << " " << d_position.z << "\n";
}
//! returns a serialized form of the feature (a pickle)
std::string toString() const;
//! initialize from a pickle string
void initFromString(const std::string &pickle);
private:
int d_id;
std::string d_family;
std::string d_type;
RDGeom::Point3D d_position;
};
}
#endif
ChemicalFeatures::FreeChemicalFeature::getPos
RDGeom::Point3D getPos() const
return our position
Definition: FreeChemicalFeature.h:65
ChemicalFeatures::FreeChemicalFeature::getType
const std::string & getType() const
return our type
Definition: FreeChemicalFeature.h:60
point.h
ChemicalFeatures::FreeChemicalFeature::getId
const int getId() const
return our id
Definition: FreeChemicalFeature.h:50
ChemicalFeatures::FreeChemicalFeature
Class for chemical features that do not orignate from molecules.
Definition: FreeChemicalFeature.h:21
ChemicalFeature.h
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(const std::string &pickle)
Definition: FreeChemicalFeature.h:39
ChemicalFeatures::FreeChemicalFeature::setFamily
void setFamily(const std::string &family)
set our family
Definition: FreeChemicalFeature.h:75
ChemicalFeatures::FreeChemicalFeature::initFromString
void initFromString(const std::string &pickle)
initialize from a pickle string
ChemicalFeatures::ChemicalFeature
abstract base class for chemical feature
Definition: ChemicalFeature.h:18
ChemicalFeatures::FreeChemicalFeature::getFamily
const std::string & getFamily() const
return our family
Definition: FreeChemicalFeature.h:55
ChemicalFeatures::FreeChemicalFeature::~FreeChemicalFeature
~FreeChemicalFeature()
Definition: FreeChemicalFeature.h:47
ChemicalFeatures::FreeChemicalFeature::setId
void setId(const int id)
set our id
Definition: FreeChemicalFeature.h:70
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(std::string family, const RDGeom::Point3D &loc)
start with family and location specified, leave the type blank
Definition: FreeChemicalFeature.h:30
RDGeom::Point3D
Definition: point.h:48
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(std::string family, std::string type, const RDGeom::Point3D &loc, int id=-1)
start with everything specified
Definition: FreeChemicalFeature.h:24
ChemicalFeatures::FreeChemicalFeature::setPos
void setPos(const RDGeom::Point3D &loc)
set our position
Definition: FreeChemicalFeature.h:85
ChemicalFeatures::FreeChemicalFeature::toString
std::string toString() const
returns a serialized form of the feature (a pickle)
ChemicalFeatures::FreeChemicalFeature::setType
void setType(const std::string &type)
set our type
Definition: FreeChemicalFeature.h:80
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature(const FreeChemicalFeature &other)
Definition: FreeChemicalFeature.h:43
ChemicalFeatures
Definition: ChemicalFeature.h:14
RDGeom
Definition: MolTransforms.h:22
ChemicalFeatures::FreeChemicalFeature::FreeChemicalFeature
FreeChemicalFeature()
start with everything blank
Definition: FreeChemicalFeature.h:35