RDGeom Namespace Reference

## Classes

class | Grid3D
| Virtual base class for a grid object. More...
class | GridException
class | Point
class | Point2D
class | Point3D
class | PointND
class | Transform2D
class | Transform3D
class | UniformGrid3D

## Typedefs

typedef std::vector< RDGeom::Point * > | PointPtrVect
typedef PointPtrVect::iterator | PointPtrVect_I
typedef PointPtrVect::const_iterator | PointPtrVect_CI
typedef std::vector< RDGeom::Point3D * > | Point3DPtrVect
typedef std::vector< RDGeom::Point2D * > | Point2DPtrVect
typedef Point3DPtrVect::iterator | Point3DPtrVect_I
typedef Point3DPtrVect::const_iterator | Point3DPtrVect_CI
typedef Point2DPtrVect::iterator | Point2DPtrVect_I
typedef Point2DPtrVect::const_iterator | Point2DPtrVect_CI
typedef std::vector< const RDGeom::Point3D * > | Point3DConstPtrVect
typedef Point3DConstPtrVect::iterator | Point3DConstPtrVect_I
typedef Point3DConstPtrVect::const_iterator | Point3DConstPtrVect_CI
typedef std::vector< Point3D > | POINT3D_VECT
typedef std::vector< Point3D >::iterator | POINT3D_VECT_I
typedef std::vector< Point3D >::const_iterator | POINT3D_VECT_CI
typedef std::map< int, Point2D > | INT_POINT2D_MAP
typedef INT_POINT2D_MAP::iterator | INT_POINT2D_MAP_I
typedef INT_POINT2D_MAP::const_iterator | INT_POINT2D_MAP_CI

## Enumerations

enum | AxisType { X_Axis, Y_Axis, Z_Axis }

## Functions

template<class GRIDTYPE >
double | tanimotoDistance (const GRIDTYPE &grid1, const GRIDTYPE &grid2)
| calculate the tanimoto distance between the shapes encoded on two grids More...
template<class GRIDTYPE >
double | protrudeDistance (const GRIDTYPE &grid1, const GRIDTYPE &grid2)
| calculate the protrude distance between the shapes encoded on two grids More...
Point3D | computeGridCentroid (const UniformGrid3D &grid, const Point3D &pt, double windowRadius, double &weightSum)
| calculate the grid centroid within a window of a point More...
std::vector< Point3D > | findGridTerminalPoints (const UniformGrid3D &grid, double windowRadius, double inclusionFraction)
double | computeDihedralAngle (const Point3D &pt1, const Point3D &pt2, const Point3D &pt3, const Point3D &pt4)
double | computeSignedDihedralAngle (const Point3D &pt1, const Point3D &pt2, const Point3D &pt3, const Point3D &pt4)
std::ostream & | operator<< (std::ostream &target, const RDGeom::Point &pt)
RDGeom::Point3D | operator+ (const RDGeom::Point3D &p1, const RDGeom::Point3D &p2)
RDGeom::Point3D | operator- (const RDGeom::Point3D &p1, const RDGeom::Point3D &p2)
RDGeom::Point3D | operator* (const RDGeom::Point3D &p1, double v)
RDGeom::Point3D | operator/ (const RDGeom::Point3D &p1, double v)
RDGeom::Point2D | operator+ (const RDGeom::Point2D &p1, const RDGeom::Point2D &p2)
RDGeom::Point2D | operator- (const RDGeom::Point2D &p1, const RDGeom::Point2D &p2)
RDGeom::Point2D | operator* (const RDGeom::Point2D &p1, double v)
RDGeom::Point2D | operator/ (const RDGeom::Point2D &p1, double v)
RDGeom::PointND | operator+ (const RDGeom::PointND &p1, const RDGeom::PointND &p2)
RDGeom::PointND | operator- (const RDGeom::PointND &p1, const RDGeom::PointND &p2)
RDGeom::PointND | operator* (const RDGeom::PointND &p1, double v)
RDGeom::PointND | operator/ (const RDGeom::PointND &p1, double v)
void | writeGridToStream (const UniformGrid3D &grid, std::ostream &outStrm)
| writes the contents of the grid to a stream More...
void | writeGridToFile (const UniformGrid3D &grid, const std::string &filename)
| writes the contents of the grid to a named file More...
double | compute13Dist (double d1, double d2, double angle)
| Compute the 13 distance between points give the 12 distances and the angle between the axes. More...
double | compute14Dist3D (double d1, double d2, double d3, double ang12, double ang23, double torAng)
| Compute the 14 distances give the 12 distance and the angles. More...
double | compute14DistCis (double d1, double d2, double d3, double ang12, double ang23)
| Compute the 14 distances give the 12 distance and bond angle for cis configuration. More...
double | compute14DistTrans (double d1, double d2, double d3, double ang12, double ang23)
| Compute the 14 distances give the 12 distance and bond angle for trans configuration. More...

