RDKit
Open-source cheminformatics and machine learning.
RDGeom::UniformGrid3D Class Reference

#include <UniformGrid3D.h>

Inheritance diagram for RDGeom::UniformGrid3D:
RDGeom::Grid3D

Public Member Functions

 UniformGrid3D (double dimX, double dimY, double dimZ, double spacing=0.5, RDKit::DiscreteValueVect::DiscreteValueType valType=RDKit::DiscreteValueVect::TWOBITVALUE, const RDGeom::Point3D *offset=0)
 ctor More...
 
 UniformGrid3D (const UniformGrid3D &other)
 copy ctor More...
 
 UniformGrid3D (const std::string &pkl)
 construct from a string pickle More...
 
 UniformGrid3D (const char *pkl, unsigned int)
 construct from a text pickle More...
 
 ~UniformGrid3D ()
 
int getGridPointIndex (const Point3D &point) const
 Get the index of the grid point closest to point. More...
 
int getVal (const Point3D &point) const
 Get the value at the grid point closest to the specified point. More...
 
unsigned int getVal (unsigned int pointId) const
 Get the value at a specified grid point. More...
 
void setVal (const Point3D &point, unsigned int val)
 Set the value at the grid point closest to the specified point. More...
 
Point3D getGridPointLoc (unsigned int pointId) const
 get the location of the specified grid point More...
 
void setVal (unsigned int pointId, unsigned int val)
 Set the value at the specified grid point. More...
 
unsigned int getSize () const
 get the size of the grid (number of grid points) More...
 
void setSphereOccupancy (const Point3D &center, double radius, double stepSize, int maxNumLayers=-1, bool ignoreOutOfBound=true)
 set the occupancy for a multi-layered sphere More...
 
int getGridIndex (unsigned int xi, unsigned int yi, unsigned int zi) const
 get the index of the grid point given the x, y, z indices More...
 
void getGridIndices (unsigned int idx, unsigned int &xi, unsigned int &yi, unsigned int &zi) const
 get the x, y, and z indices of a grid-point index More...
 
unsigned int getNumX () const
 get the number of grid points along x-axis More...
 
unsigned int getNumY () const
 get the number of grid points along y-axis More...
 
unsigned int getNumZ () const
 get the number of grid points along z-axis More...
 
const Point3DgetOffset () const
 get the grid's offset More...
 
double getSpacing () const
 get the grid's spacing More...
 
const RDKit::DiscreteValueVectgetOccupancyVect () const
 return a const pointer to our occupancy vector More...
 
virtual bool compareParams (const UniformGrid3D &other) const
 returns true if the grid other has parameters compatible with ours. More...
 
UniformGrid3Doperator|= (const UniformGrid3D &other)
 calculates the union between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters. More...
 
UniformGrid3Doperator&= (const UniformGrid3D &other)
 calculates the intersection between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters. More...
 
UniformGrid3Doperator+= (const UniformGrid3D &other)
 calculates the sum of the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters. More...
 
UniformGrid3Doperator-= (const UniformGrid3D &other)
 calculates the difference between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters. More...
 
std::string toString () const
 create and return a pickle More...
 
UniformGrid3D operator& (const UniformGrid3D &other) const
 
- Public Member Functions inherited from RDGeom::Grid3D
virtual ~Grid3D ()
 

Detailed Description

Definition at line 19 of file UniformGrid3D.h.

Constructor & Destructor Documentation

RDGeom::UniformGrid3D::UniformGrid3D ( double  dimX,
double  dimY,
double  dimZ,
double  spacing = 0.5,
RDKit::DiscreteValueVect::DiscreteValueType  valType = RDKit::DiscreteValueVect::TWOBITVALUE,
const RDGeom::Point3D offset = 0 
)
inline

ctor

Definition at line 37 of file UniformGrid3D.h.

References getGridPointIndex(), getGridPointLoc(), getVal(), setVal(), and ~UniformGrid3D().

RDGeom::UniformGrid3D::UniformGrid3D ( const UniformGrid3D other)

copy ctor

RDGeom::UniformGrid3D::UniformGrid3D ( const std::string &  pkl)

construct from a string pickle

RDGeom::UniformGrid3D::UniformGrid3D ( const char *  pkl,
unsigned  int 
)

construct from a text pickle

RDGeom::UniformGrid3D::~UniformGrid3D ( )

Referenced by UniformGrid3D().

Member Function Documentation

virtual bool RDGeom::UniformGrid3D::compareParams ( const UniformGrid3D other) const
virtual

returns true if the grid other has parameters compatible with ours.

Referenced by getOccupancyVect(), and operator&().

int RDGeom::UniformGrid3D::getGridIndex ( unsigned int  xi,
unsigned int  yi,
unsigned int  zi 
) const

get the index of the grid point given the x, y, z indices

Returns
the integer value, -1 if the indices are outside the grid

