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

TacticalGraphic Symbol decoration visualizer.

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

Public Types

enum  DtArealInformationPositionPolicy { DtArealInformationPositionPolicy::MidpointOfVertices, DtArealInformationPositionPolicy::FirstVertex }
 
enum  DtArealInformationWorldBoundsPolicy { DtArealInformationWorldBoundsPolicy::MaxExtents, DtArealInformationWorldBoundsPolicy::TwoTimesDistanceBetweenFirstAndSecondVertices }
 
enum  DtLinearNamePositionPolicy {
  DtLinearNamePositionPolicy::UpwardByLineHeight, DtLinearNamePositionPolicy::UpwardByHalfLineHeight, DtLinearNamePositionPolicy::Leading, DtLinearNamePositionPolicy::Trailing,
  DtLinearNamePositionPolicy::EndUpwardByLineHeight, DtLinearNamePositionPolicy::EndUpwardByHalfLineHeight
}
 
enum  DtLinearNameWorldBoundsPolicy { DtLinearNameWorldBoundsPolicy::DistanceBetweenFirstAndSecondVertices, DtLinearNameWorldBoundsPolicy::EntireLengthOfLine }
 
typedef std::vector< DtVectorVertexList
 
- Public Types inherited from makVrv::DtStateVisualizer
enum  Type {
  AllVisualizerTypes = 0, EntityVisualizerType = 1, EnvironmentalVisualizerType, InteractionVisualizerType,
  AggregateVisualizerType, IntervisibilityVisualizerType, TacticalSmokeVisualizerType, UserType = 10000
}
 

Public Member Functions

 DtTacticalGraphicNameVisualizer (DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet)
 
virtual ~DtTacticalGraphicNameVisualizer ()
 
 DtTacticalGraphicNameVisualizer ()=delete
 
 DtTacticalGraphicNameVisualizer (const DtTacticalGraphicNameVisualizer &)=delete
 
DtTacticalGraphicNameVisualizeroperator= (const DtTacticalGraphicNameVisualizer &)=delete
 
virtual void initialize () override
 
virtual void connectToListenerSignals () override
 
virtual void setTacticalGraphicsNameEnabled (bool enabled, bool instanceOnly=false)
 
virtual const
DtStateVisualizer::TypeInfo
typeInfo () const
 
virtual void createModelAgents () override
 
virtual void destroyModelAgents () override
 
virtual std::string fontFile ()
 
virtual void setFontFile (std::string fontFile)
 
virtual int fontSize () const
 
virtual void setFontSize (int size)
 
virtual void setLocalVertexList (const VertexList &)
 
const VertexListlocalVertexList () const
 
virtual void setColor (float r, float g, float b, float a)
 
void getColor (float &r, float &g, float &b, float &a) const
 
virtual void setClosedFigure (bool)
 
bool closedFigure () const
 
virtual void setLabelPosition (DtVector &labelPosition)
 
const DtVectorlabelPosition () const
 
virtual void setIsTimeSensitive (bool)
 
virtual bool isTimeSensitive () const
 
virtual void slot_colorChanged (float r, float g, float b, float a)
 
virtual void slot_fontChanged (const std::string &fontFile, int fontSize)
 
virtual void slot_closedFigureChanged (bool isClosedFigure)
 
virtual void slot_activationDeactivationTimeSet ()
 
virtual void slot_nameChanged (const std::string &name)
 
virtual std::string createDateTimeLabel (time_t totalSeconds) const
 
virtual void setIsFriendlyForceColorOverrideEnabled (bool enabled)
 
virtual bool isFriendlyForceColorOverrideEnabled () const
 
virtual void slot_vertexAdded (const DtVector &)
 
virtual void slot_vertexRemoved (int index)
 
virtual void slot_vertexInserted (int index, const DtVector &)
 
virtual void slot_vertexMoved (int index, const DtVector &)
 
virtual void slot_vertexListUpdated (const VertexList &)
 
virtual void slot_physicalLineHeightChanged (float height)
 
virtual void setLabelOffset (int xOffset, int yOffset)
 
- Public Member Functions inherited from makVrv::DtStateVisualizer
 DtStateVisualizer (DtBaseConnection &connection, DtStateListener &listener, DtSceneObjectAgent *sceneObjectAgent, DtModelSetId modelSet)
 
virtual ~DtStateVisualizer ()
 
virtual DtModelSetId modelSet ()
 
