VR-Forces 4.8 Class Documentation
 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 
15 
18 class DtSetDataRequest;
21 
42 {
43 public:
47  DtVrfObject* owner,
48  DtSimManager* simManager,
49  DtComponentDescriptor* desc = 0,
50  DtReaderWriterRegistry* parentRegistry = 0);
51 
54 
57  virtual const char* type() const;
58 
62  static DtSimComponent * creator(const DtString& name,
63  DtVrfObject* owner,
64  DtSimManager* simManager,
65  DtComponentDescriptor* desc = 0,
66  DtReaderWriterRegistry* parentRegistry = 0);
67 
69  virtual bool init();
70 
71 protected:
77  virtual void moveToIngress(const DtUUID& parent);
78 
80  virtual void preprocessEmbarkTask();
81 
83  virtual void moveToEgress();
84 
86  virtual void preprocessDisembarkTask();
87 
90  virtual void sendTaskToSubordinate(const DtSimTask& task,
91  const DtUUID& subordinate) const;
92 
95  virtual void sendSetDataToSubordinate(const DtSetDataRequest& setData,
96  const DtUUID& subordinate) const;
97 
100  virtual void atEmbarkationPoint();
101 
103  virtual void tick();
104 
109  virtual void checkEmbarkationState();
110 
113  virtual void embarkObject(bool overridePosition,
114  const DtVector& loadPosition,
115  const DtUUID& parentName, int appearance = 0xFFFFFFFF,
116  const DtTaitBryan& orientation = DtTaitBryan(),
117  const DtVector& acceleration = DtVector(),
118  const DtVector& velocty = DtVector());
119 
122  virtual void unloadObject(const DtVector& unloadPoint, int appearance = 0xFFFFFFFF);
123 
124  virtual void setupTaskableSubordiantes();
125 
128  virtual void processTaskComplete(DtSimMessage * msg);
129 
131  virtual void processEmbarkObjectCallback(DtSimMessage* msg);
132  virtual void processDisembarkObjectCallback(DtSimMessage* msg);
133 
135  virtual void clearTask();
136 
138  virtual void registerTaskMsgCallbacks();
139 
140 protected:
141  virtual void processEmbarkTask(DtSimMessage* pMsg);
142 
143 private:
144 
147 
150  orig);
151 
155 
156 protected:
157 
161 
166 
169 
173 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#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.
virtual void processEmbarkObjectCallback(DtSimMessage *msg)
Description: Objects may contain a collection of other objects, such as overlays or pseudo-aggregate ...
Definition: subordinateManager.h:45
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual void moveToIngress(const DtUUID &parent)
Starts a moveTo tasks, given the myIngressPoint (that is created as part of this method) as the targe...
DtBoost::shared_ptr< const DtOrgViewManagedObjectList > DtOrgViewManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: orgViewManagedObjectList.h:34
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtAggregateEmbarkationController is a controller that models embarkation/disembarkation behavior for ...
Definition: disaggregatedEmbarkationController.h:41
Definition: readerWriterRegistry.h:39
DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entit...
Definition: embarkationController.h:40
virtual void clearTask()
Override to clear out any subtasks we might have.
DtAggregateEmbarkationDescriptor; descriptor for a DtAggregateEmbarkation component.
Definition: aggregateEmbarkationDescriptor.h:29
DtVrfAggregateStateRepository * myAggregateStateRepository
Our aggregate&#39;s derived type of state repository, cached here for convenience.
Definition: disaggregatedEmbarkationController.h:160
virtual void tick()
Ticks and performs current state.
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
virtual void processEmbarkTask(DtSimMessage *msg)
Sets state to be DtMoveToIngress.
virtual void processTaskComplete(DtSimMessage *msg)
File: simMsg.h.
Definition: simMessage.h:35
const DtEmbarkationController & operator=(const DtEmbarkationController &orig)
assignment operator; not implemented
virtual void registerTaskMsgCallbacks()
Override for interest in both embarkation tasks and sets.
DtOrgViewManagedObjectListConstPtr myTaskableSubordinates
List of subordinates eligible to participate in embarkation behavior (subordinates that are not destr...
Definition: disaggregatedEmbarkationController.h:172
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...
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual bool init()
Initializes any state that is needed.
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
virtual void preprocessDisembarkTask()
Definition: vrfAggregateStateRepository.h:22
DtAggregateEmbarkationDescriptor * myAggregateEmbarkationDescriptor
Descriptor used to configure this component.
Definition: disaggregatedEmbarkationController.h:168
virtual void moveToEgress()
Moves the item to the egress point to prepare for disembarking.
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.
virtual const char * type() const
Returns a string identifies the class type of component.
DtCompatibilityRadio * myCommandRadio
Aggregate&#39;s command radio (derived type of radio), cached here for convenience.
Definition: disaggregatedEmbarkationController.h:165

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)