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
23class 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>
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
Virtual base class for a grid object.
Definition Grid3D.h:39
virtual ValueType1 getVal(const Point3D &point) const =0
virtual void setVal(const Point3D &point, ValueType2 val)=0
virtual unsigned int getSize() const =0
virtual void setVal(unsigned int pointId, ValueType2 val)=0
virtual const VectorType * getOccupancyVect() const =0
virtual int getGridPointIndex(const Point3D &point) const =0
virtual ValueType2 getVal(unsigned int pointId) const =0
virtual Point3D getGridPointLoc(unsigned int pointId) const =0
virtual ~Grid3D()
Definition Grid3D.h:41
GridException(const char *msg)
construct with an error message
Definition Grid3D.h:26
~GridException() noexcept override=default
const char * what() const noexcept override
get the error message
Definition Grid3D.h:30
GridException(std::string msg)
construct with an error message
Definition Grid3D.h:28
#define RDKIT_RDGEOMETRYLIB_EXPORT
Definition export.h:417
Std stuff.