VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteControlCommands.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 //\file remoteControlCommands.h
7 
8 #pragma once
9 
10 #include <vrvUtil/signalslib.h>
11 #include <vlpi/entityType.h>
12 
13 #include <QtCore/QStringList>
14 
15 namespace makVrv
16 {
17  class DtDe;
18 }
19 
20 class QString;
21 class DtEntityIdentifier;
22 class DtObjectType;
23 class DtUUID;
24 
25 //These classes will represent commands that can be executed by using the
26 //DtVrossThreadVrfRemoteControl class.
27 
29 {
30 public:
31  virtual bool execute(makVrv::DtDe&, const QString& command) = 0;
32  virtual DtRemoteControlCommand* clone() const = 0;
33 
34  QString help() const
35  {
36  return myHelp;
37  }
38 
39  QString command() const
40  {
41  return myCommand;
42  }
43 
44  boost::signal<void (const QString&, DtRemoteControlCommand*)> signal_commandComplete;
45 
46 protected:
47  //Parse out the string. All tokens are separated by spaces or enclosed in quotes or
48  //parens
49  virtual QStringList tokenize(const QString&, char delim = ' ') const;
50 
51  //Parses a point of the form x,y,z
52  bool parsePoint(const QString&, DtVector&) const;
53 
54 protected:
55  DtRemoteControlCommand(const QString& command, const QString& help);
57 
58 protected:
59  QString myCommand;
60  QString myHelp;
61 };
62 
63 //This command will create a single point object (entity, waypoint, aggregate) and will notify the user
64 //when the command has been completed
66 {
67 public:
69 
71 
72  virtual bool execute(makVrv::DtDe&, const QString& command);
73  virtual DtRemoteControlCommand* clone() const;
74 
75  //Convert string to entity type either by name or by actual type
76  DtEntityType entityToCreate(const QString& c, makVrv::DtDe& de) const;
77 
78  //Returns the currently selected simulation address
79  DtSimulationAddress simulationAddress(makVrv::DtDe&) const;
80 
81 protected:
82  //Called when the object is created, will signal complete with the name and the object id
83  void objectCreated(DtString, const DtUUID&, const DtEntityIdentifier&, const DtObjectType&);
84 };
85 
86 //Closes the current scenario
87 
89 {
90 public:
93 
94  virtual bool execute(makVrv::DtDe&, const QString& command);
95  virtual DtRemoteControlCommand* clone() const;
96 };
97 
98 //Loads the specified scenario into the simulation
99 
101 {
102 public:
105 
106  virtual bool execute(makVrv::DtDe&, const QString& command);
107  virtual DtRemoteControlCommand* clone() const;
108 };
109 
110 //Loads a new scenario into the system
111 
113 {
114 public:
117 
118  virtual bool execute(makVrv::DtDe&, const QString& command);
119  virtual DtRemoteControlCommand* clone() const;
120 };
121 
122 //Rewinds the current scenario
123 
125 {
126 public:
129 
130  virtual bool execute(makVrv::DtDe&, const QString& command);
131  virtual DtRemoteControlCommand* clone() const;
132 };
133 
134 //Pauses the current scenario
135 
137 {
138 public:
141 
142  virtual bool execute(makVrv::DtDe&, const QString& command);
143  virtual DtRemoteControlCommand* clone() const;
144 };
145 
146 //Plays the current scenario
147 
149 {
150 public:
153 
154  virtual bool execute(makVrv::DtDe&, const QString& command);
155  virtual DtRemoteControlCommand* clone() const;
156 };
157 
158 //Saves the current scenario
159 
161 {
162 public:
165 
166  virtual bool execute(makVrv::DtDe&, const QString& command);
167  virtual DtRemoteControlCommand* clone() const;
168 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtRemoteControlCommand(const QString &command, const QString &help)
Definition: remoteControlCommands.h:148
QString myHelp
Definition: remoteControlCommands.h:60
virtual bool execute(makVrv::DtDe &, const QString &command)
Definition: remoteControlCommands.h:28
bool parsePoint(const QString &, DtVector &) const
virtual bool execute(makVrv::DtDe &, const QString &command)
QString myCommand
Definition: remoteControlCommands.h:59
DtSimulationAddress simulationAddress(makVrv::DtDe &) const
virtual bool execute(makVrv::DtDe &, const QString &command)=0
virtual DtRemoteControlCommand * clone() const
virtual DtRemoteControlCommand * clone() const
Definition: remoteControlCommands.h:100
Definition: objectType.h:27
virtual bool execute(makVrv::DtDe &, const QString &command)
virtual DtRemoteControlCommand * clone() const
virtual bool execute(makVrv::DtDe &, const QString &command)
virtual bool execute(makVrv::DtDe &, const QString &command)
virtual DtRemoteControlCommand * clone() const
virtual DtRemoteControlCommand * clone() const
virtual DtRemoteControlCommand * clone() const
virtual DtRemoteControlCommand * clone() const
virtual bool execute(makVrv::DtDe &, const QString &command)
virtual DtRemoteControlCommand * clone() const =0
virtual QStringList tokenize(const QString &, char delim= ' ') const
void objectCreated(DtString, const DtUUID &, const DtEntityIdentifier &, const DtObjectType &)
virtual DtRemoteControlCommand * clone() const
QString help() const
Definition: remoteControlCommands.h:34
QString command() const
Definition: remoteControlCommands.h:39
virtual bool execute(makVrv::DtDe &, const QString &command)
Definition: remoteControlCommands.h:65
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: remoteControlCommands.h:88
Definition: remoteControlCommands.h:112
Definition: remoteControlCommands.h:136
Definition: remoteControlCommands.h:160
Definition: remoteControlCommands.h:124
DtEntityType entityToCreate(const QString &c, makVrv::DtDe &de) const
virtual bool execute(makVrv::DtDe &, const QString &command)
boost::signal< void(const QString &, DtRemoteControlCommand *)> signal_commandComplete
Definition: remoteControlCommands.h:44

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)