VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtVrfGuiSymbolMapper.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 #pragma once
00012 
00013 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00014 #include <vrvCore/DtVisualizerDefinitionSet.h>
00015 
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 #include <vrvUtil/signalslib.h>
00018 #include <vrvCore/DtEntityState.h>
00019 #include <vrvVrl/DtForceManager.h>
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 #include <QtGui/QPixmap>
00025 #include <QtGui/QImage>
00026 #include <QtCore/QCache>
00027 #include <QtCore/QString>
00028 
00029 #include <boost/unordered_map.hpp>
00030 
00031 namespace makVrv
00032 {
00033    class DtDe;
00034    class DtVisualizerDefinitionSet;
00035    class DtVisualizerDefinition;
00036 }
00037 
00038 namespace makVrf
00039 {
00040    class DtEntityMapperKey;
00041 
00043    class DT_DLL_VRFGUICOREQT DtVrfGuiSymbolMapper : public makVrv::DtVirtualBaseClass
00044    {
00045    public:
00046       DtVrfGuiSymbolMapper(makVrv::DtDe&);
00047       virtual ~DtVrfGuiSymbolMapper();
00048 
00050       static DtVrfGuiSymbolMapper& instance(makVrv::DtDe& de);
00051 
00053       virtual void clear();
00054 
00056       virtual void clearIcons(const DtEntityMapperKey&);
00057 
00060       virtual QPixmap getIcon(const DtEntityMapperKey&, bool destroyed = false, int pointSize = 48, bool sizeToFont = false,
00061          const makVrv::DtVrlinkSimulatedBaseState* baseState = 0);
00062 
00063       virtual int addFont(const QString&);
00064 
00065       void setIconSize(int w, int h)
00066       {
00067          myIconSize = QSize(w, h);
00068       }
00069 
00070       const QSize& iconSize() const
00071       {
00072          return myIconSize;
00073       }
00074 
00075    protected:
00076       typedef boost::unordered_map<std::string, std::string> PathListMap;
00077 
00079       virtual const makVrv::DtVisualizerDefinitionSet* visualDefinitionSetThatBestMatches(const DtEntityMapperKey&);
00080 
00081       virtual QImage milStdRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed, int pointSize,
00082          const makVrv::DtVrlinkSimulatedBaseState* baseState = 0) const;
00083       virtual QImage imageSymbolRender(const makVrv::DtVisualizerDefinition*, const DtEntityMapperKey& key, bool destroyed,
00084          const makVrv::DtVrlinkSimulatedBaseState* baseState = 0) const;
00085 
00086       virtual QImage imageFromModelDefinition(const std::string&) const;
00087 
00089       virtual void composeMilStdImage(QPainter& painter, int left, int base,
00090          unsigned short fillGlyph, unsigned short outlineGlyph, unsigned short echelonGlyph, unsigned short destroyedGlyph,
00091          makVrv::DtForceManager::RGBAColor color, const makVrv::DtVrlinkSimulatedBaseState* baseState = 0) const;
00092 
00093    protected:
00094       makVrv::DtDe& myDe;
00095       QHash<QString, QPixmap*>   myIconCache;
00096       QHash<int, QString>        myFontMap;
00097       QSize                      myIconSize;
00098 
00099       PathListMap myAggregateMap;
00100       PathListMap myTacticalMap;
00101       PathListMap myEntityMap;
00102    };
00103 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)