VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
subsurfaceSimDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrfGuiNetworkCommon/vrfComponentProcessorInterface.inl>
16 #include <vrfGuiCore/DtWeatherProcessObjectAgent.hpp>
18 
19 namespace makVrv
20 {
21  class DtAgentManagerInterface;
22 }
23 
24 namespace makVrf
25 {
27  class DT_DLL_vrfGuiNetworkCommon DtSubsurfaceSimDataProcessor : public DtVrfComponentProcessor<DtWeatherProcessObjectAgent, DtSubsurfaceStateComponent>
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 "DtSubsurfaceSimDataProcessor"; };
45  virtual const char* processorName() const { return ProcessorName(); };
46 
47  protected:
48 
50  {
51  typedef std::set<const DtFrameStateInterface*> FrameStateInterfaces;
54  };
55 
56  virtual bool setState(const std::set<const DtFrameStateInterface*>&, FrameStateData& state) const;
57  virtual bool setState(const DtFrameStateInterface*, DtVrlinkSimulatedSubsurfaceState& state) const;
58 
59  virtual bool componentDiscovered(const DtFrameStateInterface*);
60  virtual void componentRemoved(UInt64 lid, makVrv::DtUniqueID id, const DtFrameStateInterface*) override;
61 
62  virtual DtWeatherProcessObjectAgent* createAgent(const DtFrameStateInterface* sc) override;
63  virtual void destroyAgent(makVrv::DtSimStateObjectAgent* agent, const DtFrameStateInterface* sc) override;
64  virtual bool shouldForceObjectUpdate(const DtFrameStateInterface* comp) const override;
65 
66  protected:
67  typedef std::map<makVrv::DtUniqueID, FrameStateData> Cache;
69  };
70 
72  {
73  public:
76 
78 
81  static void registerInstance(makVrv::DtBaseConnection& conn, DtSubsurfaceSimDataProcessorCreator* instance);
82 
84  };
85 }
86 
Definition: subsurfaceSimDataProcessor.h:49
Contains makVrv::DtSimDataProcessorInterface class.
static const char * ProcessorName()
Definition: subsurfaceSimDataProcessor.h:44
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Class to transfer DtStateData for subsurface objects into entity sim data.
Definition: subsurfaceSimDataProcessor.h:27
FrameStateInterfaces frameStateInterfaces
Definition: subsurfaceSimDataProcessor.h:52
DtVrlinkSimulatedSubsurfaceState subsurfaceStateData
Definition: subsurfaceSimDataProcessor.h:53
std::map< makVrv::DtUniqueID, FrameStateData > Cache
Definition: subsurfaceSimDataProcessor.h:67
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
virtual const char * processorName() const
Used to uniquely identify for registration.
Definition: subsurfaceSimDataProcessor.h:45
unsigned long long UInt64
Definition: stateDataTypes.h:17
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::set< const DtFrameStateInterface * > FrameStateInterfaces
Definition: subsurfaceSimDataProcessor.h:51
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
Cache myCache
Definition: subsurfaceSimDataProcessor.h:68
A DtSimState is the base class for all state objects. Derived instances of DtSimState will be created...
Definition: DtSimState.h:19
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:291
Definition: subsurfaceSimDataProcessor.h:71
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)