Classes | |
| class | GridException |
| class | Grid3D |
| Virtual base class for a grid object. More... | |
| class | Point |
| class | Point3D |
| class | Point2D |
| 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 | |
| template<class GRIDTYPE> | |
| double | protrudeDistance (const GRIDTYPE &grid1, const GRIDTYPE &grid2) |
| calculate the protrude distance between the shapes encoded on two grids | |
| Point3D | computeGridCentroid (const UniformGrid3D &grid, const Point3D &pt, double windowRadius, double &weightSum) |
| calculate the grid centroid within a window of a point | |
| std::vector< Point3D > | findGridTerminalPoints (const UniformGrid3D &grid, double windowRadius, double inclusionFraction) |
| double | computeDihedralAngle (Point3D pt1, Point3D pt2, Point3D pt3, Point3D pt4) |
| void | writeGridToStream (const UniformGrid3D &grid, std::ostream &outStrm) |
| void | writeGridToFile (const UniformGrid3D &grid, std::string filename) |
| double | compute13Dist (double d1, double d2, double angle) |
| Compute the 13 distance between points give the 12 distances and the angle between the axes. | |
| 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. | |
| 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. | |
| 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. | |
Variables | |
| const unsigned int | DIM_2D = 3 |
| const unsigned int | DIM_3D = 4 |
| typedef std::map<int, Point2D> RDGeom::INT_POINT2D_MAP |
| typedef INT_POINT2D_MAP::const_iterator RDGeom::INT_POINT2D_MAP_CI |
| typedef INT_POINT2D_MAP::iterator RDGeom::INT_POINT2D_MAP_I |
| typedef std::vector<RDGeom::Point2D *> RDGeom::Point2DPtrVect |
| typedef Point2DPtrVect::const_iterator RDGeom::Point2DPtrVect_CI |
| typedef Point2DPtrVect::iterator RDGeom::Point2DPtrVect_I |
| typedef std::vector<Point3D> RDGeom::POINT3D_VECT |
| typedef std::vector<Point3D>::const_iterator RDGeom::POINT3D_VECT_CI |
| typedef std::vector<Point3D>::iterator RDGeom::POINT3D_VECT_I |
| typedef std::vector<const RDGeom::Point3D *> RDGeom::Point3DConstPtrVect |
| typedef Point3DConstPtrVect::const_iterator RDGeom::Point3DConstPtrVect_CI |
| typedef Point3DConstPtrVect::iterator RDGeom::Point3DConstPtrVect_I |
| typedef std::vector<RDGeom::Point3D *> RDGeom::Point3DPtrVect |
| typedef Point3DPtrVect::const_iterator RDGeom::Point3DPtrVect_CI |
| typedef Point3DPtrVect::iterator RDGeom::Point3DPtrVect_I |
| typedef std::vector<RDGeom::Point *> RDGeom::PointPtrVect |
| typedef PointPtrVect::const_iterator RDGeom::PointPtrVect_CI |
| typedef PointPtrVect::iterator RDGeom::PointPtrVect_I |
| enum RDGeom::AxisType |
| double RDGeom::compute13Dist | ( | double | d1, | |
| double | d2, | |||
| double | angle | |||
| ) | [inline] |
| 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 45 of file Utils.h.
References RDGeom::Point3D::length(), RDGeom::Transform3D::SetRotation(), RDGeom::Transform3D::TransformPoint(), and X_Axis.
| double RDGeom::compute14DistCis | ( | double | d1, | |
| double | d2, | |||
| double | d3, | |||
| double | ang12, | |||
| double | ang23 | |||
| ) | [inline] |
| double RDGeom::compute14DistTrans | ( | double | d1, | |
| double | d2, | |||
| double | d3, | |||
| double | ang12, | |||
| double | ang23 | |||
| ) | [inline] |
| double RDGeom::computeDihedralAngle | ( | Point3D | pt1, | |
| Point3D | pt2, | |||
| Point3D | pt3, | |||
| Point3D | pt4 | |||
| ) |
| Point3D RDGeom::computeGridCentroid | ( | const UniformGrid3D & | grid, | |
| const Point3D & | pt, | |||
| double | windowRadius, | |||
| double & | weightSum | |||
| ) |
calculate the grid centroid within a window of a point
| 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
| double RDGeom::protrudeDistance | ( | const GRIDTYPE & | grid1, | |
| const GRIDTYPE & | grid2 | |||
| ) | [inline] |
calculate the protrude distance between the shapes encoded on two grids
protrude(S1,S2) = ( | S1|S2 | - | S1&S2 | ) / | S1 |
| double RDGeom::tanimotoDistance | ( | const GRIDTYPE & | grid1, | |
| const GRIDTYPE & | grid2 | |||
| ) | [inline] |
calculate the tanimoto distance between the shapes encoded on two grids
tanimoto(S1,S2) = 1 - ( | S1&S2 | / | S1|S2 | )
| void RDGeom::writeGridToFile | ( | const UniformGrid3D & | grid, | |
| std::string | filename | |||
| ) |
writes the contents of the grid to a named file
| void RDGeom::writeGridToStream | ( | const UniformGrid3D & | grid, | |
| std::ostream & | outStrm | |||
| ) |
writes the contents of the grid to a stream
| const unsigned int RDGeom::DIM_2D = 3 |
| const unsigned int RDGeom::DIM_3D = 4 |
1.5.3