MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
|
#include <AbstractHeadlessDriver.h>
Protected Types | |
typedef Super::OurGrid | OurGrid |
typedef Super::CC | CC |
![]() | |
enum | { W = GC::GRID_WIDTH } |
enum | { H = GC::GRID_HEIGHT } |
enum | { R = P::EVENT_WINDOW_RADIUS } |
typedef GC::CORE_CONFIG | CC |
typedef CC::PARAM_CONFIG | P |
typedef CC::ATOM_TYPE | T |
typedef ElementRegistry< CC > | OurElementRegistry |
typedef StdElements< CC > | OurStdElements |
typedef Grid< GC > | OurGrid |
typedef ElementTable< CC > | OurElementTable |
Protected Member Functions | |
virtual void | AddDriverArguments () |
virtual void | OnceOnly (VArguments &args) |
virtual void | PostUpdate () |
![]() | |
void | NeedElement (Element< CC > *element) |
void | WriteTimeBasedData (FileByteSink &fp, bool exists) |
void | SetIgnoreThreadingProblems (bool value) |
void | WriteTimeBasedData () |
void | UpdateGrid (OurGrid &grid) |
void | DecrementAEPSPerFrame (u32 amount) |
void | IncrementAEPSPerFrame (u32 amount) |
virtual void | PostReinit (VArguments &args) |
virtual void | ReinitEden ()=0 |
void | ReinitPhysics () |
virtual void | PostReinitPhysics () |
virtual void | DefineNeededElements ()=0 |
virtual void | RunHelper () |
void | SetAEPSPerEpoch (u32 aeps) |
u32 | GetAEPSPerEpoch () const |
Additional Inherited Members | |
![]() | |
void | AutosaveGrid (u32 epochs) |
void | SaveGrid (const char *filename) |
void | LoadFromConfigurationPath () |
const char * | GetSimDirPathTemporary (const char *format,...) const |
void | ReloadCurrentConfigurationPath () |
virtual void | DoEpochEvents (OurGrid &grid, u32 epochs, u32 epochAEPS) |
void | Init (u32 argc, const char **argv) |
VArguments & | GetVArguments () |
void | RegisterArgument (const char *description, const char *filter, VArgumentHandleValue func, void *handlerArg, bool runFunc) |
void | RegisterSection (const char *sectionLabel) |
virtual void | ReinitUs () |
u32 | GetHaltAfterAEPS () |
double | GetAEPS () |
double | GetAER () |
void | SetAER (double aer) |
double | GetRecentAER () |
void | SetRecentAER (double aer) |
u32 | GetAEPSPerFrame () |
double | GetOverheadPercent () |
OurGrid & | GetGrid () |
void | SetSeed (u32 seed) |
void | Reinit () |
void | Run () |
![]() | |
Element< CC > * | m_neededElements [MAX_NEEDED_ELEMENTS] |
u32 | m_neededElementCount |
![]() | |
static const u32 | EVENT_WINDOW_RADIUS = R |
static const u32 | GRID_WIDTH = W |
static const u32 | GRID_HEIGHT = H |
A class representing a headless driver, i.e. a driver which works only on the command line without input.
|
inlineprotectedvirtual |
Adds any command-line arguments desired, by calling #RegisterArgument with appropriate arguments. Note: (Sub-)subclasses of AbstractDriver should always override this method, even if they do not wish to add command-line arguments, and begin their overriding method with Super::AddDriverArguments(). Such chaining lets all levels of abstraction define command-line arguments, with the most abstract going first.
Reimplemented from MFM::AbstractDriver< GC >.
|
inlineprotectedvirtual |
To be run during first initialization, only once. This runs after all standard argument parsing and is available to extend that behavior. Any overrides of this method should be certain to call Super::OnceOnly (probably at the beginning, but in any case, sometime) during their execution, so more abstract levels can do any processing they need to.
args | The VArguments , which should have been gotten from the command line. These allow this method to configure itself properly from the command line arguments. |
Reimplemented from MFM::AbstractDriver< GC >.
|
inlineprotectedvirtual |
To be run at the end of a frame update.
Reimplemented from MFM::AbstractDriver< GC >.