The Nebula Device 3: Base::TransformDeviceBase Class Reference

The Nebula Device 3

Base::TransformDeviceBase Class Reference

#include <transformdevicebase.h>

Inheritance diagram for Base::TransformDeviceBase:

Core::RefCounted


Detailed Description

Manages global transform matrices and their combinations. Input transforms are the view transform (transforms from world to view space), the projection transform (describes the projection from view space into projection space (pre-div-z)) and the current model matrix (transforms from model to world space). From these input transforms, the TransformDevice computes all useful combinations and inverted versions.

(C) 2007 Radon Labs GmbH

Public Member Functions

 TransformDeviceBase ()
 constructor
virtual ~TransformDeviceBase ()
 destructor
virtual bool Open ()
 open the transform device
virtual void Close ()
 close the transform device
bool IsOpen () const
 return true if device is open
virtual void ApplyViewSettings ()
 apply view dependent settings
virtual void ApplyModelTransforms ()
 apply any model transform needed, implementation is platform dependend
virtual void SetProjTransform (const Math::matrix44 &m)
 set projection transform
const Math::matrix44GetProjTransform ()
 get current projection matrix
const Math::matrix44GetInvProjTransform ()
 get inverted projection transform
void SetViewTransform (const Math::matrix44 &m)
 set view transform
const Math::matrix44GetViewTransform ()
 get view transform
const Math::matrix44GetInvViewTransform ()
 get current inverted view transform
const Math::matrix44GetViewProjTransform ()
 get current view-projection transform
void SetModelTransform (const Math::matrix44 &m)
 set model transform
const Math::matrix44GetModelTransform ()
 get current model transform
const Math::matrix44GetInvModelTransform ()
 get current inverted model transform
const Math::matrix44GetModelViewTransform ()
 get current model-view matrix
const Math::matrix44GetInvModelViewTransform ()
 get current inverted model-view-transform
const Math::matrix44GetModelViewProjTransform ()
 get current model-view-projection transform
int GetRefCount () const
 get the current refcount
void AddRef ()
 increment refcount by one
void Release ()
 decrement refcount and destroy object if refcount is zero
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
const Util::StringGetClassName () const
 get the class name
Util::FourCC GetClassFourCC () const
 get the class FourCC code

Static Public Member Functions

static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

Member Function Documentation

int Core::RefCounted::GetRefCount (  )  const [inline, inherited]

get the current refcount

Return the current refcount of the object.

void Core::RefCounted::AddRef (  )  [inline, inherited]

increment refcount by one

Increment the refcount of the object.

void Core::RefCounted::Release (  )  [inline, inherited]

decrement refcount and destroy object if refcount is zero

Decrement the refcount and destroy object if refcount is zero.

const Util::String & Core::RefCounted::GetClassName (  )  const [inline, inherited]

get the class name

Get the class name of the object.

Util::FourCC Core::RefCounted::GetClassFourCC (  )  const [inline, inherited]

get the class FourCC code

Get the class FourCC of the object.

void Core::RefCounted::DumpRefCountingLeaks (  )  [static, inherited]

dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

This method should be called as the very last before an application exits.