VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
tdlContactMessageGeneratorController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
16 
19 class DtVrfTDLMessage;
22 class DtRwStringList;
23 class DtSpotReport;
25 
27 {
28 protected:
29  typedef std::map<DtUUID, DtSpotReport*> SpotReportStdMap;
30 
31 private:
38 
39 public:
40 
44  DtSimulationServices* simManager, DtComponentDescriptor* desc=0,
45  DtReaderWriterRegistry *parentRegistry=0);
46 
49 
52  virtual const char* type() const;
53 
57  static DtSimComponent * creator(const DtString& name,
58  DtLocalObject* owner,
59  DtSimulationServices* simManager,
60  DtComponentDescriptor* desc = 0,
61  DtReaderWriterRegistry* parentRegistry = 0);
62 
63 protected:
65  virtual bool messageNeedsUpdate() const;
66 
68  virtual bool createPSR();
69 
71  virtual int tdlMessageType() const;
72 
75  virtual bool sendMessage();
76 
78  virtual bool checkNeedsOverlayLayerSend(const DtUUID&) const;
79  virtual bool checkNeedsOverlayLayerSend(DtSimObjectReference obj) const;
80 
82  virtual void sendRemovalMessage(const DtUUID&);
83 
85  virtual void updateOrCreateContactReportsForObjectsOnOverlayLayers(const SpotReportStdMap& currentReports);
86 
88  virtual DtSpotReport* createContactReportFor(const DtSimObject*, int) const;
89 
91  virtual void updateContactReport(DtSpotReport*, const DtSimObject*) const;
92 
94  virtual void sendContactReport(DtSpotReport*);
95 
97  virtual bool needsContactReportHeartbeatUpdate(DtSpotReport*) const;
98 
100  virtual void sendRemoveAllContactReports();
101 
102  virtual bool isTypeAndForceForReport(const DtUUID& contact) const;
103  virtual bool isTypeAndForceForReport(DtSimObjectReference contactEntity) const;
104 
106  virtual void turnTDLMessagingOff();
107 
109  virtual DtString domainFromType(const DtEntityType&) const;
110 
111 protected:
112  virtual bool init();
113 
114 protected:
120 };
121 
DtSensorContactInfoListChangeMonitor myContactListMonitor
Definition: tdlContactMessageGeneratorController.h:116
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool sendMessage()
Creates and sends TDL message.
virtual bool messageNeedsUpdate() const
Checks to see if message needs an update. Will call needsHeartbeatUpdate.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
Contains the DtVrfTDLRemoveMessage class declaration.
Definition: vrfTDLRemoveMessage.h:24
DtTDLContactMessageGeneratorControllerDescriptor; descriptor for the DtTDLContactMessageGeneratorCont...
Definition: tdlContactMessageGeneratorControllerDescriptor.h:19
Definition: vrfTDLContactMessage.h:35
virtual bool createPSR()
Creates the PSR. Will create default PSR if no other PSR given in an override.
Definition: vrfTDLMessage.h:54
This class is for monitoring a DtSensorContactInfoList for changes. When instantiated, this class registers a callback with the list, and maintains internal state as to whether the callback has been invoked since the last time listChanged() was called.
Definition: sensorContactInfoList.h:145
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual bool init()
Init. Call immediately after construction. If forwardSubordinateReports is true in the descriptor...
DtVrfTDLMessageGeneratorController; implements the VRF specific TDL messages by implementing the send...
Definition: vrfTDLMessageGeneratorController.h:18
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
DtVrfTDLContactMessage * myContactMessage
Definition: tdlContactMessageGeneratorController.h:118
Process State Repository for DtTDLContactMessageGeneratorControllerPSR.
Definition: tdlContactMessageGeneratorControllerPSR.h:18
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList. These lists are used within VR-Fo...
Definition: managedObjectList.h:35
DtVrfTDLRemoveMessage * myRemovalMessage
Definition: tdlContactMessageGeneratorController.h:117
std::map< DtUUID, DtSpotReport * > SpotReportStdMap
Definition: tdlContactMessageGeneratorController.h:29
virtual int tdlMessageType() const =0
Override to specify the VRF TDL message type to create.
Definition: rwStringList.h:20
Definition: tdlContactMessageGeneratorController.h:26
DtManagedObjectListConstPtr myObjectsOverlayList
Definition: tdlContactMessageGeneratorController.h:119
DtSpotReport; subclass of DtSimReport.
Definition: spotReport.h:35
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
DtTDLContactMessageGeneratorControllerDescriptor * myTDLContactDescriptor
Definition: tdlContactMessageGeneratorController.h:115
DtVrfTDLMessageGeneratorController & operator=(const DtVrfTDLMessageGeneratorController &orig)
Not Implemented.

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)