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

Manages the creation, animation, and timeout of comm lines and squawk indicators.

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

Classes

struct  CommLineInfo
 
struct  SquawkIndicatorInfo
 

Public Member Functions

Lookup and Modifier Methods
virtual void findOrCreateAndSelectCommLine (int modelSet, int visualType, const DtCommunicationLine::AttachablePoint &source, const DtCommunicationLine::AttachablePoint &dest)
 
virtual void findOrCreateAndSelectSquawkIndicator (int modelSet, int visualType, const DtSquawkIndicator::AttachablePoint &transmitLoc)
 
void setAnimationRate (float rate)
 
void setLifetime (float lifetime)
 
void setStipplePattern (unsigned short stipplePattern)
 
virtual void setStippleRepeatFactor (int repeatFactor)
 
virtual void setColor (float red, float green, float blue, float alpha=1.0)
 
virtual void setSenderOffset (const DtVector &offset)
 
virtual void setReceiverOffset (const DtVector &offset)
 
Comm Line and Squawk Indicator Deletion
virtual void deleteCommLines ()
 
virtual void deleteSquawkIndicators ()
 
virtual void deleteCommLinesByModelSet (int modelSet)
 
virtual void deleteSquawkIndicatorsByModelSet (int modelSet)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static
DtRadioCommsVisualizationManager
instance (DtDe &de)
 

Protected Types

enum  SelectionType { CommunicationLine, SquawkIndicator, None }
 
typedef boost::unordered_map
< DtUniqueID,
SquawkIndicatorInfo
SquawkIndicatorsById
 
typedef std::map
< DtSquawkIndicator::AttachablePoint,
SquawkIndicatorInfo
SquawkIndicatorsByLocation
 
typedef boost::unordered_map
< int,
SquawkIndicatorsByLocation
ModelSetSquawkIndicatorsMap
 
typedef boost::unordered_map
< DtUniqueID, CommLineInfo
CommLinesById
 
typedef std::pair
< DtCommunicationLine::AttachablePoint,
DtCommunicationLine::AttachablePoint
CommLineEndpointPair
 
typedef std::map
< CommLineEndpointPair,
CommLineInfo
CommLinesByEndpoints
 
typedef boost::unordered_map
< int, CommLinesByEndpoints
ModelSetCommLinesMap
 
typedef boost::unordered_map
< DtUniqueID, float > 
LifetimesMap
 

Protected Member Functions

 DtRadioCommsVisualizationManager (DtDe &de)
 
virtual ~DtRadioCommsVisualizationManager ()
 
virtual void useCurrentSettings ()
 
virtual void slot_displaySettingsChanged ()
 
virtual void slot_squawkIndicatorAnimationRateChanged (float rate)
 
virtual void slot_commLineAnimationRateChanged (float rate)
 
virtual void slot_squawkIndicatorLifetimeChanged (float lifetime)
 
virtual void slot_commLineLifetimeChanged (float lifetime)
 
virtual void slot_commLineRenderModeChanged (makArchives::DtRadioCommunicationsSettingsRecord::CommLineMode renderMode)
 
virtual void slot_greatCircleExaggerationAmountChanged (float amount)
 
virtual void slot_preTick ()
 

Protected Attributes

DtSignalConnectionManager myConnections
 
ModelSetSquawkIndicatorsMap myModelSetSquawkIndicatorsMap
 
SquawkIndicatorsById mySquawkIndicatorsMap
 
ModelSetCommLinesMap myModelSetCommLinesMap
 
CommLinesById myCommLinesMap
 
LifetimesMap myLifetimesMap
 
float mySquawkIndicatorAnimationRate
 
float myCommLineAnimationRate
 
float mySquawkIndicatorLifetime
 
float myCommLineLifetime
 
bool myCurvedEarthModeFlag
 
float myGreatCircleExaggerationAmount
 
bool mySquawkIndicatorsEnabledFlag
 
bool myCommLinesEnabledFlag
 
DtBaseRadioVisualizationmySelection
 
SelectionType mySelectionType
 
DtDemyDe
 