## Variables

const unsigned int | DIM_2D = 3
const unsigned int | DIM_3D = 4

## Typedef Documentation

## INT_POINT2D_MAP

typedef std::map<int, Point2D> RDGeom::INT_POINT2D_MAP

Definition at line 511 of file point.h.

## INT_POINT2D_MAP_CI

typedef INT_POINT2D_MAP::const_iterator RDGeom::INT_POINT2D_MAP_CI

Definition at line 513 of file point.h.

## INT_POINT2D_MAP_I

typedef INT_POINT2D_MAP::iterator RDGeom::INT_POINT2D_MAP_I

Definition at line 512 of file point.h.

## Point2DPtrVect

typedef std::vector<RDGeom::Point2D *> RDGeom::Point2DPtrVect

Definition at line 497 of file point.h.

## Point2DPtrVect_CI

typedef Point2DPtrVect::const_iterator RDGeom::Point2DPtrVect_CI

Definition at line 501 of file point.h.

## Point2DPtrVect_I

typedef Point2DPtrVect::iterator RDGeom::Point2DPtrVect_I

Definition at line 500 of file point.h.

## POINT3D_VECT

typedef std::vector<Point3D> RDGeom::POINT3D_VECT

Definition at line 507 of file point.h.

## POINT3D_VECT_CI

typedef std::vector<Point3D>::const_iterator RDGeom::POINT3D_VECT_CI

Definition at line 509 of file point.h.

## POINT3D_VECT_I

typedef std::vector<Point3D>::iterator RDGeom::POINT3D_VECT_I

Definition at line 508 of file point.h.

## Point3DConstPtrVect

typedef std::vector<const RDGeom::Point3D *> RDGeom::Point3DConstPtrVect

Definition at line 503 of file point.h.

## Point3DConstPtrVect_CI

typedef Point3DConstPtrVect::const_iterator RDGeom::Point3DConstPtrVect_CI

Definition at line 505 of file point.h.

## Point3DConstPtrVect_I

typedef Point3DConstPtrVect::iterator RDGeom::Point3DConstPtrVect_I

Definition at line 504 of file point.h.

## Point3DPtrVect

typedef std::vector<RDGeom::Point3D *> RDGeom::Point3DPtrVect

Definition at line 496 of file point.h.

## Point3DPtrVect_CI

typedef Point3DPtrVect::const_iterator RDGeom::Point3DPtrVect_CI

Definition at line 499 of file point.h.

## Point3DPtrVect_I

typedef Point3DPtrVect::iterator RDGeom::Point3DPtrVect_I

Definition at line 498 of file point.h.

## PointPtrVect

typedef std::vector<RDGeom::Point *> RDGeom::PointPtrVect

Definition at line 492 of file point.h.

## PointPtrVect_CI

typedef PointPtrVect::const_iterator RDGeom::PointPtrVect_CI

Definition at line 494 of file point.h.

## PointPtrVect_I