virtual void setSceneObjectAgent (DtSceneObjectAgent *sceneObject)
 
void setModelDefinition (const std::string &definition)
 
const std::string & modelDefinition () const
 
virtual void implementVisibility (bool visible)
 
virtual void slot_setSelected (bool b)
 
void setName (const std::string &)
 
const std::string & name () const
 
virtual void setPickable (bool)
 
virtual bool pickable () const
 
virtual DtUniqueID sceneObjectID () const
 
int visualizerType () const
 
virtual void setVisualizerDefinition (const DtVisualizerDefinition &)
 
DtStateListenerlistener ()
 
const DtStateListenerlistener () const
 
DtBaseConnectionsimulation ()
 
void setDistribute (bool b)
 
bool distribute () const
 
virtual bool setVisualizerIsVisible (bool vis, DtVisualizerShowHideContext::VisualizerShowHideContext context)
 

Static Public Member Functions

static const
DtStateVisualizer::TypeInfo
theTypeInfo ()
 

Protected Member Functions

virtual void setModelDefinitionForAgents () override
 
virtual void updateLabelPosition ()
 
virtual void updateLabelString ()
 
virtual void updateTextColor ()
 
virtual DtUnicode createAreaInformationString () const
 
virtual DtUnicode createLinearInformationString () const
 
virtual void calculateLineLabelAngle (const std::vector< DtVector > &vertexList)
 
virtual void setInitialValuesFromVisualizerDefinition ()
 
void setFriendlyForceColorStyle (vrvTacticalGraphicUtilities::FriendlyForceColorStyle style)
 
- Protected Member Functions inherited from makVrv::DtStateVisualizer
virtual void makeVisible ()
 
virtual bool isVisible () const
 
