Base Class Reference


Detailed Description

Represents a local coordinate basis comprising three axes that define a coordinate system.

The axes don't have to be normalized or orthogonal, but no pair of them should be parallel.

Definition at line 984 of file math.h.

#include <math.h>

List of all members.

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.
bool  operator!= (const Base &o) const
  Returns true if the two base objects are different.
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.
Base  operator- (const Base &bOther) const
  Substracts 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

Constructor & Destructor Documentation

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.


Member Function Documentation

bool operator!= ( const Base o ) const [inline]

Returns true if the two base objects are different.

Definition at line 995 of file math.h.

{ return a != o.a || b != o.b || c != o.c; };
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)

Parameters:
[in] iIndex The axis to be recalculated. 0 for x, 1 for y, and 2 for z
[in] bRightHand If true, make this a right-handed coordinate system
void Orthogonalize ( unsigned int  iIndex,
unsigned int  iSource = -1 
)

Force one basis axis to be orthagonal to another (or both other) basis axes.

Parameters:
[in] iIndex Specifies which axis to orthogonalize. 0 for x, 1 for y, and 2 for z.
[in] iSource Specifies which axis to use as a reference. 0 for x, 1 for y, and 2 for z -- and -1 means "use both other axes"
void Normalize ( void  ) [inline]

Normalize all the three axes.

Definition at line 1013 of file math.h.

{ a.Normalize(); b.Normalize(); c.Normalize(); };
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.

Base operator- ( const Base bOther ) const

Substracts two bases.

Vector& Axis ( unsigned int  iIndex )

Returns a reference to a basis axis.

Parameters:
[in] iIndex 0 for x; 1 for y; 2 for z
const Vector& Axis ( unsigned int  iIndex ) const

Returns a reference to a basis axis.

Parameters:
[in] iIndex 0 for x; 1 for y; 2 for z

Member Data Documentation

Definition at line 1042 of file math.h.

Definition at line 1042 of file math.h.

Definition at line 1042 of file math.h.


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

Base Base Base Base Base Base Base Base Base Base
Base Base Base Base Base Base Base Base Base Base