VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEmbarkationPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include "vrfutil/rwInt.h"
14 #include "vrfutil/rwBoolean.h"
15 #include "vrfutil/rwString.h"
16 #include "vrfutil/rwVector.h"
17 #include "vrfutil/rwTaitBryan.h"
19 #include <vrfutil/rwUUID.h>
20 
25 
29 {
30 public:
32  {
33  DtIdle = 0,
34  DtMoveToEgress = 5,
48  DtCompletingTask
51  };
52 
53 public:
54 
56  DtVrfEmbarkationPSR(DtVrfObject* vrfObject,
57  const DtString& rwName = DtString::nullString(),
58  DtReaderWriterRegistry* parentRegistry = 0);
59 
62  const DtString& rwName = DtString::nullString(),
63  DtReaderWriterRegistry* parentRegistry = 0);
64 
66  virtual ~DtVrfEmbarkationPSR();
67 
70 
73  const DtString& rwName = DtString::nullString(),
74  DtReaderWriterRegistry* parentRegistry = 0) const;
75 
78  virtual DtString type() const;
79 
82  virtual void setEmbarkationState(DtEmbarkationControllerState state);
83  virtual DtEmbarkationControllerState embarkationState() const;
85 
88  virtual void setEmbarkationInformation(const DtUUID& parent,
89  bool useEmbarkationOverride = false, const DtVector& embarkationOverridePosition = DtVector::zero(),
90  int embarkInSlot = -1, bool chooseAnyIfSlotTaken = true);
91 
92  virtual void getEmbarkationInformation(DtRwVrfObjectReference& parent, bool& useEmbarkationOverride,
93  DtVector& embarkationOverridePosition, int& embarkInSlot, bool& chooseAnyIfSlotTaken);
94  virtual const DtRwVrfObjectReference& embarkationParent() const;
95  virtual DtRwVrfObjectReference& embarkationParent();
96  virtual bool embarkationLocationOverride() const;
97  virtual const DtVector& embarkationLocationOverridePosition() const;
98  virtual int embarkInSlot() const;
99  virtual bool chooseAnyAvailableSlotIfTaken() const;
100 
102  virtual void setControlPoint(const DtUUID&);
103 
105  virtual const DtRwVrfObjectReference& controlPoint() const;
106  virtual DtRwVrfObjectReference& controlPoint();
107 
108  virtual void setEmbarkedAppearance(int);
109  virtual int embarkedAppearance() const;
110 
111  virtual void setPublishLoadPoints(bool);
112  virtual bool publishLoadPoints() const;
113 
114  virtual void setOnGroundBeforeDisembark(bool);
115  virtual bool onGroundBeforeDisembark() const;
116 
117  virtual void setEmbarkedOrientation(const DtTaitBryan&);
118  virtual const DtTaitBryan& embarkedOrientation() const;
119 
120  virtual void clearEmbarkationInformation();
121 
122  virtual void setJumpToLocation(bool b);
123  virtual bool jumpToLocation() const;
124 
125  virtual void setTurnToHeading(bool b);
126  virtual bool turnToHeading() const;
127 
128  virtual void setInvisibleWhenEmbarked(bool b);
129  virtual bool invisibleWhenEmbarked() const;
130 
131  virtual void setWasInvisibleBeforeEmbark(bool b);
132  virtual bool wasInvisibleBeforeEmbark() const;
133 
134  virtual void setExitPosition(const DtVector&);
135  virtual const DtVector& exitPosition() const;
136 
138  virtual void setCurrentSubordinateTask(const DtSimTaskMessageType&);
139  virtual DtSimTaskMessageType currentSubordinateTask() const;
140 
141  virtual void addTaskedSubordinate(const DtUUID& name);
142  virtual bool removeTaskedSubordinate(const DtUUID& name);
143  virtual const DtRwVrfObjectReferenceList& taskedSubordinates() const;
144  virtual DtRwVrfObjectReferenceList& taskedSubordinates();
145  virtual void clearTaskedSubordinates();
146 
148 
149  virtual DtString stateString(DtEmbarkationControllerState s);
150 public:
151 
153  static DtVrfProcessStateRepository* creator (const DtString& rwName,
154  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
155 
156 protected:
157 
174 
178 };
179 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)