VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
emitterSystemLocalNetInterface.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 
11 #include <vl/emitterSystemPublisher.h>
12 #include <tbb/spin_mutex.h>
13 
15 
16 namespace makVrf
17 {
18  class DtEmitterSystemStateComponent;
19  struct DtEmitterSystemBeamStateData;
20 
27  {
28  private:
31 
34 
37  orig);
38 
39  public:
40 
45  DtEmitterSystemLocalNetInterface(DtStateData * simObject, DtVrlinkNetworkInterface* objectManager, bool publishObject = true);
46 
48  virtual ~DtEmitterSystemLocalNetInterface() override;
49 
52  virtual bool init(const DtStateComponent*) override;
53 
56  virtual DtString type() const override;
57 
58  static DtSimObjectNetInterface * creator(
59  DtStateData* vrfObject, DtVrlinkNetworkInterface* mgr, bool publishObject);
60 
61  virtual bool isLocal() const override {
62  return true;
63  }
64 
65  virtual bool wantsToCreatePublisher() const override;
66 
67  protected:
68  virtual DtObjectPublisher* createPublisher(const DtEmitterSystemStateComponent*);
69  virtual void updatePublisher(DtObjectPublisher*, const DtEmitterSystemStateComponent*);
70  virtual void updateBeam(DtEmitterBeamRepository*, const DtEmitterSystemBeamStateData*);
71 
72  virtual void updatePublisher() override;
73 
74  protected:
76  };
77 
78 
79 #if DtHLA
82  {
83  public:
84  DtVrfEmitterSystemPublisher(DtExerciseConn* conn, const char* name = 0, const DtDDMRegionSet* regionSetToUse = 0);
85 
88  virtual void syncBeamList() override;
89 
90  protected:
91 
93  virtual DtEmitterBeamPublisher* createBeamPublisher(DtEmitterBeamRepository* bsr, const DtString& beamName, DtDDMRegionSet* regSet);
94 
95  };
96 
98  {
99  public:
101  DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "") override;
102  };
103 #endif
104 
105 }
DtVrfEmitterSystemPublisher(DtExerciseConn *conn, const char *name=0, const DtDDMRegionSet *regionSetToUse=0)
const DtEmitterSystemStateComponent * myEmitterComponent
Definition: emitterSystemLocalNetInterface.h:75
virtual void syncBeamList() override
Determines whether a new beam needs to be created or destroyed and does so. Makes sure beams are crea...
Class Description: DtEmitterSystemLocalNetInterface.
Definition: emitterSystemLocalNetInterface.h:26
Definition: emitterSystemLocalNetInterface.h:97
virtual bool isLocal() const override
Is this network interface for a local (true) or remote (false) object? Local network interfaces shoul...
Definition: emitterSystemLocalNetInterface.h:61
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
In HLA, the publisher is overridden to protect the creation and deletion of beam publishers.
Definition: emitterSystemLocalNetInterface.h:81
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
virtual DtEmitterSystemPublisher * createPublisher(DtExerciseConn *conn, const DtGlobalObjectDesignator &hostId, const DtString &name="") override
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: emitterSystemStateComponent.h:466
Definition: localStateComponentNetInterface.h:22
Definition: stateComponent.h:52
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
The DtEmitterSystemStateComponentList is a collection of emitter systems and the beams they represent...
Definition: emitterSystemStateComponent.h:25
virtual DtEmitterBeamPublisher * createBeamPublisher(DtEmitterBeamRepository *bsr, const DtString &beamName, DtDDMRegionSet *regSet)
Creates and initializes a new beam publisher.
Definition: vrfVrlinkPublisherFactory.h:122

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)