template<typename T , typename C >
void connectAndUpdate (boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
 

Protected Attributes

VertexList myVertexList
 
float myColor [4]
 
float mySelectedColor [4]
 
DtTacticalGraphicStateListenermyTacticalGraphicListener
 
DtWidgetLabelAgent * myWidget
 
DtPinnableProjectedWidgetModelAgent * myWidgetModel
 
DtLinearNamePositionPolicy myLinearNamePositionPolicy
 
DtLinearNameWorldBoundsPolicy myLinearNameWorldBoundsPolicy
 
DtArealInformationPositionPolicy myArealInformationPositionPolicy
 
DtArealInformationWorldBoundsPolicy myArealInformationWorldBoundsPolicy
 
double myMinimumWorldDistanceForNameLabels
 
std::string myFontFile
 
int myFontSize
 
int myArrowAscii
 
std::string myTitle
 
std::string myArrowTitle
 
std::string myTitleAndNameSeparationString
 
std::string myArrowTitleAndNameSeparationString
 
std::string myName
 
DtVector myLabelPosition
 
double myLabelAngle
 
double myLabelMaxWorldDistance
 
bool myIsLinearArrowRendered
 
bool myIsTimeSensitive
 
bool myIsLabelFlipped
 
bool myClosedFigure
 
bool myIsFriendlyForceColorOverrideEnabled
 
vrvTacticalGraphicUtilities::FriendlyForceColorStyle myFriendlyForceColorStyle
 
std::pair< int, intmyLabelOffset
 
- Protected Attributes inherited from makVrv::DtStateVisualizer
DtBaseConnectionmySimulation
 
DtStateListenermyListener
 
bool myDistributeFlag
 
DtUniqueID mySceneObjectID
 
std::string myName
 
std::string myModelDefinition
 
DtSignalConnectionManager myConnections
 
DtModelSetId myModelSet
 
int myVisualizerType
 
bool myPickable
 
bool myVisible
 
const DtVisualizerDefinitionmyVisualizerDefinition
 
DtSceneObjectAgent * mySceneObjectAgent
 
bool myInitialInitializeDone
 
ShowHideContextVector myVisualizerShowHideContexts
 

Additional Inherited Members

- Protected Types inherited from makVrv::DtStateVisualizer
typedef std::vector
< DtVisualizerShowHideContext::VisualizerShowHideContext
ShowHideContextVector
 

Member Typedef Documentation

used to store a list of the object's vertices

Member Enumeration Documentation

Enumerator
MidpointOfVertices 
FirstVertex 
Enumerator
MaxExtents 
TwoTimesDistanceBetweenFirstAndSecondVertices 
Enumerator
UpwardByLineHeight 
UpwardByHalfLineHeight 
Leading 
Trailing 
EndUpwardByLineHeight 
EndUpwardByHalfLineHeight 
Enumerator
DistanceBetweenFirstAndSecondVertices 
EntireLengthOfLine 

Constructor & Destructor Documentation

makVrv::DtTacticalGraphicNameVisualizer::DtTacticalGraphicNameVisualizer ( DtBaseConnection simulation,
DtStateListener listener,
DtSceneObjectAgent *  sceneObject,
DtModelSetId  modelSet 
)

CTOR.

Parameters
simulationthe DtBaseConnection this visualizer will use
listenerthe DtTacticalGraphicStateListener for this visualizer's entity
sceneObjectSceneObjectAgent this visualizer adds a model to
modelSetthe model set this visualizer belongs to
virtual makVrv::DtTacticalGraphicNameVisualizer::~DtTacticalGraphicNameVisualizer ( )
virtual

DTOR Cleans up the model agents associated with this visualizer.

makVrv::DtTacticalGraphicNameVisualizer::DtTacticalGraphicNameVisualizer ( )
delete

not allowed - default constructor

makVrv::DtTacticalGraphicNameVisualizer::DtTacticalGraphicNameVisualizer ( const DtTacticalGraphicNameVisualizer )
delete

not allowed - copy constructor

Member Function Documentation

DtTacticalGraphicNameVisualizer& makVrv::DtTacticalGraphicNameVisualizer::operator= ( const DtTacticalGraphicNameVisualizer )
delete

not allowed = equals operator

virtual void makVrv::DtTacticalGraphicNameVisualizer::initialize ( )
overridevirtual

Initialize the visualizer.

Reimplemented from makVrv::DtStateVisualizer.

virtual void makVrv::DtTacticalGraphicNameVisualizer::connectToListenerSignals ( )
overridevirtual

Connect the visualizer to the listeners signals.

Reimplemented from makVrv::DtStateVisualizer.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setTacticalGraphicsNameEnabled ( bool  enabled,
bool  instanceOnly = false 
)
virtual

Enables or disables the name of the tactical graphic being visualized controlled by the listener's signal_tacticalGraphicsIndicatorsEnabled.

virtual const DtStateVisualizer::TypeInfo& makVrv::DtTacticalGraphicNameVisualizer::typeInfo ( ) const
virtual

The instance's type info.

Implements makVrv::DtStateVisualizer.

static const DtStateVisualizer::TypeInfo& makVrv::DtTacticalGraphicNameVisualizer::theTypeInfo ( )
static

This class's type info.

virtual void makVrv::DtTacticalGraphicNameVisualizer::createModelAgents ( )
overridevirtual
virtual void makVrv::DtTacticalGraphicNameVisualizer::destroyModelAgents ( )
overridevirtual
virtual std::string makVrv::DtTacticalGraphicNameVisualizer::fontFile ( )
virtual

Get the label's font file "$(SHARED_DATA_DIR)/Fonts/FreeSans.otf" by default.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setFontFile ( std::string  fontFile)
virtual

Set the label's font file.

virtual int makVrv::DtTacticalGraphicNameVisualizer::fontSize ( ) const
virtual

Gets the label's font size 14 by default.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setFontSize ( int  size)
virtual

Sets the label's font size.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setLocalVertexList ( const VertexList )
virtual

Set the local vertex list.

const VertexList& makVrv::DtTacticalGraphicNameVisualizer::localVertexList ( ) const

Get the current vertex list.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the color of the object.

void makVrv::DtTacticalGraphicNameVisualizer::getColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const

Gets the color of the object.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setClosedFigure ( bool  )
virtual

Sets whether or not figure is a closed figure (area vs. line)

bool makVrv::DtTacticalGraphicNameVisualizer::closedFigure ( ) const

Gets whether or not figure is a closed figure (area vs. line)

virtual void makVrv::DtTacticalGraphicNameVisualizer::setLabelPosition ( DtVector labelPosition)
virtual

Sets the position of the object's label.

const DtVector& makVrv::DtTacticalGraphicNameVisualizer::labelPosition ( ) const

Gets the position of the object's label.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setIsTimeSensitive ( bool  )
virtual

Sets whether or not alitude and time information should be displayed for area tactical graphics.

virtual bool makVrv::DtTacticalGraphicNameVisualizer::isTimeSensitive ( ) const
virtual

Gets whether or not alitude and time information should be displayed for area tactical graphics.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_colorChanged ( float  r,
float  g,
float  b,
float  a 
)
virtual

Slot that is called when the tactical graphic widget color is set Bound to the listener's signal_colorSet.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_fontChanged ( const std::string &  fontFile,
int  fontSize 
)
virtual