Referenced by getSize().

void RDGeom::UniformGrid3D::getGridIndices ( unsigned int  idx,
unsigned int &  xi,
unsigned int &  yi,
unsigned int &  zi 
) const

get the x, y, and z indices of a grid-point index

Referenced by getSize().

int RDGeom::UniformGrid3D::getGridPointIndex ( const Point3D point) const
virtual

Get the index of the grid point closest to point.

Returns
the integer index, -1 if the specified point is outside the grid

Implements RDGeom::Grid3D.

Referenced by UniformGrid3D().

Point3D RDGeom::UniformGrid3D::getGridPointLoc ( unsigned int  pointId) const
virtual

get the location of the specified grid point

Implements RDGeom::Grid3D.

Referenced by UniformGrid3D().

unsigned int RDGeom::UniformGrid3D::getNumX ( ) const
inline

get the number of grid points along x-axis

Definition at line 116 of file UniformGrid3D.h.

unsigned int RDGeom::UniformGrid3D::getNumY ( ) const
inline

get the number of grid points along y-axis

Definition at line 119 of file UniformGrid3D.h.

unsigned int RDGeom::UniformGrid3D::getNumZ ( ) const
inline

get the number of grid points along z-axis

Definition at line 122 of file UniformGrid3D.h.

const RDKit::DiscreteValueVect* RDGeom::UniformGrid3D::getOccupancyVect ( ) const
inlinevirtual

return a const pointer to our occupancy vector

Implements RDGeom::Grid3D.

Definition at line 131 of file UniformGrid3D.h.

References compareParams(), operator&=(), operator+=(), operator-=(), operator|=(), and toString().

const Point3D& RDGeom::UniformGrid3D::getOffset ( ) const
inline

get the grid's offset

Definition at line 125 of file UniformGrid3D.h.

unsigned int RDGeom::UniformGrid3D::getSize ( ) const
inlinevirtual

get the size of the grid (number of grid points)

Implements RDGeom::Grid3D.

Definition at line 84 of file UniformGrid3D.h.

References getGridIndex(), getGridIndices(), and setSphereOccupancy().

double RDGeom::UniformGrid3D::getSpacing ( ) const
inline

get the grid's spacing

Definition at line 128 of file UniformGrid3D.h.

int RDGeom::UniformGrid3D::getVal ( const Point3D point) const
virtual

Get the value at the grid point closest to the specified point.

Returns
the integer value, -1 if the specified index is outside the grid

Implements RDGeom::Grid3D.

Referenced by UniformGrid3D().

unsigned int RDGeom::UniformGrid3D::getVal ( unsigned int  pointId) const
virtual

Get the value at a specified grid point.

Returns
the unsigned integer value

Implements RDGeom::Grid3D.

UniformGrid3D RDGeom::UniformGrid3D::operator& ( const UniformGrid3D other) const
inline
UniformGrid3D& RDGeom::UniformGrid3D::operator&= ( const UniformGrid3D other)

calculates the intersection between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters.

Referenced by getOccupancyVect().

UniformGrid3D& RDGeom::UniformGrid3D::operator+= ( const UniformGrid3D other)

calculates the sum of the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters.

Referenced by getOccupancyVect().

UniformGrid3D& RDGeom::UniformGrid3D::operator-= ( const UniformGrid3D other)

calculates the difference between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters.

Referenced by getOccupancyVect().

UniformGrid3D& RDGeom::UniformGrid3D::operator|= ( const UniformGrid3D other)

calculates the union between the data on this grid and that on other. This grid is modified. NOTE that the grids must have the same parameters.

Referenced by getOccupancyVect().

void RDGeom::UniformGrid3D::setSphereOccupancy ( const Point3D center,
double  radius,
double  stepSize,
int  maxNumLayers = -1,
bool  ignoreOutOfBound = true 
)

set the occupancy for a multi-layered sphere

This function encodes the occupancy for a sphere and multiple layers around it

Parameters
centerlocation of the sphere center
radiusRadius of the base sphere
stepSizethickness of each layer on top of the base sphere
maxNumLayersmaximum number of layers, if -1 this is determined by the number of bits used per grid points in the storage
ignoreOutOfBoundif true, ignore if center is outside the grid, otherwise throw an exception

Referenced by getSize().

void RDGeom::UniformGrid3D::setVal ( const Point3D point,
unsigned int  val 
)
virtual

Set the value at the grid point closest to the specified point.

doesn't do anything if the point is outside the grid

Implements RDGeom::Grid3D.

Referenced by UniformGrid3D().

void RDGeom::UniformGrid3D::setVal ( unsigned int  pointId,
unsigned int  val 
)
virtual

Set the value at the specified grid point.

Implements RDGeom::Grid3D.

std::string RDGeom::UniformGrid3D::toString ( ) const

create and return a pickle

Referenced by getOccupancyVect().


The documentation for this class was generated from the following file: