VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
moveToTask.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #include <vlutil/vlNetTypes.h>
9 
10 #include "vrftasks/simTask.h"
11 #include <readerWriter/rwString.h>
12 #include <readerWriter/rwBoolean.h>
14 
37 
39 {
40 
41 public:
42 
44  DtMoveToTask();
45 
48  DtMoveToTask(const DtString & writeName,
49  DtReaderWriterRegistry * parentRegistry = 0);
50 
52  DtMoveToTask(const DtString & writeName, const DtMoveToTask & orig,
53  DtReaderWriterRegistry * parentRegistry = 0);
54 
56  const DtMoveToTask & operator=(const DtMoveToTask & orig);
57 
58  virtual ~DtMoveToTask() override;
59 
61  virtual const DtSimTaskMessageType& type() const override;
62 
64  virtual DtSimTask * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
65 
67  virtual DtString stringRep() const override;
68 
70  virtual bool controlPointIsObject() const;
71 
73  virtual const DtRwLocationReference & controlPoint() const;
74 
76  virtual void setControlPoint(const DtRwLocationReference &);
77  virtual void setControlPoint(const DtUUID &);
78  virtual void setControlPoint(const DtVector &);
79 
80  virtual DtVector aimingPoint() const;
81  virtual void setAimingPoint(const DtVector & point);
82 
87  virtual void setContinueFlag(bool flag);
88  virtual bool continueFlag() const;
90 
96  virtual void setFinalSpeed(const double s);
97  virtual double finalSpeed() const;
98  virtual bool isFinalSpeedSpecified() const;
99 
104 
105  virtual void setAtDistance(double v);
106  virtual double atDistance() const;
107  virtual bool isAtDistanceSpecified() const;
109 
113 
114  virtual void setSpeed(double v);
115  virtual double speed() const;
116  virtual bool isSpeedSpecified() const;
118 
121  virtual int netRepSize() const override;
122 
124  virtual bool setFromNet(const char* contentBuffer, unsigned contentSize) override;
125 
128  virtual bool setToNet() override;
129 
130  static DtSimTask * creator();
131 
132  virtual bool isOneClick() const override
133  {
134  return true;
135  }
136 
137 protected:
143 };
144 
149 {
150 
151 public:
152 
155 
158  DtMoveToRetrogradeTask(const DtString & writeName,
159  DtReaderWriterRegistry * parentRegistry = 0);
160 
162  DtMoveToRetrogradeTask(const DtString & writeName, const DtMoveToRetrogradeTask & orig,
163  DtReaderWriterRegistry * parentRegistry = 0);
164 
165  virtual ~DtMoveToRetrogradeTask() override;
166 
168  virtual const DtSimTaskMessageType& type() const override;
169 
171  virtual DtSimTask * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
172 
174  virtual DtString stringRep() const override;
175 
176  static DtSimTask * creator();
177 };
178 
179 
186 {
187 
188 public:
189 
192 
195  DtMoveToDirectTask(const DtString& writeName,
196  DtReaderWriterRegistry* parentRegistry = 0);
197 
199  DtMoveToDirectTask(const DtString& writeName, const DtMoveToDirectTask& orig,
200  DtReaderWriterRegistry* parentRegistry = 0);
201 
202  virtual ~DtMoveToDirectTask() override;
203 
205  virtual const DtSimTaskMessageType& type() const override;
206 
208  virtual DtSimTask* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
209 
211  virtual DtString stringRep() const override;
212 
213  static DtSimTask* creator();
214 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwReal mySpeed
Definition: moveToTask.h:141
!!!!!!!!!!!!!!!!! DtMoveToRetrogradeTask Same as move to task but will be handled a bit differently i...
Definition: moveToTask.h:148
!!!!!!!!!!!!!!!!! DtMoveToDirectTask The move-to-direct is identical to the move-to task...
Definition: moveToTask.h:185
virtual DtString stringRep() const override
Get a readable string representation of this task.
virtual bool isOneClick() const override
If this is true this task supports one click execution. By default this is false. ...
Definition: moveToTask.h:132
Holds a position of some form. May be an absolute position, or a reference to another object...
Definition: rwLocationReference.h:25
virtual DtSimTask * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const override
Creates a copy of this move-to task.
DtMoveToTask represents a moveTo task for an entity to perform. It inherits read/writableness from Si...
Definition: moveToTask.h:38
Definition: readerWriterRegistry.h:39
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...
DtRwReal myAtDistance
Definition: moveToTask.h:142
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().
virtual const DtSimTaskMessageType & type() const override
Returns &quot;move-to&quot;.
DtRwBoolean myContinueFlag
Definition: moveToTask.h:139
virtual bool setToNet()
Calls netRep() to create the network buffer. Casts the resulting myNetRep to type DtNetSimTask*...
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwReal myFinalSpeed
Definition: moveToTask.h:140
DtRwLocationReference myControlPoint
Definition: moveToTask.h:138
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
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 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.
static DtSimTask * creator()
virtual int netRepSize() const
Returns the size in bytes of the network representation of the class. This is the size in bytes of th...

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)