Slot that is called when the tactical graphic text font changes Bound to the listener's signal_fontChanged.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_closedFigureChanged ( bool  isClosedFigure)
virtual

Slot that is called when the tactical graphic's isClosedFigure property changes Bound to the listener's signal_closedFigureChanged.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_activationDeactivationTimeSet ( )
virtual
virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_nameChanged ( const std::string &  name)
virtual

Slot that is called when the tactical graphic name changes Bound to the listener's signal_nameChanged.

virtual std::string makVrv::DtTacticalGraphicNameVisualizer::createDateTimeLabel ( time_t  totalSeconds) const
virtual

Creates a Date-Time Group string representation for the provided time. The default implementation creates string representation, for the provided time, expressed in the Zulu timezone. Further, the resulting string representation is expressed in Date/Time Group format: DDHHMMSSZMONYYYY where DD is Day, HH is Hours, MM is minutes, SS is seconds, Z is the time zone acronym for the Zulu timezone, MON is month, and YYYY is year.

Parameters
totalSecondsThe number of seconds since Jan 1, 1970.
virtual void makVrv::DtTacticalGraphicNameVisualizer::setIsFriendlyForceColorOverrideEnabled ( bool  enabled)
virtual

 Set  whether or not the color  of this graphic,  if aligned friendly, 

can be overridden with black/white coloration

virtual bool makVrv::DtTacticalGraphicNameVisualizer::isFriendlyForceColorOverrideEnabled ( ) const
virtual

Returns (based on the model definitionor set value) whether or not the color of this graphic, if aligned friendly, can be overridden with black/white coloration.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_vertexAdded ( const DtVector )
virtual

Slot that is called when a vertex is added to the object Bound to the listener's signal_vertexAdded.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_vertexRemoved ( int  index)
virtual

Slot that is called when a vertex is removed from the object Bound to the listener's signal_vertexRemoved.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_vertexInserted ( int  index,
const DtVector  
)
virtual

Slot that is called when a vertex is inserted at a particular index Bound to the listener's signal_insertVertex.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_vertexMoved ( int  index,
const DtVector  
)
virtual

Slot that is called when a vertex is moved to a particular index Bound to the listener's signal_vertexMoved.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_vertexListUpdated ( const VertexList )
virtual

Slot that is called when the vertex list changes Bound to the listener's signal_vertexListUpdated.

virtual void makVrv::DtTacticalGraphicNameVisualizer::slot_physicalLineHeightChanged ( float  height)
virtual

Slot for when physical height changes.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setLabelOffset ( int  xOffset,
int  yOffset 
)
virtual

Set the label offset in pixels.

virtual void makVrv::DtTacticalGraphicNameVisualizer::setModelDefinitionForAgents ( )
overrideprotectedvirtual
virtual void makVrv::DtTacticalGraphicNameVisualizer::updateLabelPosition ( )
protectedvirtual

updates the label position and rotation based on the type of tactical graphic

virtual void makVrv::DtTacticalGraphicNameVisualizer::updateLabelString ( )
protectedvirtual

updates the label string

virtual void makVrv::DtTacticalGraphicNameVisualizer::updateTextColor ( )
protectedvirtual

update the widget's colors

virtual DtUnicode makVrv::DtTacticalGraphicNameVisualizer::createAreaInformationString ( ) const
protectedvirtual

Utility function to create the informational string that appears at the center of an area.

virtual DtUnicode makVrv::DtTacticalGraphicNameVisualizer::createLinearInformationString ( ) const
protectedvirtual

Utility function to create the informational string that appears at the center of an area.

virtual void makVrv::DtTacticalGraphicNameVisualizer::calculateLineLabelAngle ( const std::vector< DtVector > &  vertexList)
protectedvirtual

Calculates the angle of the line label and updates myLabelAngle.

Parameters
vertexListlist of vertices the make up the line
virtual void makVrv::DtTacticalGraphicNameVisualizer::setInitialValuesFromVisualizerDefinition ( )
protectedvirtual

Sets member variables from the visualizer definition if they exist Should not call this directly. Called by initialize.

