![]() |
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 00012 #ifndef DT_PROTOCOL_NAMESPACE 00013 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined. 00014 #endif 00015 00016 #include <vrvVrl/vrvVrl.h> 00017 00018 #include <vrfExtObjects/radioMessageReceivedHandler.h> 00019 00020 namespace makVrv 00021 { 00022 00023 namespace DT_PROTOCOL_NAMESPACE 00024 { 00025 00026 class DtVrlinkRadioCommLineListener; 00027 class DtVrlinkRadioCommLineVisualizerSet; 00028 00032 class DL_DLL_IGCONVRLINK DtRadioCommLineElementProcessor 00033 : public DtVirtualBaseClass 00034 { 00035 public: 00036 00039 static void registerInstance( DtVrlinkConnection& conn, 00040 DtRadioCommLineElementProcessor* instance ); 00041 00043 static DtRadioCommLineElementProcessor* findInstance( DtVrlinkConnection& conn ); 00044 00046 static DtRadioCommLineElementProcessor* create( DtVrlinkConnection& conn ); 00047 00049 virtual ~DtRadioCommLineElementProcessor(); 00050 00051 protected: 00052 00054 DtRadioCommLineElementProcessor( DtVrlinkConnection& baseSimulation ); 00055 00060 virtual void initialize(); 00061 00063 virtual void startProcessingMessages(); 00064 00066 virtual void stopProcessingMessages(); 00067 00069 static void onMessageReceivedInteraction( DtIfRadioMessageReceived msg, void* usr ); 00070 00072 virtual void processInteraction( const DtIfRadioMessageReceived& msgInter ); 00073 00075 virtual void visualizeModelSet( DtVrlinkRadioCommLineListener* listener, 00076 const DtUnicode& visDef, int modelSet ); 00077 00081 virtual const DtUnicode& chooseElementDefinition( 00082 const std::vector<DtUnicode>& defs ); 00083 00086 virtual void slot_displayRadioCommsChanged( bool enabled ); 00087 00090 virtual void slot_displayCommLinesChanged( bool enabled ); 00091 00093 virtual void slot_preTick(); 00094 00097 virtual void slot_toBeDisconnected(); 00098 00099 protected: 00100 00102 typedef boost::unordered_map<int,DtVrlinkRadioCommLineVisualizerSet*> 00103 ModelSetVisualizerSetMap; 00104 00106 typedef boost::unordered_map<DtVrlinkRadioCommLineListener*,ModelSetVisualizerSetMap> 00107 VisualizerSetMap; 00108 00109 VisualizerSetMap myVisualizerSetMap; 00110 00111 DtRadioMessageReceivedHandler* myMessageReceivedHandler; 00112 00113 DtVisualizerCreationSettings* myVisualizerCreationSettings; 00114 00115 DtVrlinkConnection& mySimulation; 00116 00117 bool myProcessMessages; 00118 00119 }; 00120 00121 } 00122 }