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 
55 
58  virtual const char* type() const;
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);
76 
78  virtual void preprocessEmbarkTask();
79 
81  virtual void moveToEgress();
82 
84  virtual void preprocessDisembarkTask();
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();
99 
101  virtual void tick();
102 
107  virtual void checkEmbarkationState();
108 
111  virtual void embarkObject(bool overridePosition,
112  const DtVector& loadPosition, int slotNumber,
113  const DtUUID& parent, const DtString& slotName = "*", const DtString& slotType = "*", int appearance = 0xFFFFFFFF,
114  const DtTaitBryan& orientation = DtTaitBryan(),
115  const DtVector& acceleration = DtVector(),
116  const DtVector& velocty = DtVector(),
117  bool invisibleWhenEmbarked = false,
118  const DtString& animation = DtString::nullString());
119 
122  virtual void unloadObject(const DtVector& unloadPoint, int appearance = 0xFFFFFFFF);
123 
126  virtual void processTaskComplete(DtSimMessage * msg);
127 
129  virtual void processEmbarkObjectCallback(DtSimMessage* msg);
130  virtual void processDisembarkObjectCallback(DtSimMessage* msg);
131 
133  virtual void clearTask();
134 
136  virtual void registerTaskMsgCallbacks();
137 
138 protected:
139  virtual void processEmbarkTask(DtSimMessage* pMsg);
140 
141 private:
142 
145 
148  orig);
149 
153 
154 protected:
155 
159 
164 
167 
171 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#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...
DtOrganizedManagedObjectList myTaskableSubordinates
List of subordinates eligible to participate in embarkation behavior (subordinates that are not destr...
Definition: disaggregatedEmbarkationController.h:170
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
virtual void clearTask()
Override to clear out any subtasks we might have.
DtAggregateEmbarkationDescriptor; descriptor for a DtAggregateEmbarkation component.
Definition: aggregateEmbarkationDescriptor.h:29
virtual void tick()
Ticks and performs current state.
DtAggregateLocalObjectFacade myAggregateLocalObjectFacade
Our aggregate's derived type of state repository, cached here for convenience.
Definition: disaggregatedEmbarkationController.h:158
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
const DtEmbarkationController & operator=(const DtEmbarkationController &orig)
assignment operator; not implemented
virtual void registerTaskMsgCallbacks()
Override for interest in both embarkation tasks and sets.
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:94
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
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:166
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.
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
DtCompatibilityRadio * myCommandRadio
Aggregate's command radio (derived type of radio), cached here for convenience. Aggregate entities sh...
Definition: disaggregatedEmbarkationController.h:163
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)