![]() |
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 class DtVector; 00016 00017 namespace makVrv 00018 { 00019 00020 class DtModelAgent; 00021 00024 class DT_DLL_VRVCORE DtEntitySensorVolumeVisualizer : 00025 public DtStateVisualizer 00026 { 00027 public: 00028 00031 enum ColoringMode 00032 { 00033 PulseFrequency, 00034 Frequency, 00035 Fixed 00036 }; 00037 00043 DtEntitySensorVolumeVisualizer( DtBaseConnection& simulation, 00044 DtStateListener& listener, int modelSet ); 00045 00048 virtual ~DtEntitySensorVolumeVisualizer(); 00049 00052 virtual void createModelAgents(); 00053 00057 virtual void destroyModelAgents(); 00058 00061 virtual void setModelDefinitionForAgents(); 00062 00067 virtual void setColoringMode( ColoringMode method ); 00068 00073 virtual const ColoringMode coloringMode() const; 00074 00076 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00077 00079 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00080 00081 protected: 00082 00087 virtual DtModelAgent* createBeamModel(); 00088 00095 virtual DtModelAgent* newBeamModel( DtUniqueID& beamUniqueId ); 00096 00101 virtual DtModelAgent* findBeamModel( const DtUniqueID& beamModelId ); 00102 00109 virtual bool setBeamModelVisible( const DtUniqueID& beamModelId, bool visibility ); 00110 00115 virtual void destroyBeamModel( const DtUniqueID& beamModelId ); 00116 00121 void destroyBeamModelInternal( const DtUniqueID& beamModelId ); 00122 00123 protected: 00124 00125 ColoringMode myColoringMode; 00126 00127 private: 00128 typedef boost::unordered_map<DtUniqueID,DtModelAgent*> BeamModelMap; 00129 BeamModelMap myBeamModels; 00130 00131 }; 00132 00133 00134 typedef DtStateVisualizerCreatorTemplate<DtEntitySensorVolumeVisualizer> 00135 DtEntitySensorVolumeVisualizerCreator; 00136 }