VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskSetBuilder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrfLua/vrfLuaDefines.h>
12 #include <vlutil/vlString.h>
13 #include <luabind/luabind.hpp>
14 #include <set>
15 #include <vlutil/vlFilename.h>
18 
19 class DtSimTaskFactory;
20 class DtSimTask;
22 class DtReaderWriter;
23 class DtSetDataRequest;
25 class DtSimCommand;
26 
30 {
31 private:
33 
36  DtTaskSetBuilder& operator=(const DtTaskSetBuilder& orig);
38 public:
39  DtTaskSetBuilder(const DtScriptedTaskManager* scriptedTaskManager);
40 
41  virtual DtSimTask* buildTask(const DtSimTaskMessageType& taskType,
42  luabind::object const& parameters);
43 
44  virtual DtSetDataRequest* buildSet(const DtSetMessageType& setType,
45  luabind::object const& parameters);
46 
47  virtual DtSimCommand* buildSimCommand(const DtSimCommandMessageType& setType,
48  luabind::object const& parameters);
49 
50 protected:
51 
54  virtual DtReaderWriter* scriptedTaskVariableToReaderWriter(const DtScriptedTaskVariable& variable,
55  luabind::object const& parameters);
56 
59  virtual bool fillInParameter(DtReaderWriter* rw, luabind::object const& parameters,
60  DtString& usedParam);
61 
64  DtString paramDetailsString(DtReaderWriter* rw, bool longForm);
65 
69  virtual DtString availableParamsString(DtReaderWriter* taskOrSet, bool longForm = false);
70 
72  virtual DtSetDataRequest* buildSetReactiveTaskEnabled(luabind::object const& parameters);
73 
76  typedef bool (*findParamFcn)(const DtString& paramName, luabind::object const& parameters,
77  DtReaderWriter* result, const DtScriptedTaskManager*);
78 
79  static bool findPropertyParam(const DtString& paramName, luabind::object const& parameters,
80  DtReaderWriter* result, const DtScriptedTaskManager*);
81 
82  static bool findColorParam(const DtString& paramName, luabind::object const& parameters,
83  DtReaderWriter* result, const DtScriptedTaskManager*);
84 
85  static bool findStringParam(const DtString& paramName, luabind::object const& parameters,
86  DtReaderWriter* result, const DtScriptedTaskManager*);
87 
88  static bool findObjectNameStringParam(const DtString& paramName, luabind::object const& parameters,
89  DtReaderWriter* result, const DtScriptedTaskManager*);
90 
91  static bool findUUIDParam(const DtString& paramName, luabind::object const& parameters,
92  DtReaderWriter* result, const DtScriptedTaskManager*);
93 
94  static bool findAnimationModelParam(const DtString& paramName, luabind::object const& parameters,
95  DtReaderWriter* result, const DtScriptedTaskManager*);
96 
97  static bool findIntParam(const DtString& paramName, luabind::object const& parameters,
98  DtReaderWriter* result, const DtScriptedTaskManager*);
99 
100  static bool findDoubleParam(const DtString& paramName, luabind::object const& parameters,
101  DtReaderWriter* result, const DtScriptedTaskManager*);
102 
103  static bool findBoolParam(const DtString& paramName, luabind::object const& parameters,
104  DtReaderWriter* result, const DtScriptedTaskManager*);
105 
106  static bool findVectorParam(const DtString& paramName, luabind::object const& parameters,
107  DtReaderWriter* result, const DtScriptedTaskManager*);
108 
109  static bool findTaitBryanParam(const DtString& paramName, luabind::object const& parameters,
110  DtReaderWriter* result, const DtScriptedTaskManager*);
111 
112  static bool findPriorityTargetListParam(const DtString& paramName, luabind::object const& parameters,
113  DtReaderWriter* result, const DtScriptedTaskManager*);
114 
115  static bool findOffsetVectorParam(const DtString& paramName, luabind::object const& parameters,
116  DtReaderWriter* result, const DtScriptedTaskManager*);
117 
118  static bool findLifeformPostureParam(const DtString& paramName, luabind::object const& parameters,
119  DtReaderWriter* result, const DtScriptedTaskManager*);
120 
121  static bool findLifeformWeaponStateParam(const DtString& paramName, luabind::object const& parameters,
122  DtReaderWriter* result, const DtScriptedTaskManager*);
123 
124  static bool findAggregateStateParam(const DtString& paramName, luabind::object const& parameters,
125  DtReaderWriter* result, const DtScriptedTaskManager*);
126 
127  static bool findForceTypeParam(const DtString& paramName, luabind::object const& parameters,
128  DtReaderWriter* result, const DtScriptedTaskManager*);
129 
130  static bool findNLengthStringVectorParam(const DtString& paramName, luabind::object const& parameters,
131  DtReaderWriter* result, const DtScriptedTaskManager*);
132 
133  static bool findStringAttributeListParam(const DtString& paramName, luabind::object const& parameters,
134  DtReaderWriter* result, const DtScriptedTaskManager*);
135 
136  static bool findNLengthUUIDVectorParam(const DtString& paramName, luabind::object const& parameters,
137  DtReaderWriter* result, const DtScriptedTaskManager*);
138 
139  static bool findStringListParam(const DtString& paramName, luabind::object const& parameters,
140  DtReaderWriter* result, const DtScriptedTaskManager*);
141 
142  static bool findVectorListParam(const DtString& paramName, luabind::object const& parameters,
143  DtReaderWriter* result, const DtScriptedTaskManager*);
144 
145  static bool findOffsetVectorListParam(const DtString& paramName, luabind::object const& parameters,
146  DtReaderWriter* result, const DtScriptedTaskManager*);
147 
148  static bool findEntityTypeParam(const DtString& paramName, luabind::object const& parameters,
149  DtReaderWriter* result, const DtScriptedTaskManager*);
150 
151  static bool findKeyValueListParam(const DtString& paramName, luabind::object const& parameters,
152  DtReaderWriter* result, const DtScriptedTaskManager*);
153 
154  virtual bool fillInReaderWriterType(const DtString& paramName, luabind::object const& parameters,
155  DtReaderWriter* result, bool& error);
156 
159  DtString convertToLuaSymbol(const DtString& inputString);
160 
162  virtual bool findValidTaskType(const DtSimTaskMessageType& taskType, DtSimTaskMessageType& taskTypeToUse) const;
163 
165  virtual DtSetDataRequest* findValidSetType(const DtSetMessageType& setType, DtSetMessageType& setTypeToUse) const;
166 
167 protected:
169 
170  typedef DtString (*printRwFcn)(DtReaderWriter* rw);
171 
174  struct RwParamInfo
175  {
176  RwParamInfo(findParamFcn gpf, DtString lpt, printRwFcn pvf)
177  : getParamFcn(gpf), luaParamType(lpt), printValFcn(pvf) {};
178  RwParamInfo() : getParamFcn(0), luaParamType(0), printValFcn(0) {};
179 
180  findParamFcn getParamFcn;
182  printRwFcn printValFcn;
183 
184  };
185 
186  typedef std::map<DtString, RwParamInfo> DtParamFcnMap ;
188 
190  std::set<DtString> myParamsIgnored;
191 };
Factory for DtSimTask instances used in messages.
Definition: simTaskFactory.h:22
std::map< DtString, RwParamInfo > DtParamFcnMap
Definition: taskSetBuilder.h:186
Class which builds tasks dynamically based on a set of parameters passed in from a Lua Script call...
Definition: taskSetBuilder.h:29
Structure used in myFindParamFcnMap to store info on various RW types used as parameters in tasks and...
Definition: taskSetBuilder.h:174
Definition: scriptedTaskManager.h:74
RwParamInfo(findParamFcn gpf, DtString lpt, printRwFcn pvf)
Definition: taskSetBuilder.h:176
Definition: readerWriter.h:85
std::set< DtString > myParamsIgnored
List of parameters that are ignored.
Definition: taskSetBuilder.h:190
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
DtParamFcnMap myFindParamFcnMap
Definition: taskSetBuilder.h:187
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
printRwFcn printValFcn
Definition: taskSetBuilder.h:182
A class for keeping track of meta data for variables of scripted tasks.
Definition: scriptedTaskVariable.h:31
DtSimCommand is an abstract base class from which commands can derive.
Definition: simCommand.h:32
Definition: asyncJobServer.h:39
const DtScriptedTaskManager * myScriptedTaskManager
Definition: taskSetBuilder.h:168
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
DtString luaParamType
Definition: taskSetBuilder.h:181
RwParamInfo()
Definition: taskSetBuilder.h:178

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)