VR-Forces 4.10 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, int slotNumber,
115  const DtUUID& parent, const DtString& slotName = "*", const DtString& slotType = "*", int appearance = 0xFFFFFFFF,
116  const DtTaitBryan& orientation = DtTaitBryan(),
117  const DtVector& acceleration = DtVector(),
118  const DtVector& velocty = DtVector(),
119  bool invisibleWhenEmbarked = false,
120  const DtString& animation = DtString::nullString());
121 
124  virtual void unloadObject(const DtVector& unloadPoint, int appearance = 0xFFFFFFFF);
125 
126  virtual void setupTaskableSubordiantes();
127 
130  virtual void processTaskComplete(DtSimMessage * msg);
131 
133  virtual void processEmbarkObjectCallback(DtSimMessage* msg);
134  virtual void processDisembarkObjectCallback(DtSimMessage* msg);
135 
137  virtual void clearTask();
138 
140  virtual void registerTaskMsgCallbacks();
141 
142 protected:
143  virtual void processEmbarkTask(DtSimMessage* pMsg);
144 
145 private:
146 
149 
152  orig);
153 
157 
158 protected:
159 
163 
168 
171 
175 };
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:162
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:174
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:31
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
virtual void preprocessDisembarkTask()
Definition: vrfAggregateStateRepository.h:22
DtAggregateEmbarkationDescriptor * myAggregateEmbarkationDescriptor
Descriptor used to configure this component.
Definition: disaggregatedEmbarkationController.h:170
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:167

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)