VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
environmentSimDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrfGuiNetworkCommon/vrfDataProcessorInterface.inl>
14 #include <vrfGuiCore/DtEnvironmentStateObjectAgent.hpp>
15 #include <vrfStateData/stateData.h>
17 #include <vrfutil/rwUUID.h>
18 
19 namespace makVrf
20 {
21  class DtVrfGeometryStateComponent;
22 
24  class DT_DLL_vrfGuiNetworkCommon DtEnvironmentSimDataProcessor : public DtVrfDataProcessor<DtEnvironmentStateObjectAgent>
25  {
26  public:
28 
31 
34 
36  virtual void createAndSendState(DtStateData* sd,
37  makVrv::DtSimStateObjectAgent& objectDriver, bool force = false);
38 
39  virtual const makVrv::DtSimState& emptyState() const override;
40 
41  static const char* ProcessorName() { return "DtEnvironmentSimDataProcessor"; };
42  virtual const char* processorName() const override { return ProcessorName(); };
43 
44  protected:
45  virtual void setState(const DtStateData*, makVrv::DtSimState& state);
46 
48  virtual void removeData(Legion::UInt64 legionGlobalId);
49  virtual void slot_postUpdateCallback(const DtStateData*);
50  virtual void setupEnvironmentData();
51  virtual bool shouldForceObjectUpdate(const DtFrameStateInterface* comp) const;
52  virtual void addSimData(DtStateData* sd);
53  virtual DtVector setupPoints(const DtVrfGeometryStateComponent* locationComponent, makVrv::DtSimState& baseState);
54 
55  protected:
56  typedef std::map<makVrv::DtUniqueID, DtVrlinkSimulatedEnvironmentProcess> EnvironmentStates;
58  };
59 
61  {
62  public:
65 
67 
70  static void registerInstance(makVrv::DtBaseConnection& conn, DtEnvironmentSimDataProcessorCreator* instance);
71 
73  };
74 }
Contains makVrv::DtSimDataProcessorInterface class.
static const char * ProcessorName()
Definition: environmentSimDataProcessor.h:41
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: vrfDataProcessorInterface.h:65
EnvironmentStates myEnvironmentStates
Definition: environmentSimDataProcessor.h:57
Class to transfer DtStateData for entities into entity sim data.
Definition: environmentSimDataProcessor.h:24
Contains the DtUUID class declaration.
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: vrfGeometryStateComponent.h:54
std::map< makVrv::DtUniqueID, DtVrlinkSimulatedEnvironmentProcess > EnvironmentStates
Definition: environmentSimDataProcessor.h:56
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
Definition: environmentSimDataProcessor.h:60
unsigned long long UInt64
Definition: stateDataTypes.h:17
virtual const char * processorName() const override
Used to uniquely identify for registration.
Definition: environmentSimDataProcessor.h:42
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
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
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)