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. | |
1.4.2