class basisf

Declared in: Basis++.h
Library: libVector++.so

Description

The basisf class is an implementation of a vector quantity in 3 dimensions.

Constructors

basisf(); basisf(vectorf, vectorf, vectorf); basisf(basisf *)
The basisf data type is assigned to its e, f, and g vectors (e, f, g), respectively. Passing it () results in an assignment of I_3 ((1, 0, 0); (0, 1, 0); (0, 0, 1)). Passing it a pointer to another basis will copy the other basis into it.

Members

void replacee(vectorf),
void replacef(vectorf),
void replaceg(vectorf)
These functions replace the e, f, and g components of the basis, respectively.

void orthogonalize()
orthogonalizes f with respect to e, and then g with respective to e and f, preserving handedness.

void unitize()
makes all of the component vectors have length 1.

void dextrize()
makes g right-handed with respect to the system established by e and f.

bool orthogonal(),
bool unitary(),
bool righthanded()
These three functions are diagnostic tools which tell if the basis has their respective property. If the vectors e, f, and g are altered without calling the replaceX() or the rotateX() functions, then their activity is unpredictable.

void rotatex(float),
void rotatey(float),
void rotatez(float)
rotates the basis about each axis. These have not been implemented yet.

vectorf e, f, g
These are the component vectors of the basis: ((e.x, e.y, e.z); (f.x, f.y, f.z); (g.x, g.y, g.z)).

Operators

Let T be the transform space of R3 ¦ the transformation is given by the passed basis.
vectorf operator <<(vectorf, basisf)
changes a vector in T to a vector in R3.
vectorf operator >>(vectorf, basisf)
changes a vector in R3 to a vector in T