VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
iffLocalNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <boost/function.hpp>
12 
13 class DtIffPublisher;
14 class DtIFFDataStateRepository;
16 
17 namespace makVrf
18 {
19  class DtIffStateComponent;
20 
26 
28  {
29  private:
32 
35 
37  const DtIffLocalNetInterface & operator=(const DtSimObjectNetInterface& orig);
38 
39  public:
40 
46  bool publishObject = true);
47 
49  virtual ~DtIffLocalNetInterface() override;
50 
53  virtual bool init(const DtStateComponent*) override;
54 
57  virtual DtString type() const override;
58 
59  static DtSimObjectNetInterface * creator(
60  DtStateData* vrfObject, DtVrlinkNetworkInterface* mgr, bool publishObject);
61 
62  virtual bool isLocal() const override {
63  return true;
64  }
65 
66  virtual bool wantsToCreatePublisher() const override;
67 
68  typedef boost::function<void (DtIffPublisher* pub, const DtIffStateComponent*)> ModeEncoder;
69  static void SetModeEncoder(int, ModeEncoder);
70 
71  static void EncodeGeneralSettings(DtIffPublisher*, const DtIffStateComponent*);
72  static void EncodeBasicModeSettings(DtModeType, DtIffPublisher*, const DtIffStateComponent*);
73  static void EncodeMode3CSettings(DtIffPublisher*, const DtIffStateComponent*);
74  static void EncodeBasicDataSettings(DtIFFDataStateRepository*, const DtIffBasicModeSetting*);
75  static void EncodeTCASDataSettings(DtIffPublisher*, const DtIffStateComponent*);
76  static void EncodeMode5Settings(DtIffPublisher*, const DtIffStateComponent*);
77  static void EncodeModeSSettings(DtIffPublisher*, const DtIffStateComponent*);
78 
79  protected:
80  virtual DtObjectPublisher* createPublisher(const DtIffStateComponent*);
81  virtual void updatePublisher(DtObjectPublisher*, const DtIffStateComponent*);
82  virtual void updatePublisher() override;
83  virtual bool shouldPublish() const override;
84 
85  protected:
86  typedef std::map<int, ModeEncoder> ModeEncoders;
88 
90  mutable bool myWasOnceOn;
91  };
92 }
const DtIffStateComponent * myIffComponent
Definition: iffLocalNetInterface.h:89
virtual bool isLocal() const override
Is this network interface for a local (true) or remote (false) object? Local network interfaces shoul...
Definition: iffLocalNetInterface.h:62
bool myWasOnceOn
Definition: iffLocalNetInterface.h:90
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
static ModeEncoders theModeEncoders
Definition: iffLocalNetInterface.h:87
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
boost::function< void(DtIffPublisher *pub, const DtIffStateComponent *)> ModeEncoder
Definition: iffLocalNetInterface.h:68
General settings that apply to all modes.
Definition: iffBasicModeSettings.h:14
Definition: localStateComponentNetInterface.h:22
Definition: stateComponent.h:52
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< int, ModeEncoder > ModeEncoders
Definition: iffLocalNetInterface.h:86
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: iffStateComponent.h:83
Class Description: DtIffLocalNetInterface.
Definition: iffLocalNetInterface.h:27

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)