VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptedTaskVariableConverters.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
12 #include <matrix/vlVector.h>
13 #include <vlpi/entityType.h>
14 
15 #include <string>
16 #include <map>
17 #include "rwHeading.h"
18 #include <vrfutil/rwIntegerList.h>
19 
20 class DtReaderWriter;
22 class DtVertexList;
23 class DtRwVectorList;
24 class DtTaitBryan;
27 class DtSphere;
28 class DtRwKeyValueList;
35 
39 {
40 public:
41  typedef DtString (*ResourceFormatterFcn)(const DtEntityType&);
42 
44  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const = 0;
45 
48  virtual std::string fromRwPtr(const DtReaderWriter*) const = 0;
49 
51  virtual DtString stringRep(const DtReaderWriter*) const = 0;
52 
54  virtual bool upgradeFromVariable(DtReaderWriter* toUpgradeTo, const DtReaderWriter* originalValue) const
55  {
56  return false;
57  }
58 
60  virtual void upgradeVariable(DtReaderWriter*) const
61  {
62  }
63 
65  static DtString formatOffset(const DtVector& loc);
66  static DtString formatTime(int time);
67  static DtString formatDateTime(time_t time);
68  static DtString formatLocation(const DtVector& loc);
69  static DtString formatSphere(const DtSphere& loc);
70  static DtString formatDistance(double d);
71  static DtString formatHeading(double d);
72  static DtString formatRate(double d);
73  static DtString formatAltitudeRate(double d);
74  static DtString formatTurnRate(double d);
75  static DtString formatAltitude(double d);
76 
77  static ResourceFormatterFcn SetResourceFormatterFcn(ResourceFormatterFcn);
78  static DtString formatResource(const DtEntityType&);
79 
81  static DtString formatResource(const std::string&);
82 };
83 
87 {
88 public:
91 
107  virtual void addConverter(const std::string& variableType, DtScriptedTaskVariableConverter*);
108  virtual DtScriptedTaskVariableConverter* converterFor(const std::string& variableType);
110 
111 protected:
112  typedef std::map<std::string, DtScriptedTaskVariableConverter*> Converters;
114 };
115 
118 {
119 public:
121  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
122 
125  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
126 
128  virtual DtString stringRep(const DtReaderWriter*) const override;
129 };
130 
133 {
134 public:
136  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
137 
140  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
141 
143  virtual DtString convertToString(const DtRwIntegerList&) const;
144 
146  virtual DtString stringRep(const DtReaderWriter*) const override;
147 };
148 
151 {
152 public:
153 
155  virtual DtString stringRep(const DtReaderWriter*) const override;
156 
158  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
159 
160  virtual void parseTime(const std::string& s, int& days, int& hours, int& minutes, int& seconds) const;
161 };
162 
165 {
166 public:
168  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
169 };
170 
173 {
174 public:
176  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
177 };
178 
181 {
182 public:
184  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
185 
188  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
189 
191  virtual DtString stringRep(const DtReaderWriter*) const override;
192 };
193 
196 {
197 public:
199  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
200 
203  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
204 
206  virtual DtString stringRep(const DtReaderWriter*) const override;
207 };
208 
211 {
212 public:
214  virtual DtString stringRep(const DtReaderWriter*) const override;
215 };
216 
219 {
220 public:
222  virtual DtString stringRep(const DtReaderWriter*) const override;
223 };
224 
227 {
228 public:
230  virtual DtString stringRep(const DtReaderWriter*) const override;
231 };
232 
235 {
236 public:
238  virtual DtString stringRep(const DtReaderWriter*) const override;
239 };
240 
243 {
244 public:
246  virtual DtString stringRep(const DtReaderWriter*) const override;
247 };
248 
251 {
252 public:
254  virtual DtString stringRep(const DtReaderWriter*) const override;
255 };
256 
259 {
260 public:
262  virtual DtString stringRep(const DtReaderWriter*) const override;
263 };
264 
267 {
268 public:
270  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
271 
274  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
275 
277  virtual DtString stringRep(const DtReaderWriter*) const override;
278 };
279 
283 {
284 public:
286  virtual DtString stringRep(const DtReaderWriter*) const override;
287 
289  virtual void upgradeVariable(DtReaderWriter*) const override;
290 };
291 
294 {
295 public:
297  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
298 
301  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
302 
304  virtual DtString stringRep(const DtReaderWriter*) const override;
305 
307  virtual void upgradeVariable(DtReaderWriter*) const override;
308 };
309 
312 {
313 public:
315  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
316 
319  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
320 
322  virtual DtString stringRep(const DtReaderWriter*) const override;
323 };
324 
327 {
328 public:
330  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
331 
334  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
335 
337  virtual DtString stringRep(const DtReaderWriter*) const override;
338 };
339 
342 {
343 public:
345  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
346 
349  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
350 
352  virtual DtString stringRep(const DtReaderWriter*) const override;
353 };
354 
357 {
358 public:
360  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
361 
364  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
365 
367  virtual DtString convertToString(const DtVector&) const;
368 
370  virtual DtString stringRep(const DtReaderWriter*) const override;
371 };
372 
375 {
376 public:
378  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
379 
382  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
383 
385  virtual DtString convertToString(const DtSphere&) const;
386 
388  virtual DtString stringRep(const DtReaderWriter*) const override;
389 };
390 
393 {
394 public:
396  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
397 
400  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
401 
403  virtual DtString convertToString(const DtRwLocationReference&) const;
404 
406  virtual DtString stringRep(const DtReaderWriter*) const override;
407 
408  virtual bool upgradeFromVariable(DtReaderWriter* toUpgradeTo, const DtReaderWriter* originalValue) const override;
409 };
410 
413 {
414 public:
416  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
417 
420  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
421 
423  virtual DtString convertToString(const DtVertexList&) const;
424  virtual DtString convertToString(const DtRwVectorList&) const;
425 
427  virtual DtString stringRep(const DtReaderWriter*) const override;
428 };
429 
432 {
433 public:
435  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
436 
438  virtual DtString stringRep(const DtReaderWriter*) const override;
439 };
440 
443 {
444 public:
446  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
447 
450  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
451 
453  virtual DtString convertToString(const DtRwOffsetVectorList&) const;
454 
456  virtual DtString stringRep(const DtReaderWriter*) const override;
457 };
458 
461 {
462 public:
464  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
465 
468  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
469 
471  virtual DtString convertToString(const DtVector&) const;
472 
474  virtual DtString stringRep(const DtReaderWriter*) const override;
475 };
476 
479 {
480 public:
482  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
483 
486  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
487 
489  virtual DtString stringRep(const DtReaderWriter*) const override;
490 };
491 
494 {
495 public:
497  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
498 
501  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
502 
504  virtual DtString convertToString(const DtTaitBryan&) const;
505 
507  virtual DtString stringRep(const DtReaderWriter*) const override;
508 };
509 
512 {
513 public:
515  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
516 
519  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
520 
522  virtual DtString stringRep(const DtReaderWriter*) const override;
523 };
524 
527 {
528 public:
530  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
531 
534  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
535 
537  virtual DtString convertToString(const DtRwNLengthUUIDVector&) const;
538 
540  virtual DtString stringRep(const DtReaderWriter*) const override;
541 };
542 
545 {
546 public:
548  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
549 
552  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
553 
555  virtual DtString convertToString(const DtRwNLengthStringVector&) const;
556 
558  virtual DtString stringRep(const DtReaderWriter*) const override;
559 };
560 
563 {
564 public:
566  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
567 
570  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
571 
573  virtual DtString convertToString(const DtRwStringAttributeList&) const;
574 
576  virtual DtString stringRep(const DtReaderWriter*) const override;
577 };
578 
581 {
582 public:
584  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
585 
588  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
589 
591  virtual DtString convertToString(const DtRwAerodromeSpecification&) const;
592 
594  virtual DtString stringRep(const DtReaderWriter*) const override;
595 };
596 
599 {
600 public:
602  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
603 
606  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
607 
609  virtual DtString convertToString(const DtRwKeyValueList&) const;
610 
612  virtual DtString stringRep(const DtReaderWriter*) const override;
613 };
614 
617 {
618 public:
620  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
621 
624  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
625 
627  virtual DtString convertToString(const DtRwIntegerAttributeList&) const;
628 
630  virtual DtString stringRep(const DtReaderWriter*) const override;
631 };
632 
635 {
636 public:
638  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
639 
642  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
643 
645  virtual DtString convertToString(const DtRwStringAttributeList&) const;
646 
648  virtual DtString convertToStringWithMarkingText(const DtRwStringAttributeList&) const;
649 
651  virtual DtString stringRep(const DtReaderWriter*) const override;
652 };
653 
656 {
657 public:
659  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
660 
663  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
664 
666  virtual DtString convertToString(const DtRwRealAttributeList&) const;
667 
669  virtual DtString stringRep(const DtReaderWriter*) const override;
670 };
671 
674 {
675 public:
677  virtual DtReaderWriter* toRwPtr(const DtScriptedTaskVariable&) const override;
678 
681  virtual std::string fromRwPtr(const DtReaderWriter*) const override;
682 
684  virtual DtString convertToString(const DtRwHeading&) const;
685 
687  virtual DtString stringRep(const DtReaderWriter*) const override;
688 };
Class which holds a list of string key and string value pairs. This class is a DtReaderWriter, and also has associated DtBufferSerialize methods available.
Definition: rwKeyValueList.h:21
Definition: sphere.h:22
A class that is used for converting to/from scripted task variables and reader/writer variables to be...
Definition: scriptedTaskVariableConverters.h:38
virtual DtReaderWriter * toRwPtr(const DtScriptedTaskVariable &) const override
Converts from the given scripted task variable to a DtReaderWriter variable that represents it...
Converter that will convert to/from DtRwVector.
Definition: scriptedTaskVariableConverters.h:356
Converter that will convert to/from DtRwString, however, looking for keywords that will allow it to c...
Definition: scriptedTaskVariableConverters.h:282
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
Converter that will convert to/from DtRwNLengthStringVector.
Definition: scriptedTaskVariableConverters.h:544
Reader-Writer specification for aerodrome information.
Definition: rwAerodromeSpecification.h:14
Converter that will convert to/from DtRwInt.
Definition: scriptedTaskVariableConverters.h:132
Converter that will convert to/from DtRwAnimationModelString.
Definition: scriptedTaskVariableConverters.h:478
Converter that will convert to/from DtRwLocationReference.
Definition: scriptedTaskVariableConverters.h:392
Holds a position of some form. May be an absolute position, or a reference to another object...
Definition: rwLocationReference.h:25
class DtRwIntegerAttributeList:
Definition: rwIntegerAttributeList.h:32
Converter that will convert to/from DtRwStringAttributeList.
Definition: scriptedTaskVariableConverters.h:562
Definition: readerWriter.h:85
virtual DtString stringRep(const DtReaderWriter *) const =0
Returns string representation.
virtual DtReaderWriter * toRwPtr(const DtScriptedTaskVariable &) const override
Converts from the given scripted task variable to a DtReaderWriter variable that represents it...
Converter that will convert to/from DtRwReal.
Definition: scriptedTaskVariableConverters.h:195
Converter that will convert to/from DtRwInt for time.
Definition: scriptedTaskVariableConverters.h:150
Converter that will convert to/from DtRwOffsetVector.
Definition: scriptedTaskVariableConverters.h:442
Converter that will convert to/from DtRwHeading for DtRwHeading formatting.
Definition: scriptedTaskVariableConverters.h:673
Converter that will convert to/from DtRwInt for combo box variable.
Definition: scriptedTaskVariableConverters.h:164
Factory that will maintain converters. Creating this factory installs default converters for current ...
Definition: scriptedTaskVariableConverters.h:86
Converter that will convert to/from DtRwReal for heading formatting.
Definition: scriptedTaskVariableConverters.h:210
Converter that will convert to/from DtRwKeyValueList.
Definition: scriptedTaskVariableConverters.h:598
Converters myConverters
Definition: scriptedTaskVariableConverters.h:113
Converter that will convert to/from DtRwAerodromeSpecification.
Definition: scriptedTaskVariableConverters.h:580
Converter that will convert to/from DtRwNLengthUUIDVector.
Definition: scriptedTaskVariableConverters.h:526
virtual void upgradeVariable(DtReaderWriter *) const
Upgrade RW to new format, if need be.
Definition: scriptedTaskVariableConverters.h:60
Converter that will convert to/from DtVertexList.
Definition: scriptedTaskVariableConverters.h:431
Converter that will convert to/from DtRwInt.
Definition: scriptedTaskVariableConverters.h:117
Converter that will convert to/from DtRwReal for range formatting.
Definition: scriptedTaskVariableConverters.h:250
virtual DtString stringRep(const DtReaderWriter *) const override
Returns string representation.
Converter that will convert to/from DtRwIntegerAttributeList.
Definition: scriptedTaskVariableConverters.h:616
Instances of DtRwIntegerList are lists of readable, writeable integers (DtRwInts). The list contains pointers to DtRwInt instances.
Definition: rwIntegerList.h:19
virtual std::string fromRwPtr(const DtReaderWriter *) const =0
Converts from the reader/writer variable to a std::string that will be used as the default value for ...
virtual DtReaderWriter * toRwPtr(const DtScriptedTaskVariable &) const override
Converts from the given scripted task variable to a DtReaderWriter variable that represents it...
Converter that will convert to/from DtRwInt for image combo box variable.
Definition: scriptedTaskVariableConverters.h:172
Converter that will convert to/from DtSimResource or DtRwString.
Definition: scriptedTaskVariableConverters.h:293
class DtVertexList:
Definition: vertexList.h:22
Converter that will convert to/from DtRwOffsetVector.
Definition: scriptedTaskVariableConverters.h:460
Converter that will convert to/from DtRwReal for altitide rate formatting.
Definition: scriptedTaskVariableConverters.h:234
virtual DtReaderWriter * toRwPtr(const DtScriptedTaskVariable &) const =0
Converts from the given scripted task variable to a DtReaderWriter variable that represents it...
Converter that will convert to/from DtRwReal for turn rate formatting.
Definition: scriptedTaskVariableConverters.h:242
class DtRwOffsetVectorList:
Definition: rwVectorList.h:63
virtual bool upgradeFromVariable(DtReaderWriter *toUpgradeTo, const DtReaderWriter *originalValue) const
Return true from this call if he toUpgradeTo variable should replace the original value...
Definition: scriptedTaskVariableConverters.h:54
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
virtual DtString stringRep(const DtReaderWriter *) const override
Returns string representation.
Converter that will convert to/from DtRwTaitBryan.
Definition: scriptedTaskVariableConverters.h:493
Converter that will convert to/from DtRwBoolean.
Definition: scriptedTaskVariableConverters.h:311
Converter that will convert to/from DtRwForceType.
Definition: scriptedTaskVariableConverters.h:326
virtual DtString stringRep(const DtReaderWriter *) const override
Returns string representation.
Converter that will convert to/from DtRwEntityType.
Definition: scriptedTaskVariableConverters.h:341
virtual DtString stringRep(const DtReaderWriter *) const override
Returns string representation.
std::map< std::string, DtScriptedTaskVariableConverter * > Converters
Definition: scriptedTaskVariableConverters.h:112
DtRwNLengthUUIDVector is a named, readable/writable vector of DtUUIDs. Can be used in place of a NLen...
Definition: rwNLengthUUIDVector.h:30
virtual std::string fromRwPtr(const DtReaderWriter *) const override
Converts from the reader/writer variable to a std::string that will be used as the default value for ...
class DtRwRealAttributeList:
Definition: rwRealAttributeList.h:29
Converter that will convert to/from DtRwReal for datetime formatting.
Definition: scriptedTaskVariableConverters.h:258
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
Converter that will convert to/from DtRwObjectName.
Definition: scriptedTaskVariableConverters.h:511
Converter that will convert to/from DtRwRealAttributeList.
Definition: scriptedTaskVariableConverters.h:655
DtRwHeading; descriptor that represents a more robust heading.
Definition: rwHeading.h:15
Converter that will convert to/from DtRwStringAttributeList.
Definition: scriptedTaskVariableConverters.h:634
Converter that will convert to/from DtRWSphere.
Definition: scriptedTaskVariableConverters.h:374
Converter that will convert to/from DtRwString.
Definition: scriptedTaskVariableConverters.h:266
class DtRwVectorList:
Definition: rwVectorList.h:22
Converter that will convert to/from DtRwReal for altitude rate formatting.
Definition: scriptedTaskVariableConverters.h:226
class DtRwStringAttributeList:
Definition: rwStringAttributeList.h:29
Converter that will convert to/from DtRwReal for rate formatting.
Definition: scriptedTaskVariableConverters.h:218
Converter that will convert to/from DtVertexList.
Definition: scriptedTaskVariableConverters.h:412
Converter that will convert to/from DtRwColor.
Definition: scriptedTaskVariableConverters.h:180

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)