VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disaggregatedEmbarkationController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
16 
19 class DtSetDataRequest;
22 
43 {
44 public:
48  DtLocalObject* owner,
49  DtSimulationServices* simManager,
50  DtComponentDescriptor* desc = 0,
51  DtReaderWriterRegistry* parentRegistry = 0);
52 
54  virtual ~DtDisaggregatedEmbarkationController() override;
55 
58  virtual const char* type() const override;
59 
63  static DtSimComponent * creator(const DtString& name,
64  DtLocalObject* owner,
65  DtSimulationServices* simManager,
66  DtComponentDescriptor* desc = 0,
67  DtReaderWriterRegistry* parentRegistry = 0);
68 
69 protected:
75  virtual void moveToIngress(const DtUUID& parent) override;
76 
78  virtual void preprocessEmbarkTask() override;
79 
81  virtual void moveToEgress() override;
82 
84  virtual void preprocessDisembarkTask() override;
85 
88  virtual void sendTaskToSubordinate(const DtSimTask& task,
89  const DtUUID& subordinate) const;
90 
93  virtual void sendSetDataToSubordinate(const DtSetDataRequest& setData,
94  const DtUUID& subordinate) const;
95 
98  virtual void atEmbarkationPoint() override;
99 
101  virtual void tick() override;
102 
107  virtual void checkEmbarkationState();
108 
111  virtual void embarkObject(bool overridePosition, const DtVector& loadPosition, int slotNumber, const DtUUID& parent,
112  const DtString& slotName = "*", const DtString& slotType = "*", int appearance = 0xFFFFFFFF,
113  const DtTaitBryan& orientation = DtTaitBryan(), const DtVector& acceleration = DtVector(),
114  const DtVector& velocty = DtVector(), bool invisibleWhenEmbarked = false,
115  const DtString& animation = DtString::nullString()) override;
116 
119  virtual void unloadObject(const DtVector& unloadPoint, int appearance = 0xFFFFFFFF) override;
120 
123  virtual void processTaskComplete(DtSimMessage* msg) override;
124 
126  virtual void processEmbarkObjectCallback(DtSimMessage* msg) override;
127  virtual void processDisembarkObjectCallback(DtSimMessage* msg) override;
128 
130  virtual void clearTask() override;
131 
133  virtual void registerTaskMsgCallbacks() override;
134 
135 protected:
136  virtual void processEmbarkTask(DtSimMessage* pMsg) override;
137 
138 private:
139 
142 
145  orig);
146 
150 
151 protected:
152 
156 
161 
164 
168 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void registerTaskMsgCallbacks() override
Override for interest in both embarkation tasks and sets.
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual void unloadObject(const DtVector &unloadPoint, int appearance=0xFFFFFFFF)
Called as part of processUnload Unloads entity at specified egress point. Appearance will be the defa...
virtual void processEmbarkObjectCallback(DtSimMessage *msg)
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
Definition: organizedManagedObjectList.h:17
virtual void moveToIngress(const DtUUID &parent)
Starts a moveTo tasks, given the myIngressPoint (that is created as part of this method) as the targe...
virtual void tick() override
Ticks and performs current state.
DtOrganizedManagedObjectList myTaskableSubordinates
List of subordinates eligible to participate in embarkation behavior (subordinates that are not destr...
Definition: disaggregatedEmbarkationController.h:167
virtual void clearTask() override
Override to clear out any subtasks we might have.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtAggregateEmbarkationController is a controller that models embarkation/disembarkation behavior for ...
Definition: disaggregatedEmbarkationController.h:42
Definition: readerWriterRegistry.h:39
DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entit...
Definition: embarkationController.h:41
DtAggregateEmbarkationDescriptor; descriptor for a DtAggregateEmbarkation component.
Definition: aggregateEmbarkationDescriptor.h:29
DtAggregateLocalObjectFacade myAggregateLocalObjectFacade
Our aggregate's derived type of state repository, cached here for convenience.
Definition: disaggregatedEmbarkationController.h:155
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
virtual void processEmbarkTask(DtSimMessage *msg)
Sets state to be DtMoveToIngress. The DtMoveToIngress state will start at DtMoveToTask as a subtask t...
virtual void processTaskComplete(DtSimMessage *msg)
File: simMsg.h.
Definition: simMessage.h:35
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
const DtEmbarkationController & operator=(const DtEmbarkationController &orig)
assignment operator; not implemented
virtual void processDisembarkObjectCallback(DtSimMessage *msg)
virtual void atEmbarkationPoint()
If the descriptor says to stop at embarkation point, then this issues a DtStopMovingTask and sets the...
virtual void preprocessEmbarkTask()
Currently noops, but, give an opportunity to do any preprocessing before embark or disembark task sta...
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
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual void preprocessDisembarkTask()
Definition: vrfAggregateStateRepository.h:21
DtAggregateEmbarkationDescriptor * myAggregateEmbarkationDescriptor
Descriptor used to configure this component.
Definition: disaggregatedEmbarkationController.h:163
virtual void moveToEgress()
Moves the item to the egress point to prepare for disembarking. Currently simply sets state to DtDise...
DtCompatibilityRadio.
Definition: compatibilityRadio.h:30
virtual void embarkObject(bool overridePosition, const DtVector &loadPosition, int slotNumber, const DtUUID &parent, const DtString &slotName="*", const DtString &slotType="*", int appearance=0xFFFFFFFF, const DtTaitBryan &orientation=DtTaitBryan(), const DtVector &acceleration=DtVector(), const DtVector &velocty=DtVector(), bool invisibleWhenEmbarked=false, const DtString &animation=DtString::nullString())
Called as part of processLoad() message.
DtCompatibilityRadio * myCommandRadio
Aggregate's command radio (derived type of radio), cached here for convenience. Aggregate entities sh...
Definition: disaggregatedEmbarkationController.h:160
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)