typedef PointPtrVect::iterator RDGeom::PointPtrVect_I

Definition at line 493 of file point.h.

## Enumeration Type Documentation

## AxisType

enum RDGeom::AxisType

Enumerator
X_Axis |
Y_Axis |
Z_Axis |

Definition at line 15 of file Transform.h.

## Function Documentation

## compute13Dist()

double RDGeom::compute13Dist | ( | double | d1,
|  | double | d2,
|  | double | angle
| ) |  |

inline

Compute the 13 distance between points give the 12 distances and the angle between the axes.

Definition at line 23 of file Utils.h.

## compute14Dist3D()

double RDGeom::compute14Dist3D | ( | double | d1,
|  | double | d2,
|  | double | d3,
|  | double | ang12,
|  | double | ang23,
|  | double | torAng
| ) |  |

inline

Compute the 14 distances give the 12 distance and the angles.

This is computed by aligning the d2 axis with the x-axis (with atom 2 at the origin. Atom 1 is made to lie int he xy-plane with a +ve y-coordinate and finally the coordinates for atom 4 are computed.

ARGUMENTS: d1 - distance between atoms 1 and 2 d2 - distance between atoms 2 and 3 d3 - distance between atoms 3 and 4 ang12 - angle between the axes d1 and d2 ang23 - angle between the axes d2 and d3 torAng - torsional agnle of the axis d2

NOTE: we are specifically calling this function compute14Dist3D because we assume the torsional angle can take any value including 0 and 180 deg. However, if using either 0 or 180 as the torsional angle (which is often the case) the user is recommended to use the specialized functions below instead of this function; they will be speedier.

Definition at line 49 of file Utils.h.

References RDGeom::Point3D::length(), RDGeom::Transform3D::SetRotation(), RDGeom::Transform3D::TransformPoint(), and X_Axis.

## compute14DistCis()

double RDGeom::compute14DistCis | ( | double | d1,
|  | double | d2,
|  | double | d3,
|  | double | ang12,
|  | double | ang23
| ) |  |

inline

Compute the 14 distances give the 12 distance and bond angle for cis configuration.

This is simply a special case of the above function compute14Dist3D; with torsion angle set to 0. However, this function should be speedier

Definition at line 73 of file Utils.h.

## compute14DistTrans()

double RDGeom::compute14DistTrans | ( | double | d1,
|  | double | d2,
|  | double | d3,
|  | double | ang12,
|  | double | ang23
| ) |  |

inline

Compute the 14 distances give the 12 distance and bond angle for trans configuration.

This is simply a special case of the above function compute14Dist3D; with torsion angle set to 180. However, this function should be speedier

Definition at line 87 of file Utils.h.

## computeDihedralAngle()

double RDGeom::computeDihedralAngle | ( | const Point3D & | pt1,
|  | const Point3D & | pt2,
|  | const Point3D & | pt3,
|  | const Point3D & | pt4
| ) |  |

Referenced by RDGeom::Point3D::getPerpendicular().

## computeGridCentroid()

Point3D RDGeom::computeGridCentroid | ( | const UniformGrid3D & | grid,
|  | const Point3D & | pt,
|  | double | windowRadius,
|  | double & | weightSum
| ) |  |

calculate the grid centroid within a window of a point

## computeSignedDihedralAngle()

double RDGeom::computeSignedDihedralAngle | ( | const Point3D & | pt1,
|  | const Point3D & | pt2,
|  | const Point3D & | pt3,
|  | const Point3D & | pt4
| ) |  |

Referenced by RDGeom::Point3D::getPerpendicular().

## findGridTerminalPoints()

std::vector<Point3D> RDGeom::findGridTerminalPoints | ( | const UniformGrid3D & | grid,
|  | double | windowRadius,
|  | double | inclusionFraction
| ) |  |

find terminal points of a shape encoded on a grid this is part of the subshape implementation

## operator*() [1/3]

RDGeom::Point3D RDGeom::operator* | ( | const RDGeom::Point3D & | p1,
|  | double | v
| ) |  |

Referenced by RDGeom::Transform2D::Transform2D(), and RDGeom::Transform3D::Transform3D().

## operator*() [2/3]

RDGeom::Point2D RDGeom::operator* | ( | const RDGeom::Point2D & | p1,
|  | double | v
| ) |  |

## operator*() [3/3]

RDGeom::PointND RDGeom::operator* | ( | const RDGeom::PointND & | p1,
|  | double | v
| ) |  |

## operator+() [1/3]

RDGeom::Point3D RDGeom::operator+ | ( | const RDGeom::Point3D & | p1,
|  | const RDGeom::Point3D & | p2
| ) |  |

## operator+() [2/3]

RDGeom::Point2D RDGeom::operator+ | ( | const RDGeom::Point2D & | p1,
|  | const RDGeom::Point2D & | p2
| ) |  |

## operator+() [3/3]

RDGeom::PointND RDGeom::operator+ | ( | const RDGeom::PointND & | p1,
|  | const RDGeom::PointND & | p2
| ) |  |

## operator-() [1/3]

RDGeom::Point3D RDGeom::operator- | ( | const RDGeom::Point3D & | p1,
|  | const RDGeom::Point3D & | p2
| ) |  |

## operator-() [2/3]

RDGeom::Point2D RDGeom::operator- | ( | const RDGeom::Point2D & | p1,
|  | const RDGeom::Point2D & | p2
| ) |  |

## operator-() [3/3]

RDGeom::PointND RDGeom::operator- | ( | const RDGeom::PointND & | p1,
|  | const RDGeom::PointND & | p2
| ) |  |

## operator/() [1/3]

RDGeom::Point3D RDGeom::operator/ | ( | const RDGeom::Point3D & | p1,
|  | double | v
| ) |  |

## operator/() [2/3]

RDGeom::Point2D RDGeom::operator/ | ( | const RDGeom::Point2D & | p1,
|  | double | v
| ) |  |

## operator/() [3/3]

RDGeom::PointND RDGeom::operator/ | ( | const RDGeom::PointND & | p1,
|  | double | v
| ) |  |

## operator<<()

std::ostream& RDGeom::operator<< | ( | std::ostream & | target,
|  | const RDGeom::Point & | pt
| ) |  |

## protrudeDistance()

template<class GRIDTYPE >

double RDGeom::protrudeDistance | ( | const GRIDTYPE & | grid1,
|  | const GRIDTYPE & | grid2
| ) |  |

calculate the protrude distance between the shapes encoded on two grids

protrude(S1,S2) = ( | S1|S2 | - | S1&S2 | ) / | S1 |

## tanimotoDistance()

template<class GRIDTYPE >

double RDGeom::tanimotoDistance | ( | const GRIDTYPE & | grid1,
|  | const GRIDTYPE & | grid2
| ) |  |

calculate the tanimoto distance between the shapes encoded on two grids

tanimoto(S1,S2) = 1 - ( | S1&S2 | / | S1|S2 | )

## writeGridToFile()

void RDGeom::writeGridToFile | ( | const UniformGrid3D & | grid,
|  | const std::string & | filename
| ) |  |

writes the contents of the grid to a named file

Referenced by RDGeom::UniformGrid3D::operator &().

## writeGridToStream()

void RDGeom::writeGridToStream | ( | const UniformGrid3D & | grid,
|  | std::ostream & | outStrm
| ) |  |

writes the contents of the grid to a stream

Referenced by RDGeom::UniformGrid3D::operator &().

## Variable Documentation

## DIM_2D

const unsigned int RDGeom::DIM_2D = 3

Definition at line 18 of file Transform2D.h.

Referenced by RDGeom::Transform2D::Transform2D().

## DIM_3D

const unsigned int RDGeom::DIM_3D = 4

Definition at line 19 of file Transform3D.h.

Referenced by RDGeom::Transform3D::Transform3D().