My Project
 All Classes Files Functions Variables Enumerations Pages
Classes | Functions
xyz.h File Reference

Interface for class XYZ. More...

#include "random.h"

Go to the source code of this file.

Classes

class  XYZ
 Class to hold vectors in 3D cartesian co-ordinates. More...
 
class  RandomXYZInUnitCube
 Generates a random point in the cube bounded by (0,0,0) and (1.0,1.0,1.0) More...
 
class  RandomXYZInBox
 Generates random points in a recnangular box centred on the origin. More...
 
class  RandomXYZInSphere
 Generates a random point in or on a unit-radius sphere centred on the origin. More...
 
class  RandomXYZInEllipsoid
 Generates a random point in or on an origin-centred ellipsoid with semi-axes of the specified size. More...
 
class  RandomXYZSphereNormal
 Generates a random point on the surface of a unit-radius sphere. More...
 

Functions

const XYZ operator* (const XYZ &a, const XYZ &b)
 Cross product.
 
float operator% (const XYZ &a, const XYZ &b)
 Dot product. More...
 
const XYZ operator+ (const XYZ &a, const XYZ &b)
 Vector addition.
 
const XYZ operator- (const XYZ &a, const XYZ &b)
 Vector subtraction.
 
const XYZ operator* (float k, const XYZ &v)
 Multiplication by scalar.
 
const XYZ operator* (const XYZ &v, float k)
 Multiplication by scalar.
 
const XYZ operator/ (const XYZ &v, float k)
 Division by scalar.
 
bool operator== (const XYZ &a, const XYZ &b)
 Equality operator.
 
bool operator!= (const XYZ &a, const XYZ &b)
 Inequality operator.
 
std::ostream & operator<< (std::ostream &out, const XYZ &v)
 Stream output operator.
 

Detailed Description

Interface for class XYZ.

Function Documentation

float operator% ( const XYZ a,
const XYZ b 
)
inline

Dot product.

Perhaps a curious choice of operator but it works for me.