VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiSymbolMapper.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 
18 
19 #include <vrvCore/DtEntityState.h>
20 #include <vrvCore/DtForceManager.h>
22 
23 #include <string>
24 #include <vector>
25 
26 #include <QtGui/QPixmap>
27 #include <QtGui/QImage>
28 #include <QtCore/QCache>
29 #include <QtCore/QString>
30 
31 #include <boost/unordered_map.hpp>
32 
33 class DtUUID;
34 
35 namespace makVrv
36 {
37  class DtDe;
38  class DtVisualizerDefinitionSet;
39  class DtVisualizerDefinition;
40 }
41 
42 namespace makVrf
43 {
44  class DtEntityMapperKey;
45 
53  {
54  public:
56  virtual ~DtVrfGuiSymbolMapper();
57 
59  static DtVrfGuiSymbolMapper& instance(makVrv::DtDe& de);
60 
62  virtual void clear();
63 
65  virtual void clearIcons(const DtEntityMapperKey&);
66 
70  virtual QPixmap getIcon(const DtEntityMapperKey&, bool destroyed = false, int pointSize = 48, bool sizeToFont = false,
71  const makVrv::DtVrlinkSimulatedBaseState* baseState = 0, const QSize& rescaleToIconSize = QSize(), bool isSpotReport = false,
72  const QColor& milStdOutlineColor = Qt::black, bool fillMilStdSymbol = true, bool ignoreMenuIcon = false,
73  const QColor& fillColor = Qt::transparent);
74 
75  virtual QPixmap getIcon(const DtUUID&, int pointSize = 48, bool sizeToFont = false,
76  const makVrv::DtVrlinkSimulatedBaseState* baseState = 0, const QSize& rescaleToIconSize = QSize(), bool isSpotReport = false,
77  const QColor& milStdOutlineColor = Qt::black, bool fillMilStdSymbol = true, bool ignoreMenuIcon = false);
78 
79  virtual int addFont(const QString&);
80 
81  void setIconSize(int w, int h)
82  {
83  myIconSize = QSize(w, h);
84  }
85 
86  const QSize& iconSize() const
87  {
88  return myIconSize;
89  }
90 
92  virtual QImage iconImageForIcon(const DtEntityMapperKey&, const QColor& fillColor = Qt::transparent, const QSize& iconSize = QSize(16,16)) const;
93 
95  virtual QPixmap forceColorSwatch(int force);
96  protected:
97  typedef boost::unordered_map<std::string, std::string> PathListMap;
98 
100  virtual const makVrv::DtVisualizerDefinitionSet* visualDefinitionSetThatBestMatches(const DtEntityMapperKey&, bool isSpotReport);
101  virtual unsigned short echelonGlyphFor(const DtEntityMapperKey& key, const makVrv::DtVisualizerDefinition* set) const;
102 
103  virtual QImage milStdRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed, int pointSize,
104  const QColor& outlineColor = Qt::black, bool fillMilStdSymbol = true, const makVrv::DtVrlinkSimulatedBaseState* baseState = 0, const QColor& fillColor = Qt::transparent) const;
105  virtual QImage imageSymbolRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed,
106  const makVrv::DtVrlinkSimulatedBaseState* baseState = 0, const QSize& iconSize = QSize(16,16)) const;
107 
108  virtual QImage imageFromModelDefinition(const std::string&, const QSize& iconSize = QSize(16,16)) const;
109 
111  virtual DtObjectType menuItemIconIsObjectType(const DtEntityMapperKey&) const;
112 
114  virtual void composeMilStdImage(QPainter& painter, int left, int base,
115  unsigned short fillGlyph, unsigned short outlineGlyph, unsigned short echelonGlyph, unsigned short destroyedGlyph,
117 
119  virtual QImage menuItemIcon(const DtEntityMapperKey&, const QSize& iconSize = QSize()) const;
120 
121  protected:
123  QHash<QString, QPixmap*> myIconCache;
124  QHash<int, QPixmap*> myForceSwatchCache;
125  QHash<int, QString> myFontMap;
126  QSize myIconSize;
127 
131 
133  };
134 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
PathListMap myTacticalMap
Definition: vrfGuiSymbolMapper.h:129
Definition: entityMapperKey.h:23
QHash< int, QString > myFontMap
Definition: vrfGuiSymbolMapper.h:125
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
PathListMap myAggregateMap
Definition: vrfGuiSymbolMapper.h:128
makVrv::DtDe & myDe
Definition: vrfGuiSymbolMapper.h:122
The class that will contain information about the currently loaded scenario.
Definition: vrfGuiSymbolMapper.h:52
Definition: DtForceManager.h:44
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:20
QSize myIconSize
Definition: vrfGuiSymbolMapper.h:126
Definition: objectType.h:27
Contains makVrv::DtVirtualBaseClass class.
QHash< int, QPixmap * > myForceSwatchCache
Definition: vrfGuiSymbolMapper.h:124
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
PathListMap myEntityMap
Definition: vrfGuiSymbolMapper.h:130
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
Contains makVrv::DtForceManager class.
const QSize & iconSize() const
Definition: vrfGuiSymbolMapper.h:86
void setIconSize(int w, int h)
Definition: vrfGuiSymbolMapper.h:81
Base class to provide boost signal/slot management.
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:22
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::unordered_map< std::string, std::string > PathListMap
Definition: vrfGuiSymbolMapper.h:97
QHash< QString, QPixmap * > myIconCache
Definition: vrfGuiSymbolMapper.h:123
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfGuiSymbolMapper.h:132

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)