VR-Forces 4.8 Class Documentation
 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) 2019 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 <vrvVrl/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 QImage defaultTacticalGraphicsIconImage();
84 
86  virtual QImage defaultEntityIconImage();
87 
89  virtual QImage defaultPropIconImage();
90 
92  virtual QImage defaultBuoyBeaconIconImage();
93 
95  virtual QImage 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 QImage milStdRender(const makVrv::DtVisualizerDefinition* vis, const EntityWithForceKey& key, bool destroyed,
132  int pointSize, const QColor& outlineColor = Qt::black) const;
133 
138  virtual QImage imageSymbolRender(const makVrv::DtVisualizerDefinition* vis, const EntityWithForceKey& key, bool destroyed) const;
139 
144  virtual QImage imageFromFile(const std::string& filePath) const;
145 
147  virtual QImage imageFromModelDefinition(const std::string& modelDef) const;
148 
150  const DtVisualizerDefinition* findVisualDefinition2DSet(DtElementID element, const std::string& schema);
151 
153  virtual void composeMilStdImage(QPainter& painter, int left, int base,
154  unsigned short fillGlyph, unsigned short outlineGlyph, unsigned short echelonGlyph, unsigned short destroyedGlyph,
156 
159  virtual QImage getDefaultIconImage(DtElementID element);
160 
162  virtual void loadElementIconMapMappingFile();
163 
165  virtual QString generateIconKeyForElement(DtElementID element);
166 
167  private:
168 
171 
174 
176  DtGuiSymbolMapper& operator=(const DtGuiSymbolMapper& orig);
177 
178  protected:
180  std::map<QString, QPixmap*> myIconCache;
186  std::map<DtEntityType, std::string> myElementIconMap;
188  };
189 }
Definition: DtGuiSymbolMapper.h:35
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
QImage * myDefaultBuoyBeaconIconImage
Definition: DtGuiSymbolMapper.h:184
QImage * myDefaultObserverIconImage
Definition: DtGuiSymbolMapper.h:185
Definition: DtForceManager.h:46
QImage * myDefaultTacticalGraphicsIconImage
Definition: DtGuiSymbolMapper.h:181
QImage * myDefaultEntityIconImage
Definition: DtGuiSymbolMapper.h:182
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
The class will manage the icons for the entities, tactical graphics, munitions ,ect.
Definition: DtGuiSymbolMapper.h:29
Contains DLL export macros.
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
std::string myElementIconMapMappingFile
Definition: DtGuiSymbolMapper.h:187
std::map< QString, QPixmap * > myIconCache
Definition: DtGuiSymbolMapper.h:180
DtEntityType myEntityType
Definition: DtGuiSymbolMapper.h:64
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: modelSetEntry.h:24
int myForce
Definition: DtGuiSymbolMapper.h:63
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtForceManager class.
makVrv::DtDe & myDe
Definition: DtGuiSymbolMapper.h:179
A definition of a visualizer.
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.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::map< DtEntityType, std::string > myElementIconMap
Definition: DtGuiSymbolMapper.h:186
QImage * myDefaultPropIconImage
Definition: DtGuiSymbolMapper.h:183

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)