RDKit: Grid3D.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Grid3D.h
Go to the documentation of this file.
1//
2// Copyright (C) 2005-2006 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 _GRID3D_H_20050124_1113
12#define _GRID3D_H_20050124_1113
13#include <exception>
14#include <string>
15#include <utility>
16
17namespace RDKit {
18class DiscreteValueVect;
19}
20namespace RDGeom {
21class Point3D;
22
23 class RDKIT_RDGEOMETRYLIB_EXPORT GridException : public std::exception {
24 public:
25 //! construct with an error message
26 GridException(const char *msg) : _msg(msg) {}
27 //! construct with an error message
28 GridException(std::string msg) : _msg(std::move(msg)) {}
29 //! get the error message
30 const char *what() const noexcept override { return _msg.c_str(); }
31 ~GridException() noexcept override = default;
32
33 private:
34 std::string _msg;
35};
36
37//! Virtual base class for a grid object
38template <typename VectorType, typename ValueType1, typename ValueType2>
39class RDKIT_RDGEOMETRYLIB_EXPORT Grid3D {
40 public:
41 virtual ~Grid3D(){};
42 virtual int getGridPointIndex(const Point3D &point) const = 0;
43 virtual ValueType1 getVal(const Point3D &point) const = 0;
44 virtual void setVal(const Point3D &point, ValueType2 val) = 0;
45
46 virtual Point3D getGridPointLoc(unsigned int pointId) const = 0;
47 virtual ValueType2 getVal(unsigned int pointId) const = 0;
48 virtual void setVal(unsigned int pointId, ValueType2 val) = 0;
49 virtual unsigned int getSize() const = 0;
50 virtual const VectorType *getOccupancyVect() const = 0;
51};
52} // namespace RDGeom
53
54#endif
RDGeom::Grid3D
Virtual base class for a grid object.
Definition Grid3D.h:39
RDGeom::Grid3D::getVal
virtual ValueType1 getVal(const Point3D &point) const =0
RDGeom::Grid3D::setVal
virtual void setVal(const Point3D &point, ValueType2 val)=0
RDGeom::Grid3D::getSize
virtual unsigned int getSize() const =0
RDGeom::Grid3D::setVal
virtual void setVal(unsigned int pointId, ValueType2 val)=0
RDGeom::Grid3D::getOccupancyVect
virtual const VectorType * getOccupancyVect() const =0
RDGeom::Grid3D::getGridPointIndex
virtual int getGridPointIndex(const Point3D &point) const =0
RDGeom::Grid3D::getVal
virtual ValueType2 getVal(unsigned int pointId) const =0
RDGeom::Grid3D::getGridPointLoc
virtual Point3D getGridPointLoc(unsigned int pointId) const =0
RDGeom::Grid3D::~Grid3D
virtual ~Grid3D()
Definition Grid3D.h:41
RDGeom::GridException::GridException
GridException(const char *msg)
construct with an error message
Definition Grid3D.h:26
RDGeom::GridException::~GridException
~GridException() noexcept override=default
RDGeom::GridException::what
const char * what() const noexcept override
get the error message
Definition Grid3D.h:30
RDGeom::GridException::GridException
GridException(std::string msg)
construct with an error message
Definition Grid3D.h:28
RDGeom::Point3D
Definition point.h:53
RDKit::DiscreteValueVect
a class for efficiently storing vectors of discrete values
Definition DiscreteValueVect.h:24
export.h
RDKIT_RDGEOMETRYLIB_EXPORT
#define RDKIT_RDGEOMETRYLIB_EXPORT
Definition export.h:449
RDGeom
Definition TorsionAngleContribs.h:17
RDKit
Std stuff.
Definition Abbreviations.h:19