VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
readerWriterSetter.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrfLua/vrfLuaDefines.h>
11 #include <luabind/luabind.hpp>
12 
13 class DtString;
14 class DtReaderWriter;
15 
18 namespace DtReaderWriterSetter
19 {
22  bool setPropertyFromLua(const luabind::object& inObj, DtReaderWriter* outRw);
23 
26  bool setLuaFromRw(lua_State* L,
27  const DtReaderWriter* inRw, luabind::object& outObj);
28 
35  bool setRwFromLua(const luabind::object& inObj, DtReaderWriter* outRw);
36 
38  typedef bool (*luaToRwFnc)(const DtString& rwName, luabind::object const& inObj,
39  DtReaderWriter* outRw);
40 
42 
43  bool setStringRwFromLua(const DtString& rwName, luabind::object const& inObj,
44  DtReaderWriter* outRw);
45 
46  bool setUUIDRwFromLua(const DtString& rwName, luabind::object const& inObj,
47  DtReaderWriter* outRw);
48 
49  bool setEntityTypeFromLua(const DtString& rwName, luabind::object const& inObj,
50  DtReaderWriter* outRw);
51 
52  bool setObjectTypeFromLua(const DtString& rwName, luabind::object const& inObj,
53  DtReaderWriter* outRw);
54 
61  bool setLocVectorRwFromLua(const DtString& rwName, luabind::object const& inObj,
62  DtReaderWriter* outRw);
63 
64  bool setOffsetVectorRwFromLua(const DtString& rwName, luabind::object const& inObj,
65  DtReaderWriter* outRw);
66 
67  bool setVerticesFromLua(const DtString& rwName, luabind::object const& inObj,
68  DtReaderWriter* outRw);
69 
70  bool setOffsetVerticesFromLua(const DtString& rwName, luabind::object const& inObj,
71  DtReaderWriter* outRw);
72 
73  bool setIntRwFromLua(const DtString& rwName, luabind::object const& inObj,
74  DtReaderWriter* outRw);
75 
76  bool setDoubleRwFromLua(const DtString& rwName, luabind::object const& inObj,
77  DtReaderWriter* outRw);
78 
79  bool setBoolRwFromLua(const DtString& rwName, luabind::object const& inObj,
80  DtReaderWriter* outRw);
81 
82  bool setStructRwFromLua(const DtString& rwName, luabind::object const& inObj,
83  DtReaderWriter* outRw);
84 
85  bool setListRwFromLua(const DtString& rwName, luabind::object const& inObj,
86  DtReaderWriter* outRw);
88 
89 
91  typedef bool (*rwToLuaFnc)(lua_State* L, const DtString& rwName,
92  const DtReaderWriter* inRw, luabind::object& outObj);
93 
95 
96  bool setStringLuaFromRw(lua_State* L, const DtString& rwName,
97  const DtReaderWriter* inRw, luabind::object& outObj);
98 
99  bool setEntityTypeLuaFromRw(lua_State* L, const DtString& rwName,
100  const DtReaderWriter* inRw, luabind::object& outObj);
101 
102  bool setObjectTypeLuaFromRw(lua_State* L, const DtString& rwName,
103  const DtReaderWriter* inRw, luabind::object& outObj);
104 
106  bool setSimObjectLuaFromRw(lua_State* L, const DtString& rwName,
107  const DtReaderWriter* inRw, luabind::object& outObj);
108 
111  bool setLocationLuaFromRw(lua_State* L, const DtString& rwName,
112  const DtReaderWriter* inRw, luabind::object& outObj);
113 
114  bool setOffsetVectorLuaFromRw(lua_State* L, const DtString& rwName,
115  const DtReaderWriter* inRw, luabind::object& outObj);
116 
117  bool setVerticesLuaFromRw(lua_State* L, const DtString& rwName,
118  const DtReaderWriter* inRw, luabind::object& outObj);
119 
120  bool setOffsetVerticesLuaFromRw(lua_State* L, const DtString& rwName,
121  const DtReaderWriter* inRw, luabind::object& outObj);
122 
123  bool setIntLuaFromRw(lua_State* L, const DtString& rwName,
124  const DtReaderWriter* inRw, luabind::object& outObj);
125 
126  bool setDoubleLuaFromRw(lua_State* L, const DtString& rwName,
127  const DtReaderWriter* inRw, luabind::object& outObj);
128 
129  bool setBoolLuaFromRw(lua_State* L, const DtString& rwName,
130  const DtReaderWriter* inRw, luabind::object& outObj);
131 
132  bool setStructLuaFromRw(lua_State* L, const DtString& rwName,
133  const DtReaderWriter* inRw, luabind::object& outObj);
134 
135  bool setListLuaFromRw(lua_State* L, const DtString& rwName,
136  const DtReaderWriter* inRw, luabind::object& outObj);
138 
140  typedef DtReaderWriter* (*luaToRwCreatorFnc)(const DtString& rwName, luabind::object const& inObj,
141  DtReaderWriter* parent);
142 
144 #if 0
145 
147  DtReaderWriter* createStringRwFromLua(const DtString& rwName, luabind::object const& inObj,
148  DtReaderWriter* parent);
149 
150  DtReaderWriter* createDoubleRwFromLua(const DtString& rwName, luabind::object const& inObj,
151  DtReaderWriter* parent);
152 
153  DtReaderWriter* createBoolRwFromLua(const DtString& rwName, luabind::object const& inObj,
154  DtReaderWriter* parent);
155 
156  DtReaderWriter* createCustomRwFromLua(const DtString& rwName, luabind::object const& inObj,
157  DtReaderWriter* parent);
159 #endif
160 
161  typedef std::map<DtString, luaToRwFnc> DtRwFromLuaFcnMap;
164 
165  typedef std::map<DtString, rwToLuaFnc> DtLuaFromRwFcnMap;
168 
170 #if 0
171  typedef std::map<int, luaToRwCreatorFnc> DtRwFromLuaCreatorFcnMap;
173  DtRwFromLuaCreatorFcnMap& rwFromLuaCreatorFcnMap();
174 #endif
175 };
176 
bool setUUIDRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
std::map< DtString, rwToLuaFnc > DtLuaFromRwFcnMap
Definition: readerWriterSetter.h:165
bool setDoubleRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
std::map< DtString, luaToRwFnc > DtRwFromLuaFcnMap
These are not used anywhere – delete TMP.
Definition: readerWriterSetter.h:161
bool setLocationLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
See comment above. A DtVector is interpreted as a location3D, not a vector3D or anything other object...
bool setPropertyFromLua(const luabind::object &inObj, DtReaderWriter *outRw)
Sets the given ReaderWriter from a Lua object. Returns true if successful.
bool setOffsetVectorLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setStructRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
Definition: readerWriter.h:85
bool setListLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
DtLuaFromRwFcnMap & luaFromRwFcnMap()
The ReaderWriter-to-Lua by type.
bool setEntityTypeLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setObjectTypeFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setVerticesLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool(* rwToLuaFnc)(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
Function signature for ReaderWriter-to-Lua object conversion functions.
Definition: readerWriterSetter.h:91
bool setOffsetVerticesLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setLuaFromRw(lua_State *L, const DtReaderWriter *inRw, luabind::object &outObj)
Sets the given Lua object from a ReaderWriter. Returns true if successful.
bool setEntityTypeFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setOffsetVerticesFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setBoolRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setOffsetVectorRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setRwFromLua(const luabind::object &inObj, DtReaderWriter *outRw)
Tries to set all the contents of the reader/writer item from lua. If there is not a factory represent...
bool setSimObjectLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
Assumes the RW is a UUID.
bool setListRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setLocVectorRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
A DtVector can be used to hold a location3D or a vector3D. There is no type DtRwPoint, and DtVector is used for locations throughout VRF code, DtVector is used for locations and vectors. There is no way to tell from DtVector whether it is representing a point or vector. So, in readerWriterSetter, use DtRwVector for location3Ds and reject vector3Ds when going from Lua to RW; assume DtRwVectors are location 3Ds.
bool setObjectTypeLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setStringLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
DtRwFromLuaFcnMap & rwFromLuaFcnMap()
The Lua-to-ReaderWriter by type.
bool setStructLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setVerticesFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setIntRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setBoolLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool(* luaToRwFnc)(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Function signature for Lua-to-ReaderWriter conversion functions.
Definition: readerWriterSetter.h:38
bool setStringRwFromLua(const DtString &rwName, luabind::object const &inObj, DtReaderWriter *outRw)
Lua-to-ReaderWriter conversion functions.
bool setIntLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.
bool setDoubleLuaFromRw(lua_State *L, const DtString &rwName, const DtReaderWriter *inRw, luabind::object &outObj)
ReaderWriter-to-Lua conversion functions.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)