Reimplemented from makVrv::DtStateVisualizer.

void makVrv::DtTacticalGraphicNameVisualizer::setFriendlyForceColorStyle ( vrvTacticalGraphicUtilities::FriendlyForceColorStyle  style)
protected

Connected to the TG listener's signal_friendlyForceColorStyleChanged. This will cache the new value and force a call to updateColors()

Member Data Documentation

VertexList makVrv::DtTacticalGraphicNameVisualizer::myVertexList
protected
float makVrv::DtTacticalGraphicNameVisualizer::myColor[4]
protected

color of the tactical graphic

float makVrv::DtTacticalGraphicNameVisualizer::mySelectedColor[4]
protected

selected color of the tactical graphic

DtTacticalGraphicStateListener* makVrv::DtTacticalGraphicNameVisualizer::myTacticalGraphicListener
protected
DtWidgetLabelAgent* makVrv::DtTacticalGraphicNameVisualizer::myWidget
protected
DtPinnableProjectedWidgetModelAgent* makVrv::DtTacticalGraphicNameVisualizer::myWidgetModel
protected
DtLinearNamePositionPolicy makVrv::DtTacticalGraphicNameVisualizer::myLinearNamePositionPolicy
protected
DtLinearNameWorldBoundsPolicy makVrv::DtTacticalGraphicNameVisualizer::myLinearNameWorldBoundsPolicy
protected
DtArealInformationPositionPolicy makVrv::DtTacticalGraphicNameVisualizer::myArealInformationPositionPolicy
protected
DtArealInformationWorldBoundsPolicy makVrv::DtTacticalGraphicNameVisualizer::myArealInformationWorldBoundsPolicy
protected
double makVrv::DtTacticalGraphicNameVisualizer::myMinimumWorldDistanceForNameLabels
protected

For name labels, i.e. this for lines only. Areas have 'information' labels since they can contain more information besides the name.

std::string makVrv::DtTacticalGraphicNameVisualizer::myFontFile
protected
int makVrv::DtTacticalGraphicNameVisualizer::myFontSize
protected
int makVrv::DtTacticalGraphicNameVisualizer::myArrowAscii
protected

ASCII integer to use for the linear arrow character Only use for paired coulde arrows.

std::string makVrv::DtTacticalGraphicNameVisualizer::myTitle
protected

title used for areal information - comes from visual definition

std::string makVrv::DtTacticalGraphicNameVisualizer::myArrowTitle
protected

arrow title, preceeds arrow but after name - comes from visual definition

std::string makVrv::DtTacticalGraphicNameVisualizer::myTitleAndNameSeparationString
protected

string used to separate the title and name used for areal information - comes from visual definition

std::string makVrv::DtTacticalGraphicNameVisualizer::myArrowTitleAndNameSeparationString
protected
std::string makVrv::DtTacticalGraphicNameVisualizer::myName
protected

label used for object visualization contains the graphic name only, no additional info included

DtVector makVrv::DtTacticalGraphicNameVisualizer::myLabelPosition
protected

The position of the graphic label.

double makVrv::DtTacticalGraphicNameVisualizer::myLabelAngle
protected

Angle of the label.

double makVrv::DtTacticalGraphicNameVisualizer::myLabelMaxWorldDistance
protected

The maximum world distance of the label.

bool makVrv::DtTacticalGraphicNameVisualizer::myIsLinearArrowRendered
protected

Whether or not the arrow is rendered for linear tactical graphics.

bool makVrv::DtTacticalGraphicNameVisualizer::myIsTimeSensitive
protected

Used to turn the additional area info (altitude and time) on or off Defaults to true.

bool makVrv::DtTacticalGraphicNameVisualizer::myIsLabelFlipped
protected

Has the label been flipped due to line orientation.

bool makVrv::DtTacticalGraphicNameVisualizer::myClosedFigure
protected

Whether or not figure is a closed figure (area vs. line)

bool makVrv::DtTacticalGraphicNameVisualizer::myIsFriendlyForceColorOverrideEnabled
protected

When this visualizer if used by a friendly aligned graphic, can its color be overridden by 2525d black/white colors.

vrvTacticalGraphicUtilities::FriendlyForceColorStyle makVrv::DtTacticalGraphicNameVisualizer::myFriendlyForceColorStyle
protected
std::pair<int,int> makVrv::DtTacticalGraphicNameVisualizer::myLabelOffset
protected

In pixels.


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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)