VR-Forces 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 
48  virtual ~DtTDLContactMessageGeneratorController() override;
49 
52  virtual const char* type() const override;
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 override;
66 
68  virtual bool createPSR() override;
69 
71  virtual int tdlMessageType() const override;
72 
75  virtual bool sendMessage() override;
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() override;
107 
109  virtual DtString domainFromType(const DtEntityType&) const;
110 
111 protected:
112  virtual bool init() override;
113 
114 protected:
120 };
121 
DtSensorContactInfoListChangeMonitor myContactListMonitor
Definition: tdlContactMessageGeneratorController.h:116
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool messageNeedsUpdate() const
Checks to see if message needs an update. Will call needsHeartbeatUpdate.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
std::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
Definition: readerWriterRegistry.h:39
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
virtual bool sendMessage() override
Creates and sends TDL message.
Contains the DtVrfTDLRemoveMessage class declaration.
Definition: vrfTDLRemoveMessage.h:24
DtTDLContactMessageGeneratorControllerDescriptor; descriptor for the DtTDLContactMessageGeneratorCont...
Definition: tdlContactMessageGeneratorControllerDescriptor.h:19
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
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:161
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:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
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:80
DtVrfTDLContactMessage * myContactMessage
Definition: tdlContactMessageGeneratorController.h:118
Process State Repository for DtTDLContactMessageGeneratorControllerPSR.
Definition: tdlContactMessageGeneratorControllerPSR.h:18
virtual bool init() override
Init. Call immediately after construction. If forwardSubordinateReports is true in the descriptor...
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.
Definition: localObject.h:98
DtTDLContactMessageGeneratorControllerDescriptor * myTDLContactDescriptor
Definition: tdlContactMessageGeneratorController.h:115
DtVrfTDLMessageGeneratorController & operator=(const DtVrfTDLMessageGeneratorController &orig)
Not Implemented.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)