![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 #include <vrvCore/DtUniqueID.h> 00012 #include <vrvCore/DtStateVisualizer.h> 00013 #include <boost/unordered_map.hpp> 00014 00015 namespace makVrv 00016 { 00017 00018 class DtModelAgent; 00019 00022 class DT_DLL_VRVCORE Dt2DEntitySensorVolumeVisualizer : 00023 public DtStateVisualizer 00024 { 00025 public: 00026 00029 enum ColoringMode 00030 { 00031 PulseFrequency, 00032 Frequency, 00033 Fixed 00034 }; 00035 00036 public: 00037 00043 Dt2DEntitySensorVolumeVisualizer( DtBaseConnection& simulation, 00044 DtStateListener& listener, int modelSet ); 00045 00048 virtual ~Dt2DEntitySensorVolumeVisualizer(); 00049 00052 virtual void createModelAgents(); 00053 00058 virtual void destroyModelAgents(); 00059 00062 virtual void setModelDefinitionForAgents(); 00063 00068 virtual void setColoringMode( ColoringMode method ); 00069 00074 virtual const ColoringMode coloringMode() const; 00075 00077 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00078 00080 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00081 00082 protected: 00083 00089 virtual DtModelAgent* createBeamModel(); 00090 00098 DtModelAgent* newBeamModel( DtUniqueID& beamUniqueId ); 00099 00104 virtual DtModelAgent* findBeamModel( const DtUniqueID& beamModelId ); 00105 00114 virtual bool setBeamModelVisible( const DtUniqueID& beamModelId, 00115 bool vis ); 00116 00121 virtual void destroyBeamModel( const DtUniqueID& beamModelId ); 00122 00128 void destroyBeamModelInternal( const DtUniqueID& beamModelId ); 00129 00130 protected: 00131 00132 ColoringMode myColoringMode; 00133 00134 private: 00135 00136 typedef boost::unordered_map<DtUniqueID,DtModelAgent*> BeamModelMap; 00137 BeamModelMap myBeamModels; 00138 00139 }; 00140 00141 00142 typedef DtStateVisualizerCreatorTemplate<Dt2DEntitySensorVolumeVisualizer> 00143 Dt2DEntitySensorVolumeVisualizerCreator; 00144 }