VR-Forces 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 shouldForceObjectUpdate(const DtFrameStateInterface* comp) const override;
62  virtual bool setState(const std::set<const DtFrameStateInterface*>&, DtLaserDesignatorState& state) const;
63 
64  virtual bool componentDiscovered(const DtFrameStateInterface*);
65  virtual void componentRemoved(UInt64 lid, makVrv::DtUniqueID id, const DtFrameStateInterface*) override;
66  virtual makVrv::DtUniqueID idForStateComponent(const DtFrameStateInterface*) const override;
67 
68  protected:
69  typedef std::map<makVrv::DtUniqueID, FrameStateData> Cache;
71 
72  typedef std::map<DtString, makVrv::DtUniqueID> GlobalIdToUniqueId;
74  };
75 
77  {
78  public:
81 
83 
86  static void registerInstance(makVrv::DtBaseConnection& conn, DtLaserDesignatorSimDataProcessorCreator* instance);
87 
89  };
90 }
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:73
virtual const char * processorName() const
Used to uniquely identify for registration.
Definition: laserDesignatorSimDataProcessor.h:45
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
std::map< makVrv::DtUniqueID, FrameStateData > Cache
Definition: laserDesignatorSimDataProcessor.h:69
Class to transfer DtStateData for laser designator objects into entity sim data.
Definition: laserDesignatorSimDataProcessor.h:27
unsigned long long UInt64
Definition: stateDataTypes.h:17
DtLaserDesignatorState laserDesignatorStateData
Definition: laserDesignatorSimDataProcessor.h:58
std::set< const DtFrameStateInterface * > FrameStateInterfaces
Definition: laserDesignatorSimDataProcessor.h:56
std::map< DtString, makVrv::DtUniqueID > GlobalIdToUniqueId
Definition: laserDesignatorSimDataProcessor.h:72
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Cache myCache
Definition: laserDesignatorSimDataProcessor.h:70
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
Definition: laserDesignatorSimDataProcessor.h:76
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:291
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:73

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)