VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtSymbolDecorationVisualizer.h
Go to the documentation of this file.
00001 /**************************************************************************
00002  * Copyright (c) 2012 MAK Technologies, Inc.
00003  * All rights reserved.
00004  **************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #include <vrvCore/vrvCore.h>
00013 #include <vrvCore/DtStateVisualizer.h>
00014 #include <vrvCore/DtEntityStateListener.h>
00015 #include <vrvCore/DtSymbolDecoration.h>
00016 #include <vrvCore/DtSymbolDecorationSettings.h>
00017 
00018 #include <vrvUtil/DtSignalConnectionManager.h>
00019 
00020 #include <boost/unordered_map.hpp>
00021 
00022 namespace makVrv
00023 {
00024 
00025    class DtAttributeGroupWidgetAgent;
00026    class DtProjectedWidgetModelAgent;
00027    class DtSymbolDecorationUpdaterAgent;
00028    class DtOverlayDirectionLineModelAgent;
00029    class DtHeadingLineUpdaterAgent;
00030    class DtSignalConnectionManager;
00031    class DtLocationSymbolDecoration;
00032    class DtAccelerationSymbolDecoration;
00033    class DtVelocitySymbolDecoration;
00034    class DtOrientationSymbolDecoration;
00035 
00038    class DT_DLL_VRVCORE DtSymbolDecorationVisualizer
00039       : public DtStateVisualizer
00040    {
00041    public:
00042 
00048       DtSymbolDecorationVisualizer( DtBaseConnection& simulation,
00049          DtStateListener& listener, int modelSet,
00050          const std::string& decorationTag );
00051 
00054       virtual ~DtSymbolDecorationVisualizer();
00055 
00057       virtual void createModelAgents();
00058 
00060       virtual void destroyModelAgents();
00061 
00063       virtual void setModelDefinitionForAgents();
00064 
00067       virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
00068 
00071       virtual void setSelected( bool isSelected );
00072 
00074       virtual DtAttributeGroupWidgetAgent* widget();
00075 
00077       virtual DtSymbolDecorationUpdaterAgent* widgetUpdater();
00078 
00080       virtual unsigned int nextLabelIndex();
00081 
00083       virtual DtSceneObjectAgent* sceneObject();
00084 
00088       virtual void setDecorationsVisible(bool);
00089 
00091       virtual void slot_decorationEnabled(const std::string& decoration);
00092 
00094       virtual void slot_decorationDisabled(const std::string& decoration);
00095 
00097       virtual void slot_backgroundColorChanged( float r, float g, float b, float a );
00098 
00100       virtual void slot_setScale(float scale);
00101 
00103       virtual void slot_setEnabled(bool enabled);
00104 
00106       virtual void setScale(float scale);
00107 
00109       void setShowBorder(bool b);
00110 
00112       virtual DtSymbolDecoration* findSymbolDecoration(
00113          const std::string& decorationId);
00114 
00116       virtual void setOffset(double x, double y);
00117 
00119       const DtVector& offset() const;
00120 
00121    protected:
00122 
00124       virtual void setBorderState();
00125 
00126    protected:
00127 
00129       typedef boost::unordered_map<std::string, DtSymbolDecoration*> 
00130          DecorationIdMap;
00131 
00133       DtSignalConnectionManager mySignalConns;
00134 
00136       DecorationIdMap myDecorationIdMap; 
00137 
00139       DtSymbolDecorationSettings::DecorationSet myDecorationSet;
00140 
00142       DtAttributeGroupWidgetAgent* myWidget;
00143 
00146       DtProjectedWidgetModelAgent* myWidgetModel;
00147 
00150       DtSymbolDecorationUpdaterAgent* myWidgetUpdater;
00151 
00153       float myBackgroundColor[4];
00154 
00156       float myScale;
00157 
00160       DtVector myWidgetOffsetUnscaled;
00161 
00163       float myFontSizeUnscaled;
00164 
00166       float myHeadingLineLengthUnscaled;
00167 
00169       float myWidgetColumnPadding;
00170 
00172       float myWidgetRowPadding;
00173 
00175       std::string myFontFile;
00176 
00178       std::string myDecorationSetName;
00179 
00183       std::string myDecorationTag;
00184 
00186       float myTextR;
00187 
00189       float myTextG;
00190 
00192       float myTextB;
00193 
00195       float myTextA;
00196 
00198       unsigned int myNextLabelIndex;
00199 
00201       bool myEnabled;
00202 
00204       bool myShowBorder;
00205 
00206    private:
00207 
00208       void cleanup();
00209 
00210    };
00211 
00212 }

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)