VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
holdController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 
14 class DtString;
16 class DtTaskMessage;
17 class DtSimMessage;
18 class DtHoldPSR;
19 
23 {
24 public:
25 
27  DtHoldController(const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
28  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
29 
31  virtual ~DtHoldController() override;
32 
35  virtual const char* type() const override;
36 
38  virtual bool init() override;
39 
41  virtual void tick() override;
42 
44  virtual void enable() override;
45  virtual void registerTaskMsgCallbacks() override;
46 
48  virtual void disable() override;
49 
51  static void holdUntilTaskCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
52 
55  static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
56 
60  static DtSimComponent * creator(const DtString& name,
61  DtLocalObject* owner,
62  DtSimulationServices* simManager,
63  DtComponentDescriptor* desc = 0,
64  DtReaderWriterRegistry* parentRegistry = 0);
65 
66 protected:
67 
69  virtual void processHoldUntilTask(DtSimTask* task, DtSimTaskStatePtr taskState);
70 
73  virtual void onTaskComplete(DtSimMessage * msg);
74 
80  virtual bool createPSR();
81 
82 private:
85 
88 
90  const DtHoldController& operator=(const DtHoldController& orig);
91 
92 protected:
93 
97 };
98 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual void disable() override
Overridden to allow tasks controllers that can be disabled to call task complete. ...
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual void registerTaskMsgCallbacks()
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:22
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
std::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
virtual bool init() override
Calls setRadio()
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
class DtHoldPSR:
Definition: holdPSR.h:15
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
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
virtual void enable() override
Overridden to call registerTaskMsgCallbacks().
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
DtHoldPSR * myProcessState
Container for state data associated with this component. This state is saved and restored as part of ...
Definition: holdController.h:96
DtHoldController is a controller that models holding behavior for ground entities.
Definition: holdController.h:22
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
A locally simulated VRF object.
Definition: localObject.h:98

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)