Sirikata
Classes | Public Member Functions | Protected Types | Protected Attributes
Sirikata::Graphics::ResourceDownloadPlanner Class Reference

Interface for service which plans when and what order to download meshes and their associated resources like textures and then passes them off to Ogre for loading. More...

#include <ResourceDownloadPlanner.hpp>

Inheritance diagram for Sirikata::Graphics::ResourceDownloadPlanner:
Collaboration diagram for Sirikata::Graphics::ResourceDownloadPlanner:

List of all members.

Classes

struct  Stats

Public Member Functions

 ResourceDownloadPlanner (Context *c, OgreRenderer *renderer)
 ~ResourceDownloadPlanner ()
virtual void addNewObject (Graphics::Entity *ent, const Transfer::URI &mesh)
virtual void addNewObject (ProxyObjectPtr p, Graphics::Entity *mesh)
virtual void updateObject (ProxyObjectPtr p)
virtual void removeObject (ProxyObjectPtr p)
virtual void removeObject (Graphics::Entity *mesh)
virtual void setCamera (Graphics::Camera *entity)
virtual void poll ()
 Override this method to specify the work to be done when polling.
virtual void start ()
 Start polling this service on this strand at the given maximum rate.
virtual void stop ()
 Stop scheduling this service.
virtual int32 maxObjects ()
virtual void setMaxObjects (int32 new_max)
OgreRenderergetScene () const
virtual Stats stats ()=0

Protected Types

typedef boost::recursive_mutex RMutex

Protected Attributes

ContextmContext
OgreRenderermScene
Graphics::Cameracamera
int32 mMaxLoaded
RMutex mDlPlannerMutex

Detailed Description

Interface for service which plans when and what order to download meshes and their associated resources like textures and then passes them off to Ogre for loading.

It is given proxies directly and it does all the work of deduplicating requests for identical meshes, planning the download of complete assets (including parsing and downloading sub-resources), and passing them off for loading.


Member Typedef Documentation

typedef boost::recursive_mutex Sirikata::Graphics::ResourceDownloadPlanner::RMutex [protected]

Constructor & Destructor Documentation

Sirikata::Graphics::ResourceDownloadPlanner::ResourceDownloadPlanner ( Context c,
OgreRenderer renderer 
)

References Sirikata::Context::add(), and camera.

Sirikata::Graphics::ResourceDownloadPlanner::~ResourceDownloadPlanner ( )

Member Function Documentation

void Sirikata::Graphics::ResourceDownloadPlanner::addNewObject ( Graphics::Entity ent,
const Transfer::URI mesh 
) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::addNewObject ( ProxyObjectPtr  p,
Graphics::Entity mesh 
) [virtual]
OgreRenderer* Sirikata::Graphics::ResourceDownloadPlanner::getScene ( ) const [inline]
int32 Sirikata::Graphics::ResourceDownloadPlanner::maxObjects ( ) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::poll ( ) [virtual]

Override this method to specify the work to be done when polling.

Implements Sirikata::PollingService.

Reimplemented in Sirikata::Graphics::PriorityDownloadPlanner.

References mDlPlannerMutex.

void Sirikata::Graphics::ResourceDownloadPlanner::removeObject ( ProxyObjectPtr  p) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::removeObject ( Graphics::Entity mesh) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::setCamera ( Graphics::Camera entity) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::setMaxObjects ( int32  new_max) [virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::start ( ) [virtual]

Start polling this service on this strand at the given maximum rate.

Reimplemented from Sirikata::PollingService.

References mDlPlannerMutex.

virtual Stats Sirikata::Graphics::ResourceDownloadPlanner::stats ( ) [pure virtual]
void Sirikata::Graphics::ResourceDownloadPlanner::stop ( ) [virtual]

Stop scheduling this service.

Note that this does not immediately stop the service, it simply guarantees the service will not be scheduled again. This allows outstanding events to be handled properly.

Reimplemented from Sirikata::PollingService.

Reimplemented in Sirikata::Graphics::PriorityDownloadPlanner.

References mDlPlannerMutex.

void Sirikata::Graphics::ResourceDownloadPlanner::updateObject ( ProxyObjectPtr  p) [virtual]

Member Data Documentation

Referenced by addNewObject(), Sirikata::Graphics::PriorityDownloadPlanner::addObject(), Sirikata::Graphics::PriorityDownloadPlanner::checkRemoveAsset(), Sirikata::Graphics::PriorityDownloadPlanner::commandGetData(), Sirikata::Graphics::PriorityDownloadPlanner::downloadAsset(), Sirikata::Graphics::PriorityDownloadPlanner::findObject(), Sirikata::Graphics::PriorityDownloadPlanner::finishLoadAsset(), Sirikata::Graphics::PriorityDownloadPlanner::handleLoadedResource(), Sirikata::Graphics::PriorityDownloadPlanner::iAddObject(), Sirikata::Graphics::PriorityDownloadPlanner::iPoll(), Sirikata::Graphics::PriorityDownloadPlanner::iRemoveObject(), Sirikata::Graphics::PriorityDownloadPlanner::iStop(), Sirikata::Graphics::PriorityDownloadPlanner::loadAsset(), Sirikata::Graphics::PriorityDownloadPlanner::loadBillboard(), Sirikata::Graphics::PriorityDownloadPlanner::loadDependentTextures(), Sirikata::Graphics::PriorityDownloadPlanner::loadMeshdata(), Sirikata::Graphics::PriorityDownloadPlanner::loadObject(), maxObjects(), poll(), Sirikata::Graphics::PriorityDownloadPlanner::poll(), removeObject(), Sirikata::Graphics::PriorityDownloadPlanner::removeObject(), Sirikata::Graphics::PriorityDownloadPlanner::requestAssetForObject(), setCamera(), setMaxObjects(), start(), Sirikata::Graphics::PriorityDownloadPlanner::stats(), stop(), Sirikata::Graphics::PriorityDownloadPlanner::stop(), Sirikata::Graphics::PriorityDownloadPlanner::unloadObject(), Sirikata::Graphics::PriorityDownloadPlanner::unrequestAssetForObject(), Sirikata::Graphics::PriorityDownloadPlanner::updateAssetPriority(), updateObject(), and Sirikata::Graphics::PriorityDownloadPlanner::updateObject().


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