Private Member Functions

 DtRadioCommsVisualizationManager ()
 
 DtRadioCommsVisualizationManager (const DtRadioCommsVisualizationManager &)
 
DtRadioCommsVisualizationManageroperator= (const DtRadioCommsVisualizationManager &)
 

Friends

class DtRadioCommsVisualizationManagerCreator
 

Member Typedef Documentation

Map type for mapping indicator ids to squawk indicator info.

Map type for mapping attach points to the indicator at that point.

Map type for mapping model set to a SquawkIndicatorsByLocation map.

Map type for mapping comm line ids to comm line information.

Pair type for storing pairs of attach points as a since endpoint pair.

Map type for mapping a CommLineEndpointPair to the comm line between them.

Map type for mapping model set to a CommLinesByEndpoints map.

typedef boost::unordered_map<DtUniqueID,float> makVrv::DtRadioCommsVisualizationManager::LifetimesMap
protected

Map type for mapping comm/squawk line ids to custom lifetimes.

Member Enumeration Documentation

Enumeration for type of visualization currently selected.

Enumerator
CommunicationLine 
SquawkIndicator 
None 

Constructor & Destructor Documentation

makVrv::DtRadioCommsVisualizationManager::DtRadioCommsVisualizationManager ( DtDe de)
protected

CTOR.

virtual makVrv::DtRadioCommsVisualizationManager::~DtRadioCommsVisualizationManager ( )
protectedvirtual

DTOR.

makVrv::DtRadioCommsVisualizationManager::DtRadioCommsVisualizationManager ( )
private

Default Constructor not implemented.

makVrv::DtRadioCommsVisualizationManager::DtRadioCommsVisualizationManager ( const DtRadioCommsVisualizationManager )
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

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

Static instance accessor for the manager class.

virtual void makVrv::DtRadioCommsVisualizationManager::findOrCreateAndSelectCommLine ( int  modelSet,
int  visualType,
const DtCommunicationLine::AttachablePoint source,
const DtCommunicationLine::AttachablePoint dest 
)
virtual

Finds / creates the communication line between the given entities. Reverses the scroll direction of the line if necessary and resets the line's creation time.

virtual void makVrv::DtRadioCommsVisualizationManager::findOrCreateAndSelectSquawkIndicator ( int  modelSet,
int  visualType,
const DtSquawkIndicator::AttachablePoint transmitLoc 
)
virtual

Finds / creates the squawk indicator on the given entity. Resets the squawk indicator's creation time.

void makVrv::DtRadioCommsVisualizationManager::setAnimationRate ( float  rate)

Sets the animation rate of the currently selected visualization.

void makVrv::DtRadioCommsVisualizationManager::setLifetime ( float  lifetime)

Sets the lifetime of the currently selected visualization.

void makVrv::DtRadioCommsVisualizationManager::setStipplePattern ( unsigned short  stipplePattern)

Sets the stipple pattern of the currently selected visualization.

virtual void makVrv::DtRadioCommsVisualizationManager::setStippleRepeatFactor ( int  repeatFactor)
virtual

Set the stipple pattern repeat factor of the line.

virtual void makVrv::DtRadioCommsVisualizationManager::setColor ( float  red,
float  green,
float  blue,
float  alpha = 1.0 
)
virtual

Sets the color of the currently selected visualization.

virtual void makVrv::DtRadioCommsVisualizationManager::setSenderOffset ( const DtVector offset)
virtual

Sets the offset of attachments to the sender location.

virtual void makVrv::DtRadioCommsVisualizationManager::setReceiverOffset ( const DtVector offset)
virtual

Sets the offset of attachments to the receiver locaiton. Note: Only applies to comm lines.

virtual void makVrv::DtRadioCommsVisualizationManager::deleteCommLines ( )
virtual

Deletes all comm lines.

virtual void makVrv::DtRadioCommsVisualizationManager::deleteSquawkIndicators ( )
virtual

Deletes all squawk indicators.

virtual void makVrv::DtRadioCommsVisualizationManager::deleteCommLinesByModelSet ( int  modelSet)
virtual

