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

Q::Scope Struct Reference
[QServer]

Scene simulation radius. More...

#include <Q/q.h>

Inheritance diagram for Q::Scope:

Q::ObjectBase List of all members.

Public Member Functions

 Scope ()
Group group () const
unsigned int radius () const
List zones () const
Utils::Result adviseResidency (ResidencyListener *=0)

Static Public Member Functions

Scope create (const Group &group, unsigned int radius=1)
ClassType classType ()
Scope cast (const ObjectBase &)

Detailed Description

Scene simulation radius.

The Scope object is used to control the parts of the network of Zones that are included in the world's simulation. In order to limit the amount of work performed for very large worlds, only Zones which are 'in scope' are simulated. The application can add Zones to this list by creating Scope objects. A single scope object will add the Zone containing the Group used in its construction, and its neighbouring zones up to a given radius, to the list.

The scope radius is defined as follows. A zone is within the radius if the number of portal transitions to reach the scope's zone is less than or equal to the scope radius. A Scope radius of one, the default, includes the zone containing the scope's group and its immediate neighbour zones.

To remove a scope from the list of zones in simulation, simply drop the reference to the scope object by assigning a null scope reference to the variable which held the scope.


Constructor & Destructor Documentation

Q::Scope::Scope  )  [inline]
 

Create a null scope reference.


Member Function Documentation

Utils::Result Q::Scope::adviseResidency ResidencyListener = 0  ) 
 

Make sure that all required data for the parts of the scene that are in scope are fully loaded and ready for use. The ResidencyListener will be called when everything is loaded.

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

If the object referenced by obj is a region, then return a suitable Scope reference to the object.

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

Return the type for this class.

Scope Q::Scope::create const Group group,
unsigned int  radius = 1
[static]
 

Add the Zone containing group and all the neighbouring zones up to radius to the simulation set.

Group Q::Scope::group  )  const
 

Return the group anchoring the scope.

unsigned int Q::Scope::radius  )  const
 

Return the scope's radius.

List Q::Scope::zones  )  const
 

Return the zones contained in this scope.

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