VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGuiSymbolMapper.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2021 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 #include <vrvCore/DtUniqueID.h>
15 #include <vlpi/entityType.h>
16 #include <QtGui/QPixmap>
17 #include <vrvCore/DtForceManager.h>
18 #include <vrvUtil/DtUnicode.h>
19 
20 namespace makVrv
21 {
22  class DtVisualizerDefinition;
23  class DtVisualizerDefinitionSet;
24  class DtDe;
25  class DtModelSetEntry;
26 
30  {
31  public:
32 
33 
34  //Class used as the key for the icon, entity type plus the force type.
36  {
37  public:
38 
42  EntityWithForceKey(int force, DtEntityType entityType);
44 
46  virtual void setForce(int force);
47 
49  virtual void setEntityType(DtEntityType entityType);
50 
52  int force() const;
53 
55  DtEntityType entityType() const;
56 
57 
58  bool operator==(const EntityWithForceKey& rhs) const;
59 
60  bool operator<(const EntityWithForceKey& rhs) const;
61 
62  protected:
63  int myForce;
64  DtEntityType myEntityType;
65  };
66 
69 
71  virtual ~DtGuiSymbolMapper();
72 
74  static DtGuiSymbolMapper& instance(makVrv::DtDe& de);
75 
80  virtual QPixmap getIcon(DtElementID id, int pointSize = 80, const QColor& milStdOutlineColor = Qt::black);
81 
83  virtual QPixmap defaultTacticalGraphicsIconImage();
84 
86  virtual QPixmap defaultEntityIconImage();
87 
89  virtual QPixmap defaultPropIconImage();
90 
92  virtual QPixmap defaultBuoyBeaconIconImage();
93 
95  virtual QPixmap defaultObserverIconImage();
96 
99  virtual void setDefaultTacticalGraphicsIconImage(DtUnicode file);
100 
103  virtual void setDefaultEntityIconImage(DtUnicode file);
104 
107  virtual void setDefaultPropIconImage(DtUnicode file);
108 
111  virtual void setDefaultBuoyBeaconIconImage(DtUnicode file);
112 
115  virtual void setDefaultObserverIconImage(DtUnicode file);
116 
117  protected:
118 
120  bool elementDestroyed(DtElementID id) const;
121 
123  virtual EntityWithForceKey getEntityWithForceKey(DtElementID id) const;
124 
131  virtual QPixmap milStdRender(const makVrv::DtVisualizerDefinition* vis, const EntityWithForceKey& key, bool destroyed,
132  int pointSize, const QColor& outlineColor = Qt::black) const;
133 
138  virtual QPixmap imageSymbolRender(const makVrv::DtVisualizerDefinition* vis, const EntityWithForceKey& key, bool destroyed) const;
139 
142  virtual QPixmap pixmapFromFile(const std::string& filePathOrName) const;
143 
146  virtual QPixmap getDefaultIconPixmap(DtElementID element);
147 
149  virtual QImage imageFromModelDefinition(const std::string& modelDef) const;
150 
152  const DtVisualizerDefinition* findVisualDefinition2DSet(DtElementID element, const std::string& schema);
153 
155  virtual void composeMilStdImage(QPainter& painter, int left, int base,
156  unsigned short fillGlyph, unsigned short outlineGlyph, unsigned short echelonGlyph, unsigned short destroyedGlyph,
158 
160  virtual void loadElementIconMapMappingFile();
161 
163  virtual QString generateIconKeyForElement(DtElementID element);
164 
165  private:
166 
169 
172 
174  DtGuiSymbolMapper& operator=(const DtGuiSymbolMapper& orig);
175 
176  protected:
178  std::map<QString, QPixmap*> myIconCache;
184  std::map<DtEntityType, std::string> myElementIconMap;
186  };
187 }
Definition: DtGuiSymbolMapper.h:35
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QPixmap * myDefaultBuoyBeaconIconPixmap
Definition: DtGuiSymbolMapper.h:182
Definition: DtForceManager.h:44
QPixmap * myDefaultPropIconPixmap
Definition: DtGuiSymbolMapper.h:181
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
The class will manage the icons for the entities, tactical graphics, munitions ,ect. It caches the icon for given entity type and force.
Definition: DtGuiSymbolMapper.h:29
QPixmap * myDefaultObserverIconPixmap
Definition: DtGuiSymbolMapper.h:183
Contains DLL export macros.
std::string myElementIconMapMappingFile
Definition: DtGuiSymbolMapper.h:185
std::map< QString, QPixmap * > myIconCache
Definition: DtGuiSymbolMapper.h:178
DtEntityType myEntityType
Definition: DtGuiSymbolMapper.h:64
Definition: modelSetEntry.h:34
int myForce
Definition: DtGuiSymbolMapper.h:63
Contains makVrv::DtVirtualBaseClass class.
QPixmap * myDefaultEntityIconPixmap
Definition: DtGuiSymbolMapper.h:180
Contains makVrv::DtForceManager class.
makVrv::DtDe & myDe
Definition: DtGuiSymbolMapper.h:177
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:22
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:153
Contains makVrv::DtUniqueID type.
QPixmap * myDefaultTacticalGraphicsIconPixmap
Definition: DtGuiSymbolMapper.h:179
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
std::map< DtEntityType, std::string > myElementIconMap
Definition: DtGuiSymbolMapper.h:184

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)