VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
laserDesignatorSimDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrfGuiNetworkCommon/vrfComponentProcessorInterface.inl>
17 #include <vrfGuiCore/DtLaserDesignatorStateObjectAgent.hpp>
18 
19 namespace makVrv
20 {
21  class DtAgentManagerInterface;
22 }
23 
24 namespace makVrf
25 {
27  class DT_DLL_vrfGuiNetworkCommon DtLaserDesignatorSimDataProcessor : public DtVrfComponentProcessor<DtLaserDesignatorStateObjectAgent, DtLaserDesignatorStateComponent>
28  {
29  public:
31 
34 
37 
39  virtual void createAndSendState(const std::set<const DtFrameStateInterface*>& interfaces,
40  makVrv::DtSimStateObjectAgent& objectDriver, bool force = false);
41 
42  virtual const makVrv::DtSimState& emptyState() const;
43 
44  static const char* ProcessorName() { return "DtLaserDesignatorSimDataProcessor"; };
45  virtual const char* processorName() const { return ProcessorName(); };
46 
49  virtual void addLaserGlobalIdToElementIdMapping(const DtString&, makVrv::DtUniqueID);
50  virtual void removeLaserGlobalIdToElementIdMapping(const DtString&, makVrv::DtUniqueID);
51 
52  protected:
53 
55  {
56  typedef std::set<const DtFrameStateInterface*> FrameStateInterfaces;
59  };
60 
61  virtual bool setState(const std::set<const DtFrameStateInterface*>&, DtLaserDesignatorState& state) const;
62 
63  virtual bool componentDiscovered(const DtFrameStateInterface*);
64  virtual void componentRemoved(UInt64 lid, makVrv::DtUniqueID id, const DtFrameStateInterface*) override;
65  virtual makVrv::DtUniqueID idForStateComponent(const DtFrameStateInterface*);
66 
67  protected:
68  typedef std::map<makVrv::DtUniqueID, FrameStateData> Cache;
70 
71  typedef std::map<DtString, makVrv::DtUniqueID> GlobalIdToUniqueId;
73  };
74 
76  {
77  public:
80 
82 
85  static void registerInstance(makVrv::DtBaseConnection& conn, DtLaserDesignatorSimDataProcessorCreator* instance);
86 
88  };
89 }
Contains makVrv::DtSimDataProcessorInterface class.
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
FrameStateInterfaces frameStateInterfaces
Definition: laserDesignatorSimDataProcessor.h:57
GlobalIdToUniqueId myGlobalIdToUniqueId
Definition: laserDesignatorSimDataProcessor.h:72
virtual const char * processorName() const
Used to uniquely identify for registration.
Definition: laserDesignatorSimDataProcessor.h:45
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
std::map< makVrv::DtUniqueID, FrameStateData > Cache
Definition: laserDesignatorSimDataProcessor.h:68
Class to transfer DtStateData for laser designator objects into entity sim data.
Definition: laserDesignatorSimDataProcessor.h:27
DtLaserDesignatorState laserDesignatorStateData
Definition: laserDesignatorSimDataProcessor.h:58
std::set< const DtFrameStateInterface * > FrameStateInterfaces
Definition: laserDesignatorSimDataProcessor.h:56
std::map< DtString, makVrv::DtUniqueID > GlobalIdToUniqueId
Definition: laserDesignatorSimDataProcessor.h:71
Cache myCache
Definition: laserDesignatorSimDataProcessor.h:69
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
Definition: laserDesignatorSimDataProcessor.h:75
A DtSimState is the base class for all state objects. Derived instances of DtSimState will be created...
Definition: DtSimState.h:19
Definition: laserDesignatorSimDataProcessor.h:54
Definition: laserDesignatorState.h:26
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:282
static const char * ProcessorName()
Definition: laserDesignatorSimDataProcessor.h:44
Definition: vrfComponentProcessorInterface.h:31
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)