Go to the documentation of this file.
62 static void define(
const char* name,
ExprFunc f,
const char* docString);
74 static std::string
getDocString(
const char* functionName);
ExprFunc(ExprFuncX &f, int min=1, int max=1)
User defined function with custom argument parsing.
with numParticles numAttributes A variable block contains variable names and types but doesn t care what the values are< pre > void f(const std::string &s, MyParticleData *p, int outputDim=3)
double Func2(double, double)
ExprFunc(ExprFuncStandard::Func2 *f)
static void cleanup()
cleanup all functions
ExprFunc(ExprFuncStandard::Func4 *f)
ExprFunc(ExprFuncStandard::Func1 *f)
static void init()
call to define built-in funcs and load standard plugins
void(* Define3)(const char *name, ExprFunc f, const char *docString)
static void getFunctionNames(std::vector< std::string > &names)
Get a list of registered builtin and DSO generated functions.
static size_t sizeInBytes()
Get the total size estimate of all plugins.
Extension function spec, used for complicated argument custom functions.
ExprFunc(ExprFuncStandard::Func0 *f)
Function Definition, used in parse tree and func table.
ExprFunc(ExprFuncStandard::Func1v *f)
ExprFunc(ExprFuncStandard::Funcnv *f, int minArgs, int maxArgs)
double Func2v(const Vec3d &, const Vec3d &)
ExprFunc(ExprFuncStandard::Func2v *f)
const ExprFuncX * funcx() const
return pointer to the funcx
double Func3(double, double, double)
Vec3d Funcnvv(int n, const Vec3d *params)
ExprFunc(ExprFuncStandard::Func2vv *f)
int maxArgs() const
return the maximum number of acceptable arguments
static Statistics statistics()
Dump statistics.
double Funcn(int n, double *params)
ExprFunc(ExprFuncStandard::Funcnvv *f, int minArgs, int maxArgs)
double Func1v(const Vec3d &)
ExprFunc(ExprFuncStandard::Func5 *f)
double Func4(double, double, double, double)
Vec3d Func1vv(const Vec3d &)
static std::vector< void * > dynlib
double min(double x, double y)
ExprFuncStandard _standardFunc
double Func6(double, double, double, double, double, double)
ExprFunc(ExprFuncStandard::Func6 *f)
double Funcnv(int n, const Vec3d *params)
double max(double x, double y)
int minArgs() const
return the minimum number of acceptable arguments
Vec3d Func2vv(const Vec3d &, const Vec3d &)
ExprFunc(ExprFuncStandard::Funcn *f, int minArgs, int maxArgs)
static void loadPlugins(const char *path)
load all plugins in a given path
static const ExprFunc * lookup(const std::string &name)
Lookup a builtin function by name.
ExprFunc(ExprFuncStandard::Funcnvv *f)
void(* Define)(const char *name, ExprFunc f)
static void define(const char *name, ExprFunc f, const char *docString)
static void initInternal()
static std::string getDocString(const char *functionName)
Get doc string for a specific function.
double Func5(double, double, double, double, double)
ExprFunc(ExprFuncStandard::Func1vv *f)
ExprFunc(ExprFuncStandard::Func3 *f)
std::map< std::string, double > Statistics
static void loadPlugin(const char *path)
load a given plugin