Classes | |
struct | VariableBytecodeToken |
Bytecode for variable, holds a pointer to variable. More... | |
struct | FunctionBytecodeToken |
Bytecode for function call, holds a pointer to functor. More... | |
struct | ConstantBytecodeToken |
Bytecode for constant, holds a value. More... | |
struct | UnaryFunctionBytecodeToken |
Bytecode for unary functions, pop value from stack and push result of function. Templatised on the functor. More... | |
struct | UnaryNegationOperation |
Negation functor. More... | |
struct | BinaryFunctionBytecodeToken |
Bytecode for unary functions, pop two values from stack and push result of function. Templatised on the functor. More... | |
struct | AdditionOperator |
Addition functor. More... | |
struct | SubstractionOperator |
Substraction functor. More... | |
struct | MultiplicationOperator |
Multiplication functor. More... | |
struct | DivisionOperator |
Division functor. More... | |
struct | PushOperator |
Functor that add a new operator at the end of _bytecode when called. More... | |
struct | PushConstant |
Functor that add a new constant at the end of _bytecode when called. More... | |
struct | PushFunction |
Functor that add a new function call at the end of _bytecode when called. More... | |
struct | PushVariable |
Functor that add a new variable reading at the end of _bytecode when called. More... | |
struct | StringClosure |
boost::spirit housekeeping More... | |
struct | FormulaGrammar |
Language grammar using boost::spirit meta-programming features. You now enter highly magic area, prepare to forget everything you have believed in. Read it at your own risks, after all, this is in a cpp not h file. More... | |
class | Formula |
A Formula. More... | |
struct | Vector |
A vector in a 2D space. More... | |
struct | Matrix22 |
A 2x2 matrix. More... | |
struct | Segment |
A segment in a 2D space, basically two points. More... | |
class | ExpDecay |
Implements an exponential decay using the Crank-Nicholson method. More... | |
class | FastRandom |
A fast random generator. More... | |
struct | UniformRand |
Functor to be used with <algorithm>. More... | |
struct | Color |
A color in RGBA. More... | |
Typedefs | |
typedef UnaryFunctionBytecodeToken< UnaryNegationOperation > | UnaryNegationBytecodeToken |
Bytecode for negation. | |
typedef BinaryFunctionBytecodeToken< AdditionOperator > | AdditionBytecodeToken |
Bytecode for addition. | |
typedef BinaryFunctionBytecodeToken< SubstractionOperator > | SubstractionBytecodeToken |
Bytecode for substraction. | |
typedef BinaryFunctionBytecodeToken< MultiplicationOperator > | MultiplicationBytecodeToken |
Bytecode for multiplication. | |
typedef BinaryFunctionBytecodeToken< DivisionOperator > | DivisionBytecodeToken |
Bytecode for division. | |
typedef Vector | Point |
A point in a 2D space, another name for a vector. | |
typedef std::vector< Point > | Polygone |
Polygone, which is a vector of points. Anti-clockwise, standard trigonometric orientation. | |
typedef std::valarray< Color > | Texture |
A texture. | |
Functions | |
double | normalizeAngle (double angle) |
Normlize an angle to be between -PI and +PI. | |
Point | getIntersection (const Segment &s1, const Segment &s2) |
get the intersection point between two line segments returns Point(HUGE_VAL, HUGE_VAL) if there's no intersection added by yvan.bourquin@epfl.ch | |
double | uniformRand (void) |
Return a number in [0;1[ in a uniform distribution. | |
unsigned | intRand (unsigned max) |
Return a number between [0;max[ in integer in a uniform distribution. | |
bool | boolRand (double prob=0.5) |
Return true with a probability prob. If no argument is given, prob = 0.5. | |
double | gaussianRand (double mean, double sigm) |
Return a random number with a gaussian distribution of a certain mean and standard deviation. |