49template <VisualisationStateMember function>
71template <CameraMember function>
93template <CommandLineMember function>
111 lua_writestring(
"startRecord:\n Arguments: none\n Start video recording.\n");
132 lua_writestring(
"stopRecord:\n Arguments: none\n Stop video recording.\n");
175 *(extraSpace->
exit) =
true;
214 : lastCommandOrProgram(
""), lastStatus(
false)
221 extraSpace.
camera = camera;
222 extraSpace.
exit = &exit;
225 const char * init = R
"(
227 for k,v in pairs(module) do
236 const char * help = R
"(
238 if func == sfoav or func == nil then
239 for k,v in pairs(sfoav) do
245 for k,v in pairs(sfoav) do
269 lastCommandOrProgram = file;
272 return handleErrors();
288 lastCommandOrProgram =
program;
290 return handleErrors();
305 { lastCommandOrProgram = std::string(
program);
307 return handleErrors();
323 if (
s ==
LUA_OK){
return "LUA_OK";}
325 std::string
status = lastCommandOrProgram +
" | ";
336 status +=
"LUA_ERRSYNTAX";
345 status +=
"LUA_STATUS_UNKOWN";
356 value.readGlobal(lua, n);
373 std::string lastCommandOrProgram;
374 std::stringstream input;
375 static std::string stackTrace;
384 else { std::cerr <<
"Exited with error running "+lastCommandOrProgram+
"\n"; }
393 static int load_sfoavLib(
lua_State * lua)
A 3D projective camera centered on a focus moving on a sphere.
Definition camera.h:30
Lua console.
Definition console.h:201
bool exitCalled() const
If sfoav.exit() has been called.
Definition console.h:366
~Console()
Definition console.h:256
bool runFile(std::string file)
Attempt to run a Lua script from a file on disc.
Definition console.h:265
Console(VisualisationState *visualisationState, CommandLine *options, Camera *camera)
Construct a new Console.
Definition console.h:209
std::string luaStatus()
Convert Lua's status to a std::string.
Definition console.h:319
bool runString(std::string program)
Attempt to run a Lua script from std::string.
Definition console.h:284
T getGlobal(const char *n)
Definition console.h:353
bool luaIsOk()
Definition console.h:312
bool runString(const char *program)
Attempt to run a Lua script from std::string.
Definition console.h:302
glm::vec< L, float, glm::qualifier::highp > vec
Definition commandLine.h:214
int(VisualisationState::* VisualisationStateMember)(lua_State *lua)
A Lua binding in VisualisationState;.
Definition console.h:39
int dispatchCamera(lua_State *lua)
Dispath to a Lua binding of Camera.
Definition console.h:72
int lua_pause(lua_State *lua)
Stop playing frames.
Definition console.h:185
int lua_exit(lua_State *lua)
Exit SFOAV.
Definition console.h:167
int lua_startRecord(lua_State *lua)
Start video recording (if not already recording).
Definition console.h:107
int lua_stopRecord(lua_State *lua)
Stop video recording (if already recording).
Definition console.h:128
int(Camera::* CameraMember)(lua_State *lua)
A Lua binding in Camera;.
Definition console.h:61
int lua_play(lua_State *lua)
Start playing frames.
Definition console.h:149
int(CommandLine::* CommandLineMember)(lua_State *lua)
A Lua binding in CommandLine;.
Definition console.h:83
int dispatchCommandLine(lua_State *lua)
Dispath to a Lua binding of CommandLine.
Definition console.h:94
int dispatchVisualisationState(lua_State *lua)
Dispath to a Lua binding of VisualisationState.
Definition console.h:50
T value
Definition commandLine.h:33
Extract command line arguments.
Definition commandLine.h:240
Argument< bool > play
Definition commandLine.h:380
Holds editable data for the visualisation state.
Definition visualisationState.h:34
bool recording
Definition visualisationState.h:132
void toggleRecord(const CommandLine &options)
Toggle recording to video.
Definition visualisationState.h:150