RDGeom::Point3D Class Reference

`#include <point.h>`

Inheritance diagram for RDGeom::Point3D:

## Public Member Functions

| Point3D ()
| Point3D (double xv, double yv, double zv)
| ~Point3D ()
| Point3D (const Point3D &other)
virtual Point * | copy () const
unsigned int | dimension () const
double | operator[] (unsigned int i) const
double & | operator[] (unsigned int i)
Point3D & | operator= (const Point3D &other)
Point3D & | operator+= (const Point3D &other)
Point3D & | operator-= (const Point3D &other)
Point3D & | operator*= (double scale)
Point3D & | operator/= (double scale)
Point3D | operator- () const
void | normalize ()
double | length () const
double | lengthSq () const
double | dotProduct (const Point3D &other) const
double | angleTo (const Point3D &other) const
| determines the angle between a vector to this point from the origin and a vector to the other point. More...
double | signedAngleTo (const Point3D &other) const
| determines the signed angle between a vector to this point from the origin and a vector to the other point. More...
Point3D | directionVector (const Point3D &other) const
| Returns a normalized direction vector from this point to another. More...
Point3D | crossProduct (const Point3D &other) const
| Cross product of this point with the another point. More...
Point3D | getPerpendicular () const
| Get a unit perpendicular from this point (treating it as a vector): More...
Public Member Functions inherited from RDGeom::Point
virtual | ~Point ()

## Public Attributes

double | x
double | y
double | z

## Detailed Description

Definition at line 46 of file point.h.

## Constructor & Destructor Documentation

## Point3D() [1/3]

RDGeom::Point3D::Point3D | ( |  | ) |

inline

Definition at line 50 of file point.h.

## Point3D() [2/3]

RDGeom::Point3D::Point3D | ( | double | xv,
|  | double | yv,
|  | double | zv
| ) |  |

inline

Definition at line 51 of file point.h.

## ~Point3D()

RDGeom::Point3D::~Point3D | ( |  | ) |

inline

Definition at line 53 of file point.h.

## Point3D() [3/3]

RDGeom::Point3D::Point3D | ( | const Point3D & | other | ) |

inline

Definition at line 55 of file point.h.

## Member Function Documentation

## angleTo()

double RDGeom::Point3D::angleTo | ( | const Point3D & | other | ) | const

inline

determines the angle between a vector to this point from the origin and a vector to the other point.

The angle is unsigned: the results of this call will always be between 0 and M_PI

Definition at line 156 of file point.h.

References dotProduct(), and normalize().

## copy()

virtual Point* RDGeom::Point3D::copy | ( |  | ) | const

inline virtual

Implements RDGeom::Point.

Definition at line 58 of file point.h.

## crossProduct()

Point3D RDGeom::Point3D::crossProduct | ( | const Point3D & | other | ) | const

inline

Cross product of this point with the another point.

The order is important here The result is "this" cross with "other" not (other x this)

Definition at line 201 of file point.h.

References x, y, and z.

Referenced by DistGeom::ChiralViolationContrib::calcChiralVolume().

## dimension()

unsigned int RDGeom::Point3D::dimension | ( |  | ) | const

inline virtual

Implements RDGeom::Point.

Definition at line 60 of file point.h.

## directionVector()

Point3D RDGeom::Point3D::directionVector | ( | const Point3D & | other | ) | const

inline

Returns a normalized direction vector from this point to another.

Definition at line 187 of file point.h.

References normalize(), x, y, and z.

## dotProduct()

double RDGeom::Point3D::dotProduct | ( | const Point3D & | other | ) | const

inline

Definition at line 145 of file point.h.

References x, y, and z.

Referenced by angleTo(), and DistGeom::ChiralViolationContrib::calcChiralVolume().

## getPerpendicular()

Point3D RDGeom::Point3D::getPerpendicular | ( |  | ) | const

inline

Get a unit perpendicular from this point (treating it as a vector):

Definition at line 212 of file point.h.

References length(), POSTCONDITION, x, y, and z.

## length()

double RDGeom::Point3D::length | ( |  | ) | const

inline virtual

Implements RDGeom::Point.

Definition at line 134 of file point.h.

Referenced by RDGeom::compute14Dist3D(), and getPerpendicular().

## lengthSq()

double RDGeom::Point3D::lengthSq | ( |  | ) | const

inline virtual

Implements RDGeom::Point.

Definition at line 139 of file point.h.

## normalize()

void RDGeom::Point3D::normalize | ( |  | ) |

inline virtual

Implements RDGeom::Point.

Definition at line 127 of file point.h.

Referenced by angleTo(), and directionVector().

## operator*=()

Point3D& RDGeom::Point3D::operator*= | ( | double | scale | ) |

inline

Definition at line 105 of file point.h.

## operator+=()

Point3D& RDGeom::Point3D::operator+= | ( | const Point3D & | other | ) |

inline

Definition at line 91 of file point.h.

References x, y, and z.

## operator-()

Point3D RDGeom::Point3D::operator- | ( |  | ) | const

inline

Definition at line 119 of file point.h.

References x, y, and z.

## operator-=()

Point3D& RDGeom::Point3D::operator-= | ( | const Point3D & | other | ) |

inline

Definition at line 98 of file point.h.

References x, y, and z.

## operator/=()

Point3D& RDGeom::Point3D::operator/= | ( | double | scale | ) |

inline

Definition at line 112 of file point.h.

## operator=()

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

inline

Definition at line 84 of file point.h.

References x, y, and z.

## operator[]() [1/2]

double& RDGeom::Point3D::operator[] | ( | unsigned int | i | ) |

inline virtual

Implements RDGeom::Point.

Definition at line 73 of file point.h.

References PRECONDITION.

## operator[]() [2/2]

double RDGeom::Point3D::operator[] | ( | unsigned int | i | ) | const

inline virtual

Implements RDGeom::Point.

Definition at line 62 of file point.h.

References PRECONDITION.

## signedAngleTo()

double RDGeom::Point3D::signedAngleTo | ( | const Point3D & | other | ) | const

inline

determines the signed angle between a vector to this point from the origin and a vector to the other point.

The results of this call will be between 0 and M_2_PI

Definition at line 176 of file point.h.

References M_PI, x, and y.

## Member Data Documentation

## x

double RDGeom::Point3D::x

Definition at line 48 of file point.h.

Referenced by crossProduct(), directionVector(), dotProduct(), getPerpendicular(), operator+=(), operator-(), operator-=(), operator=(), and signedAngleTo().

## y

double RDGeom::Point3D::y

Definition at line 48 of file point.h.

Referenced by crossProduct(), directionVector(), dotProduct(), getPerpendicular(), operator+=(), operator-(), operator-=(), operator=(), and signedAngleTo().

## z

double RDGeom::Point3D::z

Definition at line 48 of file point.h.

Referenced by crossProduct(), directionVector(), dotProduct(), getPerpendicular(), operator+=(), operator-(), operator-=(), and operator=().

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

- point.h