VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtTacticalGraphicModelUpdaterManager Class Reference

The DtTacticalGraphicModelUpdaterManager class manages tactical graphics that want to be updated by changes to camera orientation or zoom level. The items will only be notified if either of those changes occur.

Inheritance diagram for makVrv::DtTacticalGraphicModelUpdaterManager:
Inheritance graph
[legend]

Classes

struct  ChannelUpdateData
 

Public Types

typedef boost::function< void(ChannelUpdateData)> ChannelUpdateCallback
 

Public Member Functions

 DtTacticalGraphicModelUpdaterManager (DtDe &)
 
virtual ~DtTacticalGraphicModelUpdaterManager ()
 
virtual void add (intptr_t identifier, ChannelUpdateCallback)
 
virtual void remove (intptr_t)
 
virtual bool isRegistered (intptr_t) const
 
virtual double viewResolution (DtChannel *)
 
virtual ChannelUpdateData channelUpdateData (DtChannel *)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static
DtTacticalGraphicModelUpdaterManager
instance (DtDe &de)
 
static void registerInstance (DtDe &de, DtTacticalGraphicModelUpdaterManager *anInstance)
 

Protected Types

typedef std::map< intptr_t,
ChannelUpdateCallback
CallbacksList
 
typedef std::map< DtChannel
*, ChannelUpdateData
ChannelUpdateDataMap
 

Protected Member Functions

virtual void slot_channelUpdated (DtChannelManager *, DtChannel *channel)
 
virtual void slot_channelToBeDestroyed (DtChannelManager *, DtChannel *channel)
 
void initializeTerrainInformation ()
 
virtual void terrainChanged (const DtTerrainPatch &)
 
virtual double computeHighestTerrainPoint (DtChannel *) const
 
virtual void slot_coordinateSystemChanged ()
 

Protected Attributes

DtDemyDe
 
CallbacksList myCallbacks
 
ChannelUpdateDataMap myChannelUpdateData
 
double myHighestTerrainPoint
 
bool myComputeHighestTerrainPoint
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 

Member Typedef Documentation

Function prototype for adding callback method to the model update manager.

Current channel update data such that can check if channel updates need to be called.

Constructor & Destructor Documentation

makVrv::DtTacticalGraphicModelUpdaterManager::DtTacticalGraphicModelUpdaterManager ( DtDe )

CTOR.

virtual makVrv::DtTacticalGraphicModelUpdaterManager::~DtTacticalGraphicModelUpdaterManager ( )
virtual

DTOR.

Member Function Documentation

static DtTacticalGraphicModelUpdaterManager& makVrv::DtTacticalGraphicModelUpdaterManager::instance ( DtDe de)
static

Get the creator instance for this IG object.

Exceptions
DtCorruptedStateif it is unable to get the instance.
static void makVrv::DtTacticalGraphicModelUpdaterManager::registerInstance ( DtDe de,
DtTacticalGraphicModelUpdaterManager anInstance 
)
static

Register the creator instance with an IG.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::add ( intptr_t  identifier,
ChannelUpdateCallback   
)
virtual

Adds a new item to be notified on channel update. Will check identifier to see if there is already a callback for it, and, if there is, will not replace.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::remove ( intptr_t  )
virtual

Removes an item to be notified on channel update.

virtual bool makVrv::DtTacticalGraphicModelUpdaterManager::isRegistered ( intptr_t  ) const
virtual

Return true if this identifier is registered with the manager.

virtual double makVrv::DtTacticalGraphicModelUpdaterManager::viewResolution ( DtChannel )
virtual

Returns the current camera view resolution for the given channel.

virtual ChannelUpdateData makVrv::DtTacticalGraphicModelUpdaterManager::channelUpdateData ( DtChannel )
virtual

Given a channel return an update data structure that would be sent if that channel were updated.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::slot_channelUpdated ( DtChannelManager ,
DtChannel channel 
)
protectedvirtual

Slot called each tick for current camera. Will only go through notification list if changed since last tick.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::slot_channelToBeDestroyed ( DtChannelManager ,
DtChannel channel 
)
protectedvirtual

Called when a channel is about to be destroyed will clean up any channel update data.

void makVrv::DtTacticalGraphicModelUpdaterManager::initializeTerrainInformation ( )
protected

Stores terrain information, if exists, and adds callbacks for patches added and removed to update terrain bounds information.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::terrainChanged ( const DtTerrainPatch )
protectedvirtual

Called when a terrain patch is added or deleted, will set compute flag to true to recompute bounding volume.

virtual double makVrv::DtTacticalGraphicModelUpdaterManager::computeHighestTerrainPoint ( DtChannel ) const
protectedvirtual

Computes highest point of terrain. If terrain is a global terrain use earth radius instead. NOTE: Geocentric and global terrain patches will return 0.

virtual void makVrv::DtTacticalGraphicModelUpdaterManager::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

Member Data Documentation

DtDe& makVrv::DtTacticalGraphicModelUpdaterManager::myDe
protected
CallbacksList makVrv::DtTacticalGraphicModelUpdaterManager::myCallbacks
protected
ChannelUpdateDataMap makVrv::DtTacticalGraphicModelUpdaterManager::myChannelUpdateData
protected
double makVrv::DtTacticalGraphicModelUpdaterManager::myHighestTerrainPoint
protected

Calculated height above terrain of the highest point of the terrain based on its bounding sphere.

bool makVrv::DtTacticalGraphicModelUpdaterManager::myComputeHighestTerrainPoint
protected

Set to true if bounding volume of terrain needs to be recalculated on next access.

DtSignalConnectionManager makVrv::DtTacticalGraphicModelUpdaterManager::myConnections
protected
DtCoordinateSystem* makVrv::DtTacticalGraphicModelUpdaterManager::myCoordinateSystem = nullptr
protected

local clone of the system wide coordinate system. for thread safety.


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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)