VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
moveAlongTasks.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #include "vrftasks/simTask.h"
13 #include <readerWriter/rwString.h>
14 #include <readerWriter/rwInt.h>
15 #include <readerWriter/rwBoolean.h>
16 #include <vlutil/vlNetTypes.h>
17 #include "vrfutil/iteratorBase.h"
18 #include "vrfutil/rwUUID.h"
20 
47 {
48 
49 public:
50 
53 
56  DtMoveAlongTask(const DtString & writeName,
57  DtReaderWriterRegistry * parentRegistry = 0);
58 
60  DtMoveAlongTask(const DtString & writeName, const DtMoveAlongTask & orig,
61  DtReaderWriterRegistry * parentRegistry = 0);
62 
64  const DtMoveAlongTask & operator=(const DtMoveAlongTask & orig);
65 
66  virtual ~DtMoveAlongTask() override;
67 
69  virtual const DtSimTaskMessageType& type() const override;
70 
72  virtual DtSimTask * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
73 
75  virtual DtString stringRep() const override;
76 
79  virtual const DtUUID& route() const;
80 
82  virtual void setRoute(const DtUUID&);
83 
86 
87  virtual void setTraversalDirection(DtIteratorDirection traversalDirection);
88  virtual DtIteratorDirection traversalDirection() const;
90 
95 
96  virtual void setStartAtClosestPoint(bool startAtClosestPoint);
97  virtual bool startAtClosestPoint() const;
99 
103 
104  virtual void setSpeed(double v);
105  virtual double speed() const;
106  virtual bool isSpeedSpecified() const;
108 
113  virtual void setContinueFlag(bool flag);
114  virtual bool continueFlag() const;
116 
122  virtual void setFinalSpeed(const double s);
123  virtual double finalSpeed() const;
124  virtual bool isFinalSpeedSpecified() const;
125 
128  virtual int netRepSize() const override;
129 
131  virtual bool setFromNet(const char* contentBuffer, unsigned contentSize) override;
132 
135  virtual bool setToNet() override;
136 
137  static DtSimTask * creator();
138 
139  virtual bool isOneClick() const override
140  {
141  return true;
142  }
143 
144 protected:
145 
152 };
153 
158 {
159 
160 public:
161 
164 
167  DtMoveAlongRetrogradeTask(const DtString & writeName,
168  DtReaderWriterRegistry * parentRegistry = 0);
169 
171  DtMoveAlongRetrogradeTask(const DtString & writeName, const DtMoveAlongRetrogradeTask & orig,
172  DtReaderWriterRegistry * parentRegistry = 0);
173 
174  virtual ~DtMoveAlongRetrogradeTask() override;
175 
177  virtual const DtSimTaskMessageType& type() const override;
178 
180  virtual DtSimTask * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
181 
183  virtual DtString stringRep() const override;
184 
185  static DtSimTask * creator();
186 };
187 
188 class DtRouteAction;
191 
193 {
194 
195 public:
196 
199 
202  DtMoveAlongWithActionsTask(const DtString & writeName,
203  DtReaderWriterRegistry * parentRegistry = 0);
204 
206  DtMoveAlongWithActionsTask(const DtString & writeName, const DtMoveAlongWithActionsTask & orig,
207  DtReaderWriterRegistry * parentRegistry = 0);
208 
211 
212  virtual ~DtMoveAlongWithActionsTask() override;
213 
215  virtual const DtSimTaskMessageType& type() const override;
216 
218  virtual DtSimTask * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
219 
221  virtual DtString stringRep() const override;
222 
223  static DtSimTask* creator();
224 
227  virtual int netRepSize() const override;
228 
230  virtual bool setFromNet(const char* contentBuffer, unsigned contentSize) override;
231 
234  virtual bool setToNet() override;
235 
236  virtual void setTimeOnTarget(double timeOnTarget);
237  virtual double timeOnTarget() const;
238  virtual bool isTimeOnTargetSpecified() const;
239 
240  virtual void setTimeOnTargetPosition(double timeOnTargetPosition);
241  virtual double timeOnTargetPosition() const;
242  virtual bool isTimeOnTargetPositionSpecified() const;
243 
244  virtual void setAbandonTaskIfTimeOnTargetNotAchievable(bool b);
245  virtual bool abandonTaskIfTimeOnTargetNotAchievable() const;
246 
247  virtual void setHoldPosition(double loiterPosition);
248  virtual double holdPosition() const;
249  virtual bool isHoldPositionSpecified() const;
250 
251  virtual DtRwRouteActionList& routeActions();
252  virtual const DtRwRouteActionList& routeActions() const;
253 
254  virtual bool isOneClick() const override
255  {
256  return false;
257  }
258 
259 protected:
265 
266 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual DtString stringRep() const override
Get a readable string representation of this task.
DtRwBoolean myStartAtClosestPoint
Definition: moveAlongTasks.h:148
!!!!!!!!!!!!!!!!! DtMoveAlongRetrogradeTask Same as move to task but will be handled a bit differentl...
Definition: moveAlongTasks.h:157
Definition: rwRouteActionList.h:19
static DtSimTask * creator()
virtual int netRepSize() const override
Returns the size of the full network representation (control object name included) padded to an 8-byt...
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
virtual DtSimTask * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const =0
Make a copy of this task. Returns a newly allocated instance of a DtSimTask. Override this member fun...
DtRwRouteActionList myActionList
Definition: moveAlongTasks.h:264
uuid class
Definition: rwUUID.h:26
!!!!!!!!!!!!!!!!! DtMoveAlongWithActionsTask Move along task with a list of sets and tasks ...
Definition: moveAlongTasks.h:192
DtRwUUID myRoute
Definition: moveAlongTasks.h:146
DtIteratorDirection
Definition: iteratorBase.h:23
DtRwBoolean myAbandonTaskIfTimeOnTargetNotAchievable
Definition: moveAlongTasks.h:263
virtual DtSimTask * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const override
Creates a copy of this move-along task.
DtRwReal myFinalSpeed
Definition: moveAlongTasks.h:151
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Sets mySubtask member from the incoming contentBuffer (cast to type DtNetSimTask). Derived classes should call down to this function first, and then extract their own data starting at the location contentBuffer + DtSimTask::netRepSize().
const DtMoveAlongTask & operator=(const DtMoveAlongTask &orig)
assignment operator
DtRwReal myTimeOnTargetPosition
Definition: moveAlongTasks.h:261
DtMoveAlongTask represents a Move Along Route task for an entity to perform. It inherits read/writabl...
Definition: moveAlongTasks.h:46
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual bool setToNet()
Calls netRep() to create the network buffer. Casts the resulting myNetRep to type DtNetSimTask*...
DtRwBoolean myContinueFlag
Definition: moveAlongTasks.h:150
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
DtRwReal myLoiterPosition
Definition: moveAlongTasks.h:262
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwReal mySpeed
Definition: moveAlongTasks.h:149
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual bool isOneClick() const override
If this is true this task supports one click execution. By default this is false. ...
Definition: moveAlongTasks.h:139
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Definition: routeAction.h:35
virtual DtString stringRep() const =0
Returns a human-readable string representation of the task. This string representation is used to dis...
const DtSimTask & operator=(const DtSimTask &orig)
assignment operator; same as copy constructor
virtual bool setToNet() override
Fills in the network buffer (created by base class simTask) with the task contents.
DtRwReal myTimeOnTarget
Definition: moveAlongTasks.h:260
virtual const DtSimTaskMessageType & type() const override
Returns &quot;move-along&quot;.
DtRwInt myTraversalDirection
Definition: moveAlongTasks.h:147
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize) override
Fills in the task from the network buffer.
virtual const DtSimTaskMessageType & type() const =0
What kind of task am I? Returns a string indicating the kind of task (for example, “move-to”, “follow-entity”). Derived classes must implement this member function to return a unique string representing the type of task. The set of standard task types supplied with VR-Forces is in taskTypes.h.
virtual int netRepSize() const
Returns the size in bytes of the network representation of the class. This is the size in bytes of th...
virtual bool isOneClick() const override
If this is true this task supports one click execution. By default this is false. ...
Definition: moveAlongTasks.h:254

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)