VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtStealthControlProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrlinkViewControlProcessor.h,v $ $Revision: 1.8 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #ifndef DT_PROTOCOL_NAMESPACE
15 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
16 #endif
17 
18 #include <vrvVrl/vrvVrl.h>
20 
21 #include <boost/unordered_map.hpp>
22 #include <boost/function.hpp>
23 
24 namespace makVrv
25 {
26  namespace DT_PROTOCOL_NAMESPACE
27  {
28 
33  : public DtVirtualBaseClass
34  {
35  public:
36 
37  typedef boost::function< void (const DtStealthControlPdu*) >
39 
41  static DtStealthControlProcessor* findInstance(
42  DtVrlinkConnection& baseSimulation);
43 
45  static void registerInstance(DtVrlinkConnection& baseSimulation,
47 
48 
51 
53  virtual ~DtStealthControlProcessor();
54 
56  void processInteraction(const DtStealthControlInteraction& stealthControl );
57 
59  void registerProcessFunction(DtViewerCommand command,
60  const ViewControlFunction& function);
61 
63  void unregisterProcessFunction(DtViewerCommand command);
64 
66  void sendStealthControlPdu(const DtGlobalObjectDesignator& id,
67  DtStealthControlPdu& p, bool status);
68 
69  protected:
70 
72  //View control functions. All functions are registered by default in
73  //the CTOR.
74 
75  void processMimicTrackViewControl( const DtStealthControlPdu * pdu );
76  void processTetherTrackViewControl( const DtStealthControlPdu * pdu );
77  void processTrackViewControl( const DtStealthControlPdu * pdu );
78  void processOrbitViewControl( const DtStealthControlPdu * pdu );
79  void processMimicViewControl( const DtStealthControlPdu * pdu );
80  void processMoveViewControl( const DtStealthControlPdu * pdu );
81  void processTetherViewControl( const DtStealthControlPdu * pdu );
82  void processAbsoluteViewControl( const DtStealthControlPdu * pdu );
83  void processCompassViewControl( const DtStealthControlPdu * pdu );
84 
86 
87  protected:
88 
89  typedef boost::unordered_map<DtViewerCommand, ViewControlFunction> ViewControlFunctionMap;
90 
94 
95  };
96  }
97 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)