VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disaggregatedSetController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
13 #include "vrfmodel/setController.h"
15 
16 class DtSimMessage;
19 class DtFormationState;
20 class DtSetDataRequest;
22 
29 {
30 public:
31 
35  DtLocalObject* owner,
36  DtSimulationServices* simManager,
37  DtComponentDescriptor* desc = 0,
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
41  virtual ~DtDisaggregatedSetController() override;
42 
45  virtual const char* type() const override;
46 
47  virtual bool init() override;
48 
49  virtual void tick() override;
50 
52  static void setForceCallback(DtSimMessage* msg, void* usrData);
53  static void setInvisibleCallback(DtSimMessage* msg, void* usrData);
54  static void setTDLMessagingCallback(DtSimMessage* msg, void* usrData);
55  static void setResourceCallback(DtSimMessage* msg, void* usrData);
56 
57  static void setSuperiorCallback(DtSimMessage* msg, void* usrData);
58 
59  static void setRestoreCallback(DtSimMessage* msg, void* usrData);
60  static void setPostureCallback(DtSimMessage* msg, void* usrData);
61  static void setWeaponStateCallback(DtSimMessage* msg, void* usrData);
62  static void setAutonomousActionsEnabledCallback(DtSimMessage * msg, void * usrData);
63  static void setInvulnerableCallback(DtSimMessage * msg, void * usrData);
64  static void setUndetectableCallback(DtSimMessage * msg, void * usrData);
65 
66  static void setStatePropertiesCallback(DtSimMessage* msg, void* usrData);
67  static void setSORCallback(DtSimMessage* msg, void* usrData);
68  static void setOrderedSpeedCallback(DtSimMessage* msg, void* usrData);
69  static void setCurrentSpeedCallback(DtSimMessage* msg, void* usrData);
70  static void setTargetCallback(DtSimMessage* msg, void* usrData);
71  static void setEngagementRulesCallback(DtSimMessage* msg, void* usrData);
72 
75  static DtSimComponent * creator(const DtString& name,
76  DtLocalObject* owner,
77  DtSimulationServices* simManager,
78  DtComponentDescriptor* desc = 0,
79  DtReaderWriterRegistry* parentRegistry = 0);
80 
81 protected:
82 
83  virtual void processSetResource(DtSimMessage* msg);
84  virtual void processSetForce(DtSimMessage* msg);
85  virtual void processSetInvisible(DtSimMessage* msg);
86  virtual void processSetTDLMessaging(DtSimMessage* msg);
87 
88  virtual void processSetSuperior(DtSimMessage* msg);
89 
90  virtual void processSetRestore(DtSimMessage* msg);
91  virtual void processSetPosture(DtSimMessage* msg);
92  virtual void processSetWeaponState(DtSimMessage* msg);
93  virtual void processSetAutonomousActionsEnabled(DtSimMessage* msg);
94  virtual void processSetInvulnerable(DtSimMessage* msg);
95  virtual void processSetUndetectable(DtSimMessage* msg);
96  virtual void processSetStateProperties(DtSimMessage* msg);
97  virtual void processSetSOR(DtSimMessage* msg);
98  virtual void processSetOrderedSpeed(DtSimMessage* msg);
99  virtual void processCurrentSetSpeed(DtSimMessage* msg);
100  virtual void processSetTarget(DtSimMessage* msg);
101  virtual void processSetEngagementRules(DtSimMessage* msg);
102  virtual void checkReorgDueToForceChange();
103 
105  virtual void initializeSetsToRegister();
106 
110  virtual void forwardToSubordinates(DtSetDataRequestMessage* drMsg, bool bCheckEmbarkation = false);
111 
115 
118 
121 
122 protected:
126 };
127 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: formationState.h:40
const DtSetController & operator=(const DtSetController &orig)
assignment operator; not implemented
DtPseudoAggregateSetController is the controller that handles all of the DtSetDataRequest messages fo...
Definition: disaggregatedSetController.h:28
DtCompatibilityRadio * myCommandChannelRadio
Definition: disaggregatedSetController.h:123
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
virtual const char * type() const override=0
This returns a string from compTypes.h, and identifies the type of component.
Definition: readerWriterRegistry.h:39
virtual bool init() override
Calls setRadio()
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
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 ...
int myCheckReorgDueToForceChange
Definition: disaggregatedSetController.h:125
This class will define a basic set controller that will allow for adding sets of that can be register...
Definition: setController.h:21
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
DtAggregateLocalObjectFacade myAggregateLocalObjectFacade
Definition: disaggregatedSetController.h:124
Definition: vrfAggregateStateRepository.h:21
A DtSetDataRequestMessage is a DtRadioMsg with a pointer to a setDataRequest. The type of the DtSetDa...
Definition: setDataRequestMessage.h:29
DtCompatibilityRadio.
Definition: compatibilityRadio.h:30
A locally simulated VRF object.
Definition: localObject.h:98
void processSetOrderedSpeed(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)

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)