The axes don't have to be normalized or orthogonal, but no pair
of them should be parallel.
|
Public Member Functions
|
|
Base (void) |
|
Creates a empty base with no valid axises.
|
|
Base (const Vector &vA, const Vector &vB, const
Vector
&vC) |
|
Creates a base with the three specified
vector axes.
|
void |
Derive (unsigned int iIndex,
bool bRightHand=true) |
|
Derives one axis from the two others. (The
new axis will be orthagonal to the other two).
|
void |
Orthogonalize (unsigned int
iIndex, unsigned int iSource=-1) |
|
Force one basis axis to be orthagonal to
another (or both other) basis axes.
|
void |
Normalize (void) |
|
Normalize all the three axes.
|
Vector |
TransformFrom (const Vector &cSource)
const |
|
Converts a point (represented as a vector)
from basis space to world space and returns it.
|
Vector |
TransformTo (const Vector &cSource)
const |
|
Converts a point (represented as a vector)
from world space to this basis space and returns it.
|
Base |
operator * (float fFactor)
const |
|
Multiplies the base vectors with a scalar
value and returns the result.
|
Base |
operator+ (const Base &bOther) const |
|
Adds two bases.
|
Vector
& |
Axis (unsigned int iIndex) |
|
Returns a reference to a basis axis.
|
const Vector
& |
Axis (unsigned int iIndex)
const |
|
Returns a reference to a basis axis.
|
Public Attributes
|
Vector |
a |
Vector |
b |
Vector |
c |
mudbox::Base mudbox::Base mudbox::Base
mudbox::Base mudbox::Base mudbox::Base mudbox::Base mudbox::Base
mudbox::Base mudbox::Base
mudbox::Base mudbox::Base mudbox::Base
mudbox::Base mudbox::Base mudbox::Base mudbox::Base mudbox::Base
mudbox::Base mudbox::Base