Deletes all comm lines for the given model set.

virtual void makVrv::DtRadioCommsVisualizationManager::deleteSquawkIndicatorsByModelSet ( int  modelSet)
virtual

Deletes all squawk indicators for the given model set.

virtual void makVrv::DtRadioCommsVisualizationManager::useCurrentSettings ( )
protectedvirtual

Stores the currently configured settings. The cached settings values will be updated as the settings change, and will be used to create/animate/timeout comm and squawk lines and indicators so that repeated settings lookups aren't needed every tick.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_displaySettingsChanged ( )
protectedvirtual

Receives notification that visibility of comm/squawk lines changed. Updates internal enabled flags and deletes comm/squawk lines if toggled off.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_squawkIndicatorAnimationRateChanged ( float  rate)
protectedvirtual

Receives notification that the squawk indicator animation rate changed. Updates the value of the cached squawk indicator animation rate.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_commLineAnimationRateChanged ( float  rate)
protectedvirtual

Receives notification that the comm line animation rate changed. Updates the value of the cached comm line animation rate.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_squawkIndicatorLifetimeChanged ( float  lifetime)
protectedvirtual

Receives notification that the squawk indicator lifetime changed. Updates the value of the cached squawk indicator lifetime.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_commLineLifetimeChanged ( float  lifetime)
protectedvirtual

Receives notification that the comm line lifetime changed. Updates the value of the cached comm line lifetime.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_commLineRenderModeChanged ( makArchives::DtRadioCommunicationsSettingsRecord::CommLineMode  renderMode)
protectedvirtual

Receives notification that the comm line render mode changed. Updates the cached render mode value and updates existing comm lines.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_greatCircleExaggerationAmountChanged ( float  amount)
protectedvirtual

Receives notification that the great circle arc exaggeration amount changed. Updates the exaggeration amount for all instantiated comm lines.

virtual void makVrv::DtRadioCommsVisualizationManager::slot_preTick ( )
protectedvirtual

Receives tick signal from the De. Performs animation and timeout on comm/squawk lines.

DtRadioCommsVisualizationManager& makVrv::DtRadioCommsVisualizationManager::operator= ( const DtRadioCommsVisualizationManager )
private

Assignment Operator not implemented - Copy not allowed.

Friends And Related Function Documentation

Member Data Documentation

DtSignalConnectionManager makVrv::DtRadioCommsVisualizationManager::myConnections
protected
ModelSetSquawkIndicatorsMap makVrv::DtRadioCommsVisualizationManager::myModelSetSquawkIndicatorsMap
protected
SquawkIndicatorsById makVrv::DtRadioCommsVisualizationManager::mySquawkIndicatorsMap
protected
ModelSetCommLinesMap makVrv::DtRadioCommsVisualizationManager::myModelSetCommLinesMap
protected
CommLinesById makVrv::DtRadioCommsVisualizationManager::myCommLinesMap
protected
LifetimesMap makVrv::DtRadioCommsVisualizationManager::myLifetimesMap
protected
float makVrv::DtRadioCommsVisualizationManager::mySquawkIndicatorAnimationRate
protected
float makVrv::DtRadioCommsVisualizationManager::myCommLineAnimationRate
protected
float makVrv::DtRadioCommsVisualizationManager::mySquawkIndicatorLifetime
protected
float makVrv::DtRadioCommsVisualizationManager::myCommLineLifetime
protected
bool makVrv::DtRadioCommsVisualizationManager::myCurvedEarthModeFlag
protected
float makVrv::DtRadioCommsVisualizationManager::myGreatCircleExaggerationAmount
protected
bool makVrv::DtRadioCommsVisualizationManager::mySquawkIndicatorsEnabledFlag
protected
bool makVrv::DtRadioCommsVisualizationManager::myCommLinesEnabledFlag
protected
DtBaseRadioVisualization* makVrv::DtRadioCommsVisualizationManager::mySelection
protected
SelectionType makVrv::DtRadioCommsVisualizationManager::mySelectionType
protected
DtDe& makVrv::DtRadioCommsVisualizationManager::myDe
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)