VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
29 {
30 private:
32 
35  DtTaskSetBuilder& operator=(const DtTaskSetBuilder& orig);
37 public:
38  DtTaskSetBuilder(const DtScriptedTaskManager* scriptedTaskManager);
39 
40  virtual DtSimTask* buildTask(const DtString& taskType,
41  luabind::object const& parameters);
42 
43  virtual DtSetDataRequest* buildSet(const DtString& setType,
44  luabind::object const& parameters);
45 
48  virtual void generateTaskSetLuaDoc(const DtFilename& outputFile);
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 
65  virtual DtString availableParamsString(DtReaderWriter* taskOrSet, bool longForm = false);
66 
68  virtual DtSetDataRequest* buildSetReactiveTaskEnabled(luabind::object const& parameters);
69 
72  typedef bool (*findParamFcn)(const DtString& paramName, luabind::object const& parameters,
73  DtReaderWriter* result, const DtScriptedTaskManager*);
74 
75  static bool findPropertyParam(const DtString& paramName, luabind::object const& parameters,
76  DtReaderWriter* result, const DtScriptedTaskManager*);
77 
78  static bool findStringParam(const DtString& paramName, luabind::object const& parameters,
79  DtReaderWriter* result, const DtScriptedTaskManager*);
80 
81  static bool findAnimationModelParam(const DtString& paramName, luabind::object const& parameters,
82  DtReaderWriter* result, const DtScriptedTaskManager*);
83 
84  static bool findIntParam(const DtString& paramName, luabind::object const& parameters,
85  DtReaderWriter* result, const DtScriptedTaskManager*);
86 
87  static bool findDoubleParam(const DtString& paramName, luabind::object const& parameters,
88  DtReaderWriter* result, const DtScriptedTaskManager*);
89 
90  static bool findBoolParam(const DtString& paramName, luabind::object const& parameters,
91  DtReaderWriter* result, const DtScriptedTaskManager*);
92 
93  static bool findVectorParam(const DtString& paramName, luabind::object const& parameters,
94  DtReaderWriter* result, const DtScriptedTaskManager*);
95 
96  static bool findOffsetVectorParam(const DtString& paramName, luabind::object const& parameters,
97  DtReaderWriter* result, const DtScriptedTaskManager*);
98 
99  static bool findLifeformPostureParam(const DtString& paramName, luabind::object const& parameters,
100  DtReaderWriter* result, const DtScriptedTaskManager*);
101 
102  static bool findLifeformWeaponStateParam(const DtString& paramName, luabind::object const& parameters,
103  DtReaderWriter* result, const DtScriptedTaskManager*);
104 
105  static bool findAggregateStateParam(const DtString& paramName, luabind::object const& parameters,
106  DtReaderWriter* result, const DtScriptedTaskManager*);
107 
108  static bool findForceTypeParam(const DtString& paramName, luabind::object const& parameters,
109  DtReaderWriter* result, const DtScriptedTaskManager*);
110 
111  static bool findNLengthStringVectorParam(const DtString& paramName, luabind::object const& parameters,
112  DtReaderWriter* result, const DtScriptedTaskManager*);
113 
114  static bool findStringListParam(const DtString& paramName, luabind::object const& parameters,
115  DtReaderWriter* result, const DtScriptedTaskManager*);
116 
117  static bool findEntityTypeParam(const DtString& paramName, luabind::object const& parameters,
118  DtReaderWriter* result, const DtScriptedTaskManager*);
119 
120  static bool findKeyValueListParam(const DtString& paramName, luabind::object const& parameters,
121  DtReaderWriter* result, const DtScriptedTaskManager*);
122 
125  DtString convertToLuaSymbol(const DtString& inputString);
126 
128  virtual DtString generateRwLuaDoc(DtReaderWriter& rw);
129 
132  virtual bool cleanTaskName(DtString& taskName);
133 
134 protected:
136 
137  typedef DtString (*printRwFcn)(DtReaderWriter* rw);
138 
141  struct RwParamInfo
142  {
143  RwParamInfo(findParamFcn gpf, DtString lpt, printRwFcn pvf)
144  : getParamFcn(gpf), luaParamType(lpt), printValFcn(pvf) {};
145  RwParamInfo() : getParamFcn(0), luaParamType(0), printValFcn(0) {};
146 
147  findParamFcn getParamFcn;
149  printRwFcn printValFcn;
150 
151  };
152 
153  typedef std::map<DtString, RwParamInfo> DtParamFcnMap ;
155 
157  std::set<DtString> myParamsIgnored;
158  std::set<DtSimTaskMessageType> myIgnoredTasks;
159  std::set<DtSetMessageType> myIgnoredSets;
160  std::map<DtString, DtString> mySpecializedDoc;
161 };
162 
164 {
165 public:
166 
169  virtual bool execute(const DtString& arguments);
170  virtual bool showInHelp() const;
171  virtual DtString help(const DtString& parameters);
172 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)