QSDK 1.1 Documentation
Main Page | Modules | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

Q::LodHolder Struct Reference
[Geometric Objects]

A geometry object for doing basic LOD. More...

#include <Q/q.h>

Inheritance diagram for Q::LodHolder:

Q::Geom Q::Object Q::ObjectBase List of all members.

Public Member Functions

 LodHolder ()
 LodHolder (const char *name)
unsigned int lodCount () const
Geom lod (unsigned int pos) const
float lodRange () const
float lodTransitionTime () const
Utils::Result addLod (unsigned int pos, Geom lod)
Utils::Result setLodRange (float zonerange)
Utils::Result setLodTransitionTime (float time)

Static Public Member Functions

LodHolder create (const char *name, const Database &db=Database())
LodHolder find (const char *name)
ClassType classType ()
LodHolder cast (const ObjectBase &)

Detailed Description

A geometry object for doing basic LOD.

The LodHolder object is a container for a number of other geoms which are used to render differently detailed views of an object based on how far away the object is from the viewer.


Constructor & Destructor Documentation

Q::LodHolder::LodHolder  )  [inline]
 

Create a null level-of-detail group reference.

Q::LodHolder::LodHolder const char *  name  ) 
 

Search the currently attached databases for a level-of-detail group with the given name.


Member Function Documentation

Utils::Result Q::LodHolder::addLod unsigned int  pos,
Geom  lod
 

Add a level-of-detail to the group at position pos. The most detailed level must be in position 0.

LodHolder Q::LodHolder::cast const ObjectBase  )  [static]
 

If the object referenced by obj is a level-of-detail group, then return a suitable LodHolder reference to the object.

Note:
Casting this object will cause it to be loaded from the database if it is not currently resident.

Reimplemented from Q::Geom.

ClassType Q::LodHolder::classType  )  [static]
 

Return the type for this class

LodHolder Q::LodHolder::create const char *  name,
const Database db = Database()
[static]
 

Create a new level-of-detail group named name in the given database, db, (or the most recently attached read-write database if db is null).

LodHolder Q::LodHolder::find const char *  name  )  [static]
 

Search the currently attached databases for a level-of-detail group with the given name and return that object, if it exists.

Geom Q::LodHolder::lod unsigned int  pos  )  const
 

Return the level-of-detail at position pos in the group. The most detailed level is held in position 0.

unsigned int Q::LodHolder::lodCount  )  const
 

Return the number of levels-of-detail in this group.

float Q::LodHolder::lodRange  )  const
 

Return the level-of-detail range for the group. This is the distance in meters to the first level-of-detail change from the highest level-of-detail to the next one down. All other transitions take place at multiples of this distance.

float Q::LodHolder::lodTransitionTime  )  const
 

Return the amount of time taken by the transition between one level-of-detail and the next.

Utils::Result Q::LodHolder::setLodRange float  zonerange  ) 
 

Set the range for the level-of-detail group.

Utils::Result Q::LodHolder::setLodTransitionTime float  time  ) 
 

Set the transition time for the group.

Return to QSDK documentation Contents page. Contact details for support, information and fault-reporting.
Qube Software Limited © 2000-2004