SeExpr

Classes | Typedefs | Functions | Variables
SeExpr2 Namespace Reference

## Classes
struct | ADD_CONST
struct | ADD_CONST< T, true >
class | CachedVoronoiFunc
class | CCurveFuncX
class | Context
class | ContextUtils
class | ControlSpec
| Generic Expression control specification. More...
class | Curve
| Interpolation curve class for double->double and double->Vec3D. More...
struct | CurveData
class | CurveFuncX
class | DExpression
class | Examiner
class | ExprAssignNode
| Node that compute a local variable assignment. More...
class | ExprBinaryOpNode
| Node that implements an binary operator. More...
class | ExprBlockNode
| Node that computes local variables before evaluating expression. More...
class | ExprCompareEqNode
| Node that implements a numeric/string comparison. More...
class | ExprCompareNode
| Node that implements a numeric comparison. More...
class | ExprCondNode
| Node that evaluates a conditional (if-then-else) expression. More...
class | ExprCurveAssignSpec
| Curve assignment expression. Assignment of curve to a variable. More...
class | Expression
| main expression class More...
class | Expressions
struct | ExprEvalResult
| Evaluation result. More...
class | ExprFunc
| Function Definition, used in parse tree and func table. More...
class | ExprFuncLocal
class | ExprFuncNode
| Node that calls a function. More...
class | ExprFuncSimple
class | ExprFuncStandard
class | ExprFuncX
| Extension function spec, used for complicated argument custom functions. More...
class | ExprIfThenElseNode
| Node that computes local variables before evaluating expression. More...
class | ExprLocalFunctionNode
| Node that contains local function. More...
class | ExprLocalVar
| ExprLocalVar reference, all local variables in seexpr are subclasses of this or this itself. More...
class | ExprLocalVarPhi
| ExprLocalVar join (merge) references. Remembers which variables are possible assigners to this. More...
class | ExprModuleNode
| Node that contains entire program. More...
class | ExprNode
class | ExprNodePolicy
| Policy which provides all the AST Types for the parser. More...
class | ExprNumNode
| Node that stores a numeric constant. More...
class | ExprPrototypeNode
| Node that contains prototype of function. More...
class | ExprScalarAssignSpec
| Variable equals scalar control specification. More...
class | ExprStrNode
| Node that stores a string. More...
class | ExprStrSpec
class | ExprSubscriptNode
| Node that evaluates a component of a vector. More...
class | ExprType
class | ExprUnaryOpNode
| NOde that computes with a single operand. More...
class | ExprVarEnv
| Variable scope for tracking variable lookup. More...
class | ExprVarEnvBuilder
| Variable scope builder is used by the type checking and code gen to track visiblity of variables and changing of. More...
class | ExprVarNode
| Node that references a variable. More...
class | ExprVarRef
| abstract class for implementing variable references More...
class | ExprVecNode
| Node that constructs a vector from three scalars. More...
class | ExprVectorAssignSpec
| Variable equals vector control specification. More...
class | GetVar
struct | GlobalFP
struct | GlobalStr
class | GlobalVal
class | ImageSynthExpr
| Simple image synthesizer expression class to support our function grapher.
class | Interpreter
class | LLVMEvaluator
class | MapFuncX
struct | my_enable_if
| Enable_if success case (can find the type TYPE) More...
struct | my_enable_if< false, T >
| Enable_if failure case (substitution failure is not an error) More...
class | PrintFuncX
class | PrintTiming
struct | Promote
| Promotes a FP[1] to FP[d]. More...
class | RandFuncX
struct | Reducer
struct | Reducer< T, 1 >
struct | Reducer< T, 2 >
struct | Reducer< T, 3 >
struct | Reducer< T, 4 >
struct | seexpr_static_assert
| Static assert error case (false) More...
struct | seexpr_static_assert< true, T >
| Static assert success case. More...
class | SpecExaminer
| Examiner that builds a list of specs potentially used in widgets (for qdgui) More...
struct | static_if
| Static conditional type true case. More...
struct | static_if< false, T1, T2 >
| Static conditional type false case. More...
class | Timer
class | TriplanarFuncX
class | TypePrintExaminer
class | VarBlock
| A thread local evaluation context. Just allocate and fill in with data. More...
class | VarBlockCreator
| A class that lets you register for the variables used by one or more expressions. More...
class | Vec
struct | VoronoiPointData
class | Walker

## Typedefs
typedef std::map< std::string, double > | Statistics
typedef std::set< GlobalVal * >::iterator | VariableHandle
typedef std::set< GlobalVal * >::iterator | VariableSetHandle
typedef std::set< DExpression * >::iterator | ExprHandle
typedef std::pair< ExprHandle, std::vector< DExpression * > > | ExprEvalHandle
typedef Examiner< true > | ConstExaminer
typedef Walker< true > | ConstWalker
using | Vec1d = Vec< double, 1, false >
using | Vec2d = Vec< double, 2, false >
using | Vec3d = Vec< double, 3, false >
using | Vec4d = Vec< double, 4, false >
using | Vec1f = Vec< float, 1, false >
using | Vec2f = Vec< float, 2, false >
using | Vec3f = Vec< float, 3, false >
using | Vec4f = Vec< float, 4, false >
using | Vec1dRef = Vec< double, 1, true >
using | Vec2dRef = Vec< double, 2, true >
using | Vec3dRef = Vec< double, 3, true >
using | Vec4dRef = Vec< double, 4, true >
using | Vec1fRef = Vec< float, 1, true >
using | Vec2fRef = Vec< float, 2, true >
using | Vec3fRef = Vec< float, 3, true >
using | Vec4fRef = Vec< float, 4, true >
using | Vec1dConstRef = Vec< const double, 1, true >
using | Vec2dConstRef = Vec< const double, 2, true >
using | Vec3dConstRef = Vec< const double, 3, true >
using | Vec4dConstRef = Vec< const double, 4, true >
using | Vec1fConstRef = Vec< const float, 1, true >
using | Vec2fConstRef = Vec< const float, 2, true >
using | Vec3fConstRef = Vec< const float, 3, true >
using | Vec4fConstRef = Vec< const float, 4, true >

## Functions
double | compress (double x, double lo, double hi)
double | expand (double x, double lo, double hi)
double | fit (double x, double a1, double b1, double a2, double b2)
double | gamma (double x, double g)
double | bias (double x, double b)
double | contrast (double x, double c)
double | boxstep (double x, double a)
double | linearstep (double x, double a, double b)
double | smoothstep (double x, double a, double b)
double | gaussstep (double x, double a, double b)
double | remap (double x, double source, double range, double falloff, double interp)
double | mix (double x, double y, double alpha)
Vec3d | hsiAdjust (const Vec3d &rgb, double h, double s, double i)
Vec3d | hsi (int n, const Vec3d *args)
Vec3d | midhsi (int n, const Vec3d *args)
Vec3d | rgbtohsl (const Vec3d &rgb)
static double | hslvalue (double x, double y, double H)
Vec3d | hsltorgb (const Vec3d &hsl)
static Vec3d | saturate (const Vec3d &Cin, double amt)
Vec3d | saturate (int n, const Vec3d *args)
double | hash (int n, double *args)
double | noise (int n, const Vec3d *args)
double | snoise (const Vec3d &p)
Vec3d | vnoise (const Vec3d &p)
Vec3d | cnoise (const Vec3d &p)
double | snoise4 (int n, const Vec3d *args)
Vec3d | vnoise4 (int n, const Vec3d *args)
Vec3d | cnoise4 (int n, const Vec3d *args)
double | turbulence (int n, const Vec3d *args)
Vec3d | vturbulence (int n, const Vec3d *args)
Vec3d | cturbulence (int n, const Vec3d *args)
double | fbm (int n, const Vec3d *args)
Vec3d | vfbm (int n, const Vec3d *args)
double | fbm4 (int n, const Vec3d *args)
Vec3d | vfbm4 (int n, const Vec3d *args)
Vec3d | cfbm (int n, const Vec3d *args)
Vec3d | cfbm4 (int n, const Vec3d *args)
double | cellnoise (const Vec3d &p)
Vec3d | ccellnoise (const Vec3d &p)
double | pnoise (const Vec3d &p, const Vec3d &period)
static Vec3d * | voronoi_points (VoronoiPointData &data, const Vec3d &cell, double jitter)
static void | voronoi_f1_3d (VoronoiPointData &data, const Vec3d &p, double jitter, double &f1, Vec3d &pos1)
static void | voronoi_f1f2_3d (VoronoiPointData &data, const Vec3d &p, double jitter, double &f1, Vec3d &pos1, double &f2, Vec3d &pos2)
Vec3d | voronoiFn (VoronoiPointData &data, int n, const Vec3d *args)
Vec3d | cvoronoiFn (VoronoiPointData &data, int n, const Vec3d *args)
Vec3d | pvoronoiFn (VoronoiPointData &data, int n, const Vec3d *args)
SeExpr2::CachedVoronoiFunc ExprFuncSimple | voronoi (voronoiFn)
SeExpr2::CachedVoronoiFunc ExprFuncSimple | cvoronoi (cvoronoiFn)
SeExpr2::CachedVoronoiFunc ExprFuncSimple | pvoronoi (pvoronoiFn)
double | dist (double ax, double ay, double az, double bx, double by, double bz)
double | length (const Vec3d &v)
double | hypot (double x, double y)
double | dot (const Vec3d &a, const Vec3d &b)
Vec3d | norm (const Vec3d &a)
Vec3d | cross (const Vec3d &a, const Vec3d &b)
double | angle (const Vec3d &a, const Vec3d &b)
Vec3d | ortho (const Vec3d &a, const Vec3d &b)
Vec3d | rotate (int n, const Vec3d *args)
Vec3d | up (const Vec3d &P, const Vec3d &upvec)
double | cycle (double index, double loRange, double hiRange)
double | pick (int n, double *params)
double | swatch (int n, double *params)
double | choose (int n, double *params)
double | wchoose (int n, double *params)
double | spline (int n, double *params)
void | defineBuiltins (ExprFunc::Define define, ExprFunc::Define3 define3)
void | initPerlin ()
double | deg (double angle)
double | rad (double angle)
double | cosd (double x)
double | sind (double x)
double | tand (double x)
double | acosd (double x)
double | asind (double x)
double | atand (double x)
double | atan2d (double y, double x)
double | clamp (double x, double lo, double hi)
double | round (double x)
double | max (double x, double y)
double | min (double x, double y)
double | invert (double x)
static Expression::EvaluationStrategy | chooseDefaultEvaluationStrategy ()
static void | defineInternal (const char *name, ExprFunc f)
static void | defineInternal3 (const char *name, ExprFunc f, const char *docString)
static int | MatchPluginName (const struct dirent *dir)
int | Func0Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func1Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func2Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func3Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func4Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func5Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func6Op (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | FuncNOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func1VOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func2VOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func1VVOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | Func2VVOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | FuncNVOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
int | FuncNVVOp (int *opData, double *fp, char **c, std::vector< int > &callStack)
bool | ExprParse (SeExpr2::ExprNode *&parseTree, std::string &error, int &errorStart, int &errorEnd, std::vector< std::pair< int, int > > &_comments, const SeExpr2::Expression *expr, const char *str, bool wantVec=true)
const ExprVarNode * | isVariable (const ExprNode *testee)
const ExprNumNode * | isScalar (const ExprNode *testee)
const ExprVecNode * | isVector (const ExprNode *testee)
const ExprVecNode * | isLitVec (const ExprNode *testee)
const ExprStrNode * | isString (const ExprNode *testee)
const ExprAssignNode * | isAssign (const ExprNode *testee)
const ExprFuncNode * | isFunc (const ExprNode *testee)
const ExprFuncNode * | isNamedFunc (const ExprNode *testee, const std::string &name)
const ExprFuncNode * | isStrFunc (const ExprNode *testee)
bool | hasCurveNumArgs (const ExprFuncNode *testee)
const ExprFuncNode * | isCurveFunc (const ExprNode *testee)
const ExprFuncNode * | isCcurveFunc (const ExprNode *testee)
const ExprAssignNode * | isScalarAssign (const ExprNode *testee)
const ExprAssignNode * | isVectorAssign (const ExprNode *testee)
const ExprAssignNode * | isStrFuncAssign (const ExprNode *testee)
const ExprAssignNode * | isCurveAssign (const ExprNode *testee)
const ExprAssignNode * | isCcurveAssign (const ExprNode *testee)
ExprType | TypeVec (int n)
| Quick way to get a vector type i.e. 3 vec is TypeVec(3) More...
template<char c, template< char c1, int d > class T>
static Interpreter::OpF | getTemplatizedOp2 (int i)
| Return the function f encapsulated in class T for the dynamic i converted to a static d. (partial application of. More...
void | copyVarToPromotedPosition (Interpreter *interpreter, ExprLocalVar *varSource, ExprLocalVar *varDest)
template<template< int d > class T, class T_FUNCTYPE = Interpreter::OpF>
T_FUNCTYPE | getTemplatizedOp (int i)
| Return the function f encapsulated in class T for the dynamic i converted to a static d. More...
double | s_curve (double t)
| This is the Quintic interpolant from Perlin's Improved Noise Paper. More...
template<int d>
unsigned char | hashReduceChar (int index[d])
| Does a hash reduce to a character. More...
template<int d>
uint32_t | hashReduce (uint32_t index[d])
| Does a hash reduce to an integer. More...
template<int d, class T , bool periodic>
T | noiseHelper (const T *X, const int *period=0)
| Noise with d_in dimensional domain, 1 dimensional abcissa. More...
template<int d_in, int d_out, class T >
void | CellNoise (const T *in, T *out)
| Computes cellular noise (non-interpolated piecewise constant cell random values) More...
template<int d_in, int d_out, class T >
void | Noise (const T *in, T *out)
| Noise with d_in dimensional domain, d_out dimensional abcissa. More...
template<int d_in, int d_out, class T >
void | PNoise (const T *in, const int *period, T *out)
| Periodic Noise with d_in dimensional domain, d_out dimensional abcissa. More...
template<int d_in, int d_out, bool turbulence, class T >
void | FBM (const T *in, T *out, int octaves, T lacunarity, T gain)
| Fractional Brownian Motion. If turbulence is true then turbulence computed. More...
template void | CellNoise< 3, 1, double > (const double *, double *)
template void | CellNoise< 3, 3, double > (const double *, double *)
template void | Noise< 1, 1, double > (const double *, double *)
template void | Noise< 2, 1, double > (const double *, double *)
template void | Noise< 3, 1, double > (const double *, double *)
template void | PNoise< 3, 1, double > (const double *, const int *, double *)
template void | Noise< 4, 1, double > (const double *, double *)
template void | Noise< 3, 3, double > (const double *, double *)
template void | Noise< 4, 3, double > (const double *, double *)
template void | FBM< 3, 1, false, double > (const double *, double *, int, double, double)
template void | FBM< 3, 1, true, double > (const double *, double *, int, double, double)
template void | FBM< 3, 3, false, double > (const double *, double *, int, double, double)
template void | FBM< 3, 3, true, double > (const double *, double *, int, double, double)
template void | FBM< 4, 1, false, double > (const double *, double *, int, double, double)
template void | FBM< 4, 3, false, double > (const double *, double *, int, double, double)
template<class T , int d, bool r>
std::ostream & | operator<< (std::ostream &out, const Vec< T, d, r > &val)
| Output stream. More...
bool | isWS (const char *source, int start, int end)
| Returns true if no newline separates comment and node. More...
std::string | findComment (const ExprNode &node)
| Checks if there is whitespace in the range specified in the string. More...

## Variables
static const char * | fabs_docstring = "float abs(float x)\nabsolute value of x"
static const char * | deg_docstring = "float deg(float angle)\nradians to degrees"
static const char * | rad_docstring = "float deg(float angle)\ndegrees to radians"
static const char * | cosd_docstring = "float cosd(float angle)\ncosine in degrees"
static const char * | sind_docstring = "float sind(float angle)\nsine in degrees"
static const char * | tand_docstring = "float tand(float angle)\ntangent in degrees"
static const char * | acosd_docstring = "float acosd(float angle)\narc cosine in degrees"
static const char * | asind_docstring = "float asind(float angle)\narc sine in degrees"
static const char * | atand_docstring = "float atand(float angle)\narc tangent in degrees"
static const char * | atan2d_docstring
static const char * | cos_docstring = "float cos(float angle)\ncosine in radians"
static const char * | sin_docstring = "float sin(float angle)\nsine in radians"
static const char * | tan_docstring = "float tan(float angle)\ntangent in radians"
static const char * | acos_docstring = "float acos(float angle)\narc cosine in radians"
static const char * | asin_docstring = "float asin(float angle)\narc sine in radians"
static const char * | atan_docstring = "float atan(float angle)\narc tangent in radians"
static const char * | atan2_docstring = "float atan2(float y,float x)\narc tangent in radians of y/x between -PI and PI"
static const char * | cosh_docstring = "float cosh(float angle)\nhyperbolic cosine in radians"
static const char * | sinh_docstring = "float sinh(float angle)\nhyperbolic sine in radians"
static const char * | tanh_docstring = "float tanh(float angle)\nhyperbolic tangent in radians"
static const char * | acosh_docstring = "float acosh(float angle)\nhyperbolic arc cosine in radians"
static const char * | asinh_docstring = "float asinh(float angle)\nhyperbolic arc sine in radians"
static const char * | atanh_docstring = "float atanh(float angle)\nhyperbolic arc tangent in radians"
static const char * | clamp_docstring = "float clamp(float x,float lo,float hi)\nconstrain x to range [lo,hi]"
static const char * | round_docstring = "float round(float x)\nconstrain x to range [lo,hi]"
static const char * | max_docstring = "float max(float a,float b)\ngreater of a and b"
static const char * | min_docstring = "float min(float a,float b)\nlesser of a and b"
static const char * | trunc_docstring = "float trunc(float a)\nnearest integer towards zero"
static const char * | floor_docstring = "float floor(float a)\nnext lower integer"
static const char * | ceil_docstring = "float ceil(float a)\nnext higher integer"
static const char * | invert_docstring = "float invert(float a)\nDefined as 1-x"
static const char * | cbrt_docstring = "float cbrt(float x)\ncube root"
static const char * | sqrt_docstring = "float sqrt(float x)\nsquare root"
static const char * | exp_docstring = "float exp(float x)\nE raised to the x power"
static const char * | pow_docstring = "float pow(float x)\nx to the y power, also available as ^"
static const char * | log_docstring = "float log(float x)\nNatural logarithm"
static const char * | log10_docstring = "float log10(float x)\nBase 10 logarithm"
static const char * | fmod_docstring = "float fmod(float x,float y)\nremainder of x/y (also available as % operator)"
static const char * | turbulence_docstring
static const char * | cturbulence_docstring
static const char * | vturbulence_docstring
static const char * | compress_docstring = "float compress(float x,float lo,float hi)\nRemaps x in [0,1] to [lo,hi]"
static const char * | expand_docstring = "float expand(float x,float lo,float hi)\nRemaps x in [lo,hi] to [0,1]"
static const char * | fit_docstring
static const char * | gamma_docstring = "float gamma(float x, float g)\nGamma correction of x with gamma factor g"
static const char * | bias_docstring
static const char * | contrast_docstring
static const char * | boxstep_docstring = "float boxstep(float x,float a)\n if x < a then 0 otherwise 1"
static const char * | linearstep_docstring
static const char * | smoothstep_docstring
static const char * | gaussstep_docstring
static const char * | remap_docstring
static const char * | mix_docstring = "mix(float a,float b,float alpha)\nBlend of a and b according to alpha."
static const char * | hsi_docstring
static const char * | midhsi_docstring
static const char * | rgbtohsl_docstring
static const char * | hsltorgb_docstring
static const char * | saturate_docstring
static const char * | hash_docstring
static const char * | noise_docstring
static const char * | snoise_docstring
static const char * | vnoise_docstring
static const char * | cnoise_docstring
static const char * | snoise4_docstring
static const char * | vnoise4_docstring
static const char * | cnoise4_docstring
static const char * | fbm_docstring
static const char * | vfbm_docstring = "vector vfbm(vector vint octaves=6,float lacunarity=2,float gain=.5)"
static const char * | fbm4_docstring
static const char * | vfbm4_docstring = "vector vfbm4(vector v,float time,int octaves=6,float lacunarity=2,float gain=.5)"
static const char * | cfbm_docstring = "color cfbm(vector vint octaves=6,float lacunarity=2,float gain=.5)"
static const char * | cfbm4_docstring = "color cfbm4(vector v,float time,int octaves=6,float lacunarity=2,float gain=.5)"
static const char * | cellnoise_docstring
static const char * | ccellnoise_docstring
static const char * | pnoise_docstring
const static char * | voronoi_docstring
const static char * | cvoronoi_docstring
const static char * | pvoronoi_docstring
static const char * | dist_docstring
static const char * | length_docstring
static const char * | hypot_docstring
static const char * | dot_docstring
static const char * | norm_docstring
static const char * | cross_docstring
static const char * | angle_docstring
static const char * | ortho_docstring
static const char * | rotate_docstring
static const char * | up_docstring
static const char * | cycle_docstring
static const char * | pick_docstring
static const char * | swatch_docstring
static const char * | choose_docstring
static const char * | wchoose_docstring
static const char * | spline_docstring
SeExpr2::CurveData | voronoi
SeExpr2::CurveFuncX | curve
static const char * | curve_docstring
SeExpr2::CCurveFuncX | ccurve
static const char * | ccurve_docstring
SeExpr2::GetVar | getVar
static const char * | getVar_docstring
SeExpr2::PrintFuncX | printf
static const char * | printf_docstring
static SeExprInternal2::Mutex | mutex
SeExpr2::RandFuncX | rand
SeExpr2::MapFuncX | map
SeExpr2::TriplanarFuncX | triplanar

## Typedef Documentation

## ◆ ConstExaminer

typedef Examiner<true> SeExpr2::ConstExaminer

Definition at line 63 of file ExprWalker.h.

## ◆ ConstWalker

typedef Walker<true> SeExpr2::ConstWalker

Definition at line 64 of file ExprWalker.h.

## ◆ ExprEvalHandle

typedef std::pair<ExprHandle, std::vector<DExpression*> > SeExpr2::ExprEvalHandle

Definition at line 28 of file ExprMultiExpr.h.

## ◆ ExprHandle

typedef std::set<DExpression*>::iterator SeExpr2::ExprHandle

Definition at line 27 of file ExprMultiExpr.h.

## ◆ Statistics

typedef std::map<std::string, double> SeExpr2::Statistics

Definition at line 27 of file ExprFuncX.h.

## ◆ VariableHandle

typedef std::set<GlobalVal*>::iterator SeExpr2::VariableHandle

Definition at line 23 of file ExprMultiExpr.h.

## ◆ VariableSetHandle

typedef std::set<GlobalVal*>::iterator SeExpr2::VariableSetHandle

Definition at line 26 of file ExprMultiExpr.h.

## ◆ Vec1d

using SeExpr2::Vec1d = typedef Vec<double, 1, false>

Definition at line 382 of file Vec.h.

## ◆ Vec1dConstRef

using SeExpr2::Vec1dConstRef = typedef Vec<const double, 1, true>

Definition at line 398 of file Vec.h.

## ◆ Vec1dRef

using SeExpr2::Vec1dRef = typedef Vec<double, 1, true>

Definition at line 390 of file Vec.h.

## ◆ Vec1f

using SeExpr2::Vec1f = typedef Vec<float, 1, false>

Definition at line 386 of file Vec.h.

## ◆ Vec1fConstRef

using SeExpr2::Vec1fConstRef = typedef Vec<const float, 1, true>

Definition at line 402 of file Vec.h.

## ◆ Vec1fRef

using SeExpr2::Vec1fRef = typedef Vec<float, 1, true>

Definition at line 394 of file Vec.h.

## ◆ Vec2d

using SeExpr2::Vec2d = typedef Vec<double, 2, false>

Definition at line 383 of file Vec.h.

## ◆ Vec2dConstRef

using SeExpr2::Vec2dConstRef = typedef Vec<const double, 2, true>

Definition at line 399 of file Vec.h.

## ◆ Vec2dRef

using SeExpr2::Vec2dRef = typedef Vec<double, 2, true>

Definition at line 391 of file Vec.h.

## ◆ Vec2f

using SeExpr2::Vec2f = typedef Vec<float, 2, false>

Definition at line 387 of file Vec.h.

## ◆ Vec2fConstRef

using SeExpr2::Vec2fConstRef = typedef Vec<const float, 2, true>

Definition at line 403 of file Vec.h.

## ◆ Vec2fRef

using SeExpr2::Vec2fRef = typedef Vec<float, 2, true>

Definition at line 395 of file Vec.h.

## ◆ Vec3d

using SeExpr2::Vec3d = typedef Vec<double, 3, false>

Definition at line 384 of file Vec.h.

## ◆ Vec3dConstRef

using SeExpr2::Vec3dConstRef = typedef Vec<const double, 3, true>

Definition at line 400 of file Vec.h.

## ◆ Vec3dRef

using SeExpr2::Vec3dRef = typedef Vec<double, 3, true>

Definition at line 392 of file Vec.h.

## ◆ Vec3f

using SeExpr2::Vec3f = typedef Vec<float, 3, false>

Definition at line 388 of file Vec.h.

## ◆ Vec3fConstRef

using SeExpr2::Vec3fConstRef = typedef Vec<const float, 3, true>

Definition at line 404 of file Vec.h.

## ◆ Vec3fRef

using SeExpr2::Vec3fRef = typedef Vec<float, 3, true>

Definition at line 396 of file Vec.h.

## ◆ Vec4d

using SeExpr2::Vec4d = typedef Vec<double, 4, false>

Definition at line 385 of file Vec.h.

## ◆ Vec4dConstRef

using SeExpr2::Vec4dConstRef = typedef Vec<const double, 4, true>

Definition at line 401 of file Vec.h.

## ◆ Vec4dRef

using SeExpr2::Vec4dRef = typedef Vec<double, 4, true>

Definition at line 393 of file Vec.h.

## ◆ Vec4f

using SeExpr2::Vec4f = typedef Vec<float, 4, false>

Definition at line 389 of file Vec.h.

## ◆ Vec4fConstRef

using SeExpr2::Vec4fConstRef = typedef Vec<const float, 4, true>

Definition at line 405 of file Vec.h.

## ◆ Vec4fRef

using SeExpr2::Vec4fRef = typedef Vec<float, 4, true>

Definition at line 397 of file Vec.h.

## Function Documentation

## ◆ acosd()

double SeExpr2::acosd | ( | double | x | ) |
| inline

Definition at line 34 of file ExprBuiltins.h.

References deg(), and x.

Referenced by defineBuiltins().

## ◆ angle()

double SeExpr2::angle | ( | const Vec3d & | a,
|  | const Vec3d & | b
| ) |  |

Definition at line 1095 of file ExprBuiltins.cpp.

References a, b, dot(), and length().

Referenced by defineBuiltins(), deg(), rad(), rotate(), and up().

## ◆ asind()

double SeExpr2::asind | ( | double | x | ) |
| inline

Definition at line 35 of file ExprBuiltins.h.

References deg(), and x.

Referenced by defineBuiltins().

## ◆ atan2d()

double SeExpr2::atan2d | ( | double | y,
|  | double | x
| ) |  |
| inline

Definition at line 37 of file ExprBuiltins.h.

References deg(), x, and y.

Referenced by defineBuiltins().

## ◆ atand()

double SeExpr2::atand | ( | double | x | ) |
| inline

Definition at line 36 of file ExprBuiltins.h.

References deg(), and x.

Referenced by defineBuiltins().

## ◆ bias()

double SeExpr2::bias | ( | double | x,
|  | double | b
| ) |  |

Definition at line 110 of file ExprBuiltins.cpp.

References b, pow(), and x.

Referenced by contrast(), and defineBuiltins().

## ◆ boxstep()

double SeExpr2::boxstep | ( | double | x,
|  | double | a
| ) |  |

Definition at line 128 of file ExprBuiltins.cpp.

References a, and x.

Referenced by defineBuiltins(), gaussstep(), linearstep(), and smoothstep().

## ◆ ccellnoise()

Vec3d SeExpr2::ccellnoise | ( | const Vec3d & | p | ) |

Definition at line 738 of file ExprBuiltins.cpp.

References p.

Referenced by cvoronoiFn(), defineBuiltins(), and voronoi_points().

## ◆ CellNoise()

template<int d_in, int d_out, class T >

void SeExpr2::CellNoise | ( | const T * | in,
|  | T * | out
| ) |  |

Computes cellular noise (non-interpolated piecewise constant cell random values)

Cellular noise with input and output dimensionality.

Definition at line 150 of file Noise.cpp.

References floorSSE, and index().

## ◆ cellnoise()

double SeExpr2::cellnoise | ( | const Vec3d & | p | ) |

Definition at line 727 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins(), and voronoiFn().

## ◆ CellNoise< 3, 1, double >()

template void SeExpr2::CellNoise< 3, 1, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ CellNoise< 3, 3, double >()

template void SeExpr2::CellNoise< 3, 3, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ cfbm()

Vec3d SeExpr2::cfbm | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 721 of file ExprBuiltins.cpp.

References vfbm().

Referenced by defineBuiltins().

## ◆ cfbm4()

Vec3d SeExpr2::cfbm4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 724 of file ExprBuiltins.cpp.

References vfbm4().

Referenced by defineBuiltins().

## ◆ choose()

double SeExpr2::choose | ( | int | n,
|  | double * | params
| ) |  |

Definition at line 1207 of file ExprBuiltins.cpp.

References clamp().

Referenced by defineBuiltins(), and swatch().

## ◆ chooseDefaultEvaluationStrategy()

static Expression::EvaluationStrategy SeExpr2::chooseDefaultEvaluationStrategy | ( |  | ) |
| static

Definition at line 46 of file Expression.cpp.

References SeExpr2::Expression::debugging, SeExpr2::Expression::UseInterpreter, and SeExpr2::Expression::UseLLVM.

## ◆ clamp()

double SeExpr2::clamp | ( | double | x,
|  | double | lo,
|  | double | hi
| ) |  |
| inline

Definition at line 40 of file ExprBuiltins.h.

References x.

Referenced by CCurveScene::addPoint(), CurveScene::addPoint(), choose(), SeExpr2::Curve< T >::clampCurveSegment(), cvoronoiFn(), defineBuiltins(), fbm(), fbm4(), VectorControl::getColor(), main(), CCurveScene::mouseMoveEvent(), CurveScene::mouseMoveEvent(), ExprChannelSlider::mouseMoveEvent(), CCurveScene::mousePressEvent(), CurveScene::mousePressEvent(), pvoronoiFn(), CCurveScene::selPosChanged(), CurveScene::selPosChanged(), ExprColorCurve::selPosChanged(), CurveScene::selValChanged(), ExprCurve::selValChanged(), spline(), turbulence(), VectorControl::updateControl(), vfbm(), vfbm4(), voronoiFn(), and vturbulence().

## ◆ cnoise()

Vec3d SeExpr2::cnoise | ( | const Vec3d & | p | ) |

Definition at line 521 of file ExprBuiltins.cpp.

References p, and vnoise().

Referenced by defineBuiltins().

## ◆ cnoise4()

Vec3d SeExpr2::cnoise4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 546 of file ExprBuiltins.cpp.

References vnoise4().

Referenced by defineBuiltins().

## ◆ compress()

double SeExpr2::compress | ( | double | x,
|  | double | lo,
|  | double | hi
| ) |  |

Definition at line 92 of file ExprBuiltins.cpp.

References x.

Referenced by defineBuiltins().

## ◆ contrast()

double SeExpr2::contrast | ( | double | x,
|  | double | c
| ) |  |

Definition at line 118 of file ExprBuiltins.cpp.

References bias(), and x.

Referenced by defineBuiltins().

## ◆ copyVarToPromotedPosition()

void SeExpr2::copyVarToPromotedPosition | ( | Interpreter * | interpreter,
|  | ExprLocalVar * | varSource,
|  | ExprLocalVar * | varDest
| ) |  |

Definition at line 763 of file Interpreter.cpp.

References SeExpr2::Interpreter::addOp(), SeExpr2::Interpreter::addOperand(), SeExpr2::ExprType::dim(), SeExpr2::Interpreter::endOp(), f(), SeExpr2::ExprType::isFP(), SeExpr2::ExprType::isString(), SeExpr2::ExprLocalVar::type(), and SeExpr2::Interpreter::varToLoc.

Referenced by SeExpr2::ExprIfThenElseNode::buildInterpreter().

## ◆ cosd()

double SeExpr2::cosd | ( | double | x | ) |
| inline

Definition at line 31 of file ExprBuiltins.h.

References rad(), and x.

Referenced by defineBuiltins().

## ◆ cross()

Vec3d SeExpr2::cross | ( | const Vec3d & | a,
|  | const Vec3d & | b
| ) |  |

Definition at line 1088 of file ExprBuiltins.cpp.

References a, and b.

Referenced by defineBuiltins(), and ortho().

## ◆ cturbulence()

Vec3d SeExpr2::cturbulence | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 599 of file ExprBuiltins.cpp.

References vturbulence().

Referenced by defineBuiltins().

## ◆ cvoronoi()

SeExpr2::CachedVoronoiFunc ExprFuncSimple SeExpr2::cvoronoi | ( | cvoronoiFn |  | ) |

Referenced by defineBuiltins().

## ◆ cvoronoiFn()

Vec3d SeExpr2::cvoronoiFn | ( | VoronoiPointData & | data,
|  | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 900 of file ExprBuiltins.cpp.

References ccellnoise(), clamp(), length(), p, pos1, smoothstep(), vfbm(), voronoi_f1_3d(), and voronoi_f1f2_3d().

## ◆ cycle()

double SeExpr2::cycle | ( | double | index,
|  | double | loRange,
|  | double | hiRange
| ) |  |

Definition at line 1131 of file ExprBuiltins.cpp.

References hiRange, index(), and loRange.

Referenced by defineBuiltins().

## ◆ defineBuiltins()

void SeExpr2::defineBuiltins | ( | ExprFunc::Define | define,
|  | ExprFunc::Define3 | define3
| ) |  |

Definition at line 1603 of file ExprBuiltins.cpp.

References acosd(), angle(), asind(), atan2d(), atand(), bias(), boxstep(), ccellnoise(), ccurve, cellnoise(), cfbm(), cfbm4(), choose(), clamp(), cnoise(), cnoise4(), compress(), contrast(), cosd(), cross(), cturbulence(), curve, cvoronoi(), cycle(), deg(), dist(), dot(), expand(), fbm(), fbm4(), fit(), FUNCADOC, FUNCDOC, FUNCNDOC, gamma(), gaussstep(), getVar, hash(), hsi(), hsltorgb(), hypot(), invert(), length(), linearstep(), max(), midhsi(), min(), mix(), noise(), norm(), ortho(), pick(), pnoise(), pow(), printf, pvoronoi(), rad(), remap(), rgbtohsl(), rotate(), round(), saturate(), sin(), sind(), smoothstep(), snoise(), snoise4(), spline(), swatch(), tand(), turbulence(), up(), vfbm(), vfbm4(), vnoise(), vnoise4(), voronoi, vturbulence(), and wchoose().

Referenced by SeExpr2::ExprFunc::initInternal().

## ◆ defineInternal()

static void SeExpr2::defineInternal | ( | const char * | name,
|  | ExprFunc | f
| ) |  |
| inline static

Definition at line 138 of file ExprFunc.cpp.

References f().

Referenced by SeExpr2::ExprFunc::define(), and SeExpr2::ExprFunc::initInternal().

## ◆ defineInternal3()

static void SeExpr2::defineInternal3 | ( | const char * | name,
|  | ExprFunc | f,
|  | const char * | docString
| ) |  |
| inline static

Definition at line 144 of file ExprFunc.cpp.

References f().

Referenced by SeExpr2::ExprFunc::define(), SeExpr2::ExprFunc::initInternal(), and SeExpr2::ExprFunc::loadPlugin().

## ◆ deg()

double SeExpr2::deg | ( | double | angle | ) |
| inline

Definition at line 29 of file ExprBuiltins.h.

References angle().

Referenced by acosd(), asind(), atan2d(), atand(), and defineBuiltins().

## ◆ dist()

double SeExpr2::dist | ( | double | ax,
|  | double | ay,
|  | double | az,
|  | double | bx,
|  | double | by,
|  | double | bz
| ) |  |

Definition at line 1052 of file ExprBuiltins.cpp.

References x, y, and z.

Referenced by defineBuiltins(), voronoi_f1_3d(), and voronoi_f1f2_3d().

## ◆ dot()

double SeExpr2::dot | ( | const Vec3d & | a,
|  | const Vec3d & | b
| ) |  |

Definition at line 1072 of file ExprBuiltins.cpp.

References a, and b.

Referenced by angle(), and defineBuiltins().

## ◆ expand()

double SeExpr2::expand | ( | double | x,
|  | double | lo,
|  | double | hi
| ) |  |

Definition at line 95 of file ExprBuiltins.cpp.

References x.

Referenced by defineBuiltins().

## ◆ ExprParse()

bool SeExpr2::ExprParse | ( | SeExpr2::ExprNode *& | parseTree,
|  | std::string & | error,
|  | int & | errorStart,
|  | int & | errorEnd,
|  | std::vector< std::pair< int, int > > & | _comments,
|  | const SeExpr2::Expression * | expr,
|  | const char * | str,
|  | bool | wantVec = `true`
| ) |  |

Referenced by SeExpr2::Expression::parse().

## ◆ FBM()

template<int d_in, int d_out, bool turbulence, class T >

void SeExpr2::FBM | ( | const T * | in,
|  | T * | out,
|  | int | octaves,
|  | T | lacunarity,
|  | T | gain
| ) |  |

Fractional Brownian Motion. If turbulence is true then turbulence computed.

Noise with d_in dimensional domain, d_out dimensional abcissa If turbulence is true then Perlin's turbulence is computed

Definition at line 192 of file Noise.cpp.

References turbulence().

## ◆ fbm()

double SeExpr2::fbm | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 601 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

## ◆ fbm4()

double SeExpr2::fbm4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 658 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

## ◆ FBM< 3, 1, false, double >()

template void SeExpr2::FBM< 3, 1, false, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ FBM< 3, 1, true, double >()

template void SeExpr2::FBM< 3, 1, true, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ FBM< 3, 3, false, double >()

template void SeExpr2::FBM< 3, 3, false, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ FBM< 3, 3, true, double >()

template void SeExpr2::FBM< 3, 3, true, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ FBM< 4, 1, false, double >()

template void SeExpr2::FBM< 4, 1, false, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ FBM< 4, 3, false, double >()

template void SeExpr2::FBM< 4, 3, false, double > | ( | const double * | ,
|  | double * | ,
|  | int | ,
|  | double | ,
|  | double |
| ) |  |

## ◆ findComment()

std::string SeExpr2::findComment | ( | const ExprNode & | node | ) |
| inline

Checks if there is whitespace in the range specified in the string.

Definition at line 75 of file ControlSpec.cpp.

References SeExpr2::ExprNode::endPos(), SeExpr2::ExprNode::expr(), expr(), and isWS().

Referenced by SeExpr2::ExprScalarAssignSpec::ExprScalarAssignSpec(), SeExpr2::ExprVectorAssignSpec::ExprVectorAssignSpec(), and SeExpr2::ExprStrSpec::match().

## ◆ fit()

double SeExpr2::fit | ( | double | x,
|  | double | a1,
|  | double | b1,
|  | double | a2,
|  | double | b2
| ) |  |

Definition at line 101 of file ExprBuiltins.cpp.

References a1, a2, b1, and x.

Referenced by defineBuiltins().

## ◆ Func0Op()

int SeExpr2::Func0Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 67 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func1Op()

int SeExpr2::Func1Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 71 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func1VOp()

int SeExpr2::Func1VOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 106 of file ExprFuncStandard.cpp.

References SeExpr2::Vec< double, 3, false >::copy().

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func1VVOp()

int SeExpr2::Func1VVOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 115 of file ExprFuncStandard.cpp.

References SeExpr2::Vec< double, 3, false >::copy().

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func2Op()

int SeExpr2::Func2Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 75 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func2VOp()

int SeExpr2::Func2VOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 110 of file ExprFuncStandard.cpp.

References SeExpr2::Vec< double, 3, false >::copy().

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func2VVOp()

int SeExpr2::Func2VVOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 121 of file ExprFuncStandard.cpp.

References SeExpr2::Vec< double, 3, false >::copy().

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func3Op()

int SeExpr2::Func3Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 79 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func4Op()

int SeExpr2::Func4Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 83 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func5Op()

int SeExpr2::Func5Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 88 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ Func6Op()

int SeExpr2::Func6Op | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 93 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ FuncNOp()

int SeExpr2::FuncNOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 98 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ FuncNVOp()

int SeExpr2::FuncNVOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 127 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ FuncNVVOp()

int SeExpr2::FuncNVVOp | ( | int * | opData,
|  | double * | fp,
|  | char ** | c,
|  | std::vector< int > & | callStack
| ) |  |

Definition at line 135 of file ExprFuncStandard.cpp.

Referenced by SeExpr2::ExprFuncStandard::buildInterpreter().

## ◆ gamma()

double SeExpr2::gamma | ( | double | x,
|  | double | g
| ) |  |

Definition at line 107 of file ExprBuiltins.cpp.

References pow(), and x.

Referenced by defineBuiltins().

## ◆ gaussstep()

double SeExpr2::gaussstep | ( | double | x,
|  | double | a,
|  | double | b
| ) |  |

Definition at line 160 of file ExprBuiltins.cpp.

References a, b, boxstep(), pow(), and x.

Referenced by defineBuiltins(), and remap().

## ◆ getTemplatizedOp()

template<template< int d > class T, class T_FUNCTYPE = Interpreter::OpF>

T_FUNCTYPE SeExpr2::getTemplatizedOp | ( | int | i | ) |

Return the function f encapsulated in class T for the dynamic i converted to a static d.

Definition at line 127 of file Interpreter.h.

References f().

## ◆ getTemplatizedOp2()

template<char c, template< char c1, int d > class T>

static Interpreter::OpF SeExpr2::getTemplatizedOp2 | ( | int | i | ) |
| static

Return the function f encapsulated in class T for the dynamic i converted to a static d. (partial application of.

Definition at line 111 of file Interpreter.cpp.

References f().

Referenced by SeExpr2::ExprCompareNode::buildInterpreter().

## ◆ hasCurveNumArgs()

bool SeExpr2::hasCurveNumArgs | ( | const ExprFuncNode * | testee | ) |
| inline

numChildren must be multiple of 3 plus 1

Definition at line 73 of file ExprPatterns.h.

References SeExpr2::ExprNode::numChildren().

Referenced by isCcurveFunc(), and isCurveFunc().

## ◆ hash()

double SeExpr2::hash | ( | int | n,
|  | double * | args
| ) |  |

Definition at line 409 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins(), and pick().

## ◆ hashReduce()

template<int d>

uint32_t SeExpr2::hashReduce | ( | uint32_t | index[d] | ) |

Does a hash reduce to an integer.

Definition at line 64 of file Noise.cpp.

References index(), and p.

## ◆ hashReduceChar()

template<int d>

unsigned char SeExpr2::hashReduceChar | ( | int | index[d] | ) |

Does a hash reduce to a character.

Definition at line 46 of file Noise.cpp.

References index().

## ◆ hsi()

Vec3d SeExpr2::hsi | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 223 of file ExprBuiltins.cpp.

References hsiAdjust().

Referenced by defineBuiltins().

## ◆ hsiAdjust()

Vec3d SeExpr2::hsiAdjust | ( | const Vec3d & | rgb,
|  | double | h,
|  | double | s,
|  | double | i
| ) |  |

Definition at line 216 of file ExprBuiltins.cpp.

References hsltorgb(), and rgbtohsl().

Referenced by hsi(), and midhsi().

## ◆ hsltorgb()

Vec3d SeExpr2::hsltorgb | ( | const Vec3d & | hsl | ) |

Definition at line 350 of file ExprBuiltins.cpp.

References hslvalue(), x, and y.

Referenced by defineBuiltins(), and hsiAdjust().

## ◆ hslvalue()

static double SeExpr2::hslvalue | ( | double | x,
|  | double | y,
|  | double | H
| ) |  |
| static

Definition at line 337 of file ExprBuiltins.cpp.

References x, and y.

Referenced by hsltorgb().

## ◆ hypot()

double SeExpr2::hypot | ( | double | x,
|  | double | y
| ) |  |

Definition at line 1067 of file ExprBuiltins.cpp.

References x, and y.

Referenced by defineBuiltins().

## ◆ initPerlin()

void SeExpr2::initPerlin | ( |  | ) |

## ◆ invert()

double SeExpr2::invert | ( | double | x | ) |
| inline

Definition at line 46 of file ExprBuiltins.h.

References x.

Referenced by defineBuiltins().

## ◆ isAssign()

const ExprAssignNode* SeExpr2::isAssign | ( | const ExprNode * | testee | ) |
| inline

Definition at line 48 of file ExprPatterns.h.

Referenced by isCcurveAssign(), isCurveAssign(), isScalarAssign(), isStrFuncAssign(), and isVectorAssign().

## ◆ isCcurveAssign()

const ExprAssignNode* SeExpr2::isCcurveAssign | ( | const ExprNode * | testee | ) |
| inline

if testee is an assignment statement, check if its sole child is a ccurve function

Definition at line 146 of file ExprPatterns.h.

References isAssign(), and isCcurveFunc().

## ◆ isCcurveFunc()

const ExprFuncNode* SeExpr2::isCcurveFunc | ( | const ExprNode * | testee | ) |
| inline

Definition at line 96 of file ExprPatterns.h.

References hasCurveNumArgs(), isLitVec(), isNamedFunc(), isScalar(), and SeExpr2::ExprNode::numChildren().

Referenced by isCcurveAssign().

## ◆ isCurveAssign()

const ExprAssignNode* SeExpr2::isCurveAssign | ( | const ExprNode * | testee | ) |
| inline

if testee is an assignment statement, check if its sole child is a curve function

Definition at line 138 of file ExprPatterns.h.

References isAssign(), and isCurveFunc().

Referenced by SeExpr2::ExprCurveAssignSpec< T >::match().

## ◆ isCurveFunc()

const ExprFuncNode* SeExpr2::isCurveFunc | ( | const ExprNode * | testee | ) |
| inline

Definition at line 78 of file ExprPatterns.h.

References hasCurveNumArgs(), isNamedFunc(), isScalar(), and SeExpr2::ExprNode::numChildren().

Referenced by isCurveAssign().

## ◆ isFunc()

const ExprFuncNode* SeExpr2::isFunc | ( | const ExprNode * | testee | ) |
| inline

Definition at line 52 of file ExprPatterns.h.

Referenced by isNamedFunc(), and isStrFunc().

## ◆ isLitVec()

const ExprVecNode* SeExpr2::isLitVec | ( | const ExprNode * | testee | ) |
| inline

Definition at line 37 of file ExprPatterns.h.

References isScalar(), and isVector().

Referenced by isCcurveFunc(), and isVectorAssign().

## ◆ isNamedFunc()

const ExprFuncNode* SeExpr2::isNamedFunc | ( | const ExprNode * | testee,
|  | const std::string & | name
| ) |  |
| inline

Definition at line 56 of file ExprPatterns.h.

References isFunc().

Referenced by isCcurveFunc(), and isCurveFunc().

## ◆ isScalar()

const ExprNumNode* SeExpr2::isScalar | ( | const ExprNode * | testee | ) |
| inline

Definition at line 29 of file ExprPatterns.h.

Referenced by isCcurveFunc(), isCurveFunc(), isLitVec(), and isScalarAssign().

## ◆ isScalarAssign()

const ExprAssignNode* SeExpr2::isScalarAssign | ( | const ExprNode * | testee | ) |
| inline

if testee is an assignment statement, check if its sole child is a scalar

Definition at line 114 of file ExprPatterns.h.

References isAssign(), and isScalar().

Referenced by SeExpr2::ExprScalarAssignSpec::match().

## ◆ isStrFunc()

const ExprFuncNode* SeExpr2::isStrFunc | ( | const ExprNode * | testee | ) |
| inline

Definition at line 63 of file ExprPatterns.h.

References SeExpr2::ExprNode::child(), isFunc(), isString(), max(), and SeExpr2::ExprNode::numChildren().

Referenced by isStrFuncAssign().

## ◆ isStrFuncAssign()

const ExprAssignNode* SeExpr2::isStrFuncAssign | ( | const ExprNode * | testee | ) |
| inline

if testee is an assignment statement, check if its sole child is a function with a string argument

Definition at line 130 of file ExprPatterns.h.

References isAssign(), and isStrFunc().

## ◆ isString()

const ExprStrNode* SeExpr2::isString | ( | const ExprNode * | testee | ) |
| inline

Definition at line 44 of file ExprPatterns.h.

Referenced by SeExpr2::ExprBinaryOpNode::buildInterpreter(), isStrFunc(), and SeExpr2::ExprStrSpec::match().

## ◆ isVariable()

const ExprVarNode* SeExpr2::isVariable | ( | const ExprNode * | testee | ) |
| inline

Definition at line 25 of file ExprPatterns.h.

## ◆ isVector()

const ExprVecNode* SeExpr2::isVector | ( | const ExprNode * | testee | ) |
| inline

Definition at line 33 of file ExprPatterns.h.

Referenced by isLitVec().

## ◆ isVectorAssign()

const ExprAssignNode* SeExpr2::isVectorAssign | ( | const ExprNode * | testee | ) |
| inline

if testee is an assignment statement, check if its sole child is a vector

Definition at line 122 of file ExprPatterns.h.

References isAssign(), and isLitVec().

Referenced by SeExpr2::ExprVectorAssignSpec::match().

## ◆ isWS()

bool SeExpr2::isWS | ( | const char * | source,
|  | int | start,
|  | int | end
| ) |  |
| inline

Returns true if no newline separates comment and node.

Definition at line 68 of file ControlSpec.cpp.

References source.

Referenced by findComment().

## ◆ length()

double SeExpr2::length | ( | const Vec3d & | v | ) |

Definition at line 1062 of file ExprBuiltins.cpp.

Referenced by SeExpr2::Expression::addComment(), angle(), cvoronoiFn(), defineBuiltins(), ExprHighlighter::highlightBlock(), norm(), and voronoiFn().

## ◆ linearstep()

double SeExpr2::linearstep | ( | double | x,
|  | double | a,
|  | double | b
| ) |  |

Definition at line 131 of file ExprBuiltins.cpp.

References a, b, boxstep(), and x.

Referenced by defineBuiltins(), and remap().

## ◆ MatchPluginName()

static int SeExpr2::MatchPluginName | ( | const struct dirent * | dir | ) |
| static

Definition at line 208 of file ExprFunc.cpp.

Referenced by SeExpr2::ExprFunc::loadPlugins().

## ◆ max()

double SeExpr2::max | ( | double | x,
|  | double | y
| ) |  |
| inline

Definition at line 42 of file ExprBuiltins.h.

References x, and y.

Referenced by ExprSpecListNode::add(), clamp(), defineBuiltins(), SeExpr2::Curve< T >::getChannelValue(), CCurveScene::getCPixmap(), SeExpr2::Curve< T >::getLowerBoundCV(), SeExpr2::Curve< T >::getValue(), isStrFunc(), ExprSlider::mouseMoveEvent(), NumberControl::NumberControl(), pnoise(), SeExpr2::ExprVecNode::prep(), and VectorControl::updateControl().

## ◆ midhsi()

Vec3d SeExpr2::midhsi | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 247 of file ExprBuiltins.cpp.

References hsiAdjust(), and remap().

Referenced by defineBuiltins().

## ◆ min()

double SeExpr2::min | ( | double | x,
|  | double | y
| ) |  |
| inline

Definition at line 43 of file ExprBuiltins.h.

References x, and y.

Referenced by ExprSpecListNode::add(), clamp(), defineBuiltins(), SeExpr2::Curve< T >::getChannelValue(), CCurveScene::getCPixmap(), SeExpr2::Curve< T >::getLowerBoundCV(), SeExpr2::Curve< T >::getValue(), ExprSlider::mouseMoveEvent(), and VectorControl::updateControl().

## ◆ mix()

double SeExpr2::mix | ( | double | x,
|  | double | y,
|  | double | alpha
| ) |  |

Definition at line 213 of file ExprBuiltins.cpp.

References x, and y.

Referenced by defineBuiltins().

## ◆ Noise()

template<int d_in, int d_out, class T >

void SeExpr2::Noise | ( | const T * | in,
|  | T * | out
| ) |  |

Noise with d_in dimensional domain, d_out dimensional abcissa.

One octave of non-periodic Perlin noise.

Definition at line 163 of file Noise.cpp.

## ◆ noise()

double SeExpr2::noise | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 461 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins().

## ◆ Noise< 1, 1, double >()

template void SeExpr2::Noise< 1, 1, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ Noise< 2, 1, double >()

template void SeExpr2::Noise< 2, 1, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ Noise< 3, 1, double >()

template void SeExpr2::Noise< 3, 1, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ Noise< 3, 3, double >()

template void SeExpr2::Noise< 3, 3, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ Noise< 4, 1, double >()

template void SeExpr2::Noise< 4, 1, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ Noise< 4, 3, double >()

template void SeExpr2::Noise< 4, 3, double > | ( | const double * | ,
|  | double * |
| ) |  |

## ◆ noiseHelper()

template<int d, class T , bool periodic>

T SeExpr2::noiseHelper | ( | const T * | X,
|  | const int * | period = `0`
| ) |  |

Noise with d_in dimensional domain, 1 dimensional abcissa.

Definition at line 91 of file Noise.cpp.

References f(), floorSSE, index(), and s_curve().

## ◆ norm()

Vec3d SeExpr2::norm | ( | const Vec3d & | a | ) |

Definition at line 1077 of file ExprBuiltins.cpp.

References a, and length().

Referenced by defineBuiltins(), and ortho().

## ◆ operator<<()

template<class T , int d, bool r>

std::ostream& SeExpr2::operator<< | ( | std::ostream & | out,
|  | const Vec< T, d, r > & | val
| ) |  |

Output stream.

Definition at line 375 of file Vec.h.

## ◆ ortho()

Vec3d SeExpr2::ortho | ( | const Vec3d & | a,
|  | const Vec3d & | b
| ) |  |

Definition at line 1104 of file ExprBuiltins.cpp.

References a, b, cross(), and norm().

Referenced by defineBuiltins(), and up().

## ◆ pick()

double SeExpr2::pick | ( | int | n,
|  | double * | params
| ) |  |

Definition at line 1146 of file ExprBuiltins.cpp.

References hash(), hiRange, index(), and loRange.

Referenced by defineBuiltins().

## ◆ PNoise()

template<int d_in, int d_out, class T >

void SeExpr2::PNoise | ( | const T * | in,
|  | const int * | period,
|  | T * | out
| ) |  |

Periodic Noise with d_in dimensional domain, d_out dimensional abcissa.

One octave of periodic noise period gives the integer period before tiles repease

Definition at line 177 of file Noise.cpp.

## ◆ pnoise()

double SeExpr2::pnoise | ( | const Vec3d & | p,
|  | const Vec3d & | period
| ) |  |

Definition at line 749 of file ExprBuiltins.cpp.

References max(), and p.

Referenced by defineBuiltins().

## ◆ PNoise< 3, 1, double >()

template void SeExpr2::PNoise< 3, 1, double > | ( | const double * | ,
|  | const int * | ,
|  | double * |
| ) |  |

## ◆ pvoronoi()

SeExpr2::CachedVoronoiFunc ExprFuncSimple SeExpr2::pvoronoi | ( | pvoronoiFn |  | ) |

Referenced by defineBuiltins().

## ◆ pvoronoiFn()

Vec3d SeExpr2::pvoronoiFn | ( | VoronoiPointData & | data,
|  | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 967 of file ExprBuiltins.cpp.

References clamp(), p, pos1, vfbm(), and voronoi_f1_3d().

## ◆ rad()

double SeExpr2::rad | ( | double | angle | ) |
| inline

Definition at line 30 of file ExprBuiltins.h.

References angle().

Referenced by cosd(), defineBuiltins(), sind(), and tand().

## ◆ remap()

double SeExpr2::remap | ( | double | x,
|  | double | source,
|  | double | range,
|  | double | falloff,
|  | double | interp
| ) |  |

Definition at line 177 of file ExprBuiltins.cpp.

References a, b, gaussstep(), linearstep(), smoothstep(), source, and x.

Referenced by defineBuiltins(), and midhsi().

## ◆ rgbtohsl()

Vec3d SeExpr2::rgbtohsl | ( | const Vec3d & | rgb | ) |

Definition at line 285 of file ExprBuiltins.cpp.

References x, and y.

Referenced by defineBuiltins(), and hsiAdjust().

## ◆ rotate()

Vec3d SeExpr2::rotate | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 1109 of file ExprBuiltins.cpp.

References angle(), SeExpr2::Vec< T, d, ref >::length(), and SeExpr2::Vec< T, d, ref >::rotateBy().

Referenced by defineBuiltins().

## ◆ round()

double SeExpr2::round | ( | double | x | ) |
| inline

Definition at line 41 of file ExprBuiltins.h.

References x.

Referenced by defineBuiltins().

## ◆ s_curve()

double SeExpr2::s_curve | ( | double | t | ) |

This is the Quintic interpolant from Perlin's Improved Noise Paper.

Definition at line 42 of file Noise.cpp.

Referenced by noiseHelper().

## ◆ saturate() [1/2]

static Vec3d SeExpr2::saturate | ( | const Vec3d & | Cin,
|  | double | amt
| ) |  |
| static

Definition at line 390 of file ExprBuiltins.cpp.

References SeExpr2::Vec< T, d, ref >::dot().

Referenced by defineBuiltins(), and saturate().

## ◆ saturate() [2/2]

Vec3d SeExpr2::saturate | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 399 of file ExprBuiltins.cpp.

References saturate().

## ◆ sind()

double SeExpr2::sind | ( | double | x | ) |
| inline

Definition at line 32 of file ExprBuiltins.h.

References rad(), sin(), and x.

Referenced by defineBuiltins().

## ◆ smoothstep()

double SeExpr2::smoothstep | ( | double | x,
|  | double | a,
|  | double | b
| ) |  |

Definition at line 143 of file ExprBuiltins.cpp.

References a, b, boxstep(), and x.

Referenced by cvoronoiFn(), defineBuiltins(), remap(), and voronoiFn().

## ◆ snoise()

double SeExpr2::snoise | ( | const Vec3d & | p | ) |

Definition at line 501 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins().

## ◆ snoise4()

double SeExpr2::snoise4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 526 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

## ◆ spline()

double SeExpr2::spline | ( | int | n,
|  | double * | params
| ) |  |

Definition at line 1270 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

## ◆ swatch()

double SeExpr2::swatch | ( | int | n,
|  | double * | params
| ) |  |

Definition at line 1202 of file ExprBuiltins.cpp.

References choose().

Referenced by defineBuiltins().

## ◆ tand()

double SeExpr2::tand | ( | double | x | ) |
| inline

Definition at line 33 of file ExprBuiltins.h.

References rad(), and x.

Referenced by defineBuiltins().

## ◆ turbulence()

double SeExpr2::turbulence | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 551 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins(), and FBM().

## ◆ TypeVec()

ExprType SeExpr2::TypeVec | ( | int | n | ) |
| inline

Quick way to get a vector type i.e. 3 vec is TypeVec(3)

Definition at line 230 of file ExprType.h.

References SeExpr2::ExprType::FP(), and SeExpr2::ExprType::Varying().

Referenced by f().

## ◆ up()

Vec3d SeExpr2::up | ( | const Vec3d & | P,
|  | const Vec3d & | upvec
| ) |  |

Definition at line 1122 of file ExprBuiltins.cpp.

References angle(), ortho(), and SeExpr2::Vec< T, d, ref >::rotateBy().

Referenced by defineBuiltins().

## ◆ vfbm()

Vec3d SeExpr2::vfbm | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 633 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by cfbm(), cvoronoiFn(), defineBuiltins(), pvoronoiFn(), and voronoiFn().

## ◆ vfbm4()

Vec3d SeExpr2::vfbm4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 693 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by cfbm4(), and defineBuiltins().

## ◆ vnoise()

Vec3d SeExpr2::vnoise | ( | const Vec3d & | p | ) |

Definition at line 511 of file ExprBuiltins.cpp.

References p.

Referenced by cnoise(), and defineBuiltins().

## ◆ vnoise4()

Vec3d SeExpr2::vnoise4 | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 536 of file ExprBuiltins.cpp.

Referenced by cnoise4(), and defineBuiltins().

## ◆ voronoi()

SeExpr2::CachedVoronoiFunc ExprFuncSimple SeExpr2::voronoi | ( | voronoiFn |  | ) |

## ◆ voronoi_f1_3d()

static void SeExpr2::voronoi_f1_3d | ( | VoronoiPointData & | data,
|  | const Vec3d & | p,
|  | double | jitter,
|  | double & | f1,
|  | Vec3d & | pos1
| ) |  |
| static

Definition at line 785 of file ExprBuiltins.cpp.

References dist(), SeExpr2::Vec< T, d, ref >::dot(), p, pos1, and voronoi_points().

Referenced by cvoronoiFn(), pvoronoiFn(), and voronoiFn().

## ◆ voronoi_f1f2_3d()

static void SeExpr2::voronoi_f1f2_3d | ( | VoronoiPointData & | data,
|  | const Vec3d & | p,
|  | double | jitter,
|  | double & | f1,
|  | Vec3d & | pos1,
|  | double & | f2,
|  | Vec3d & | pos2
| ) |  |
| static

Definition at line 804 of file ExprBuiltins.cpp.

References dist(), SeExpr2::Vec< T, d, ref >::dot(), p, pos1, and voronoi_points().

Referenced by cvoronoiFn(), and voronoiFn().

## ◆ voronoi_points()

static Vec3d* SeExpr2::voronoi_points | ( | VoronoiPointData & | data,
|  | const Vec3d & | cell,
|  | double | jitter
| ) |  |
| static

Definition at line 768 of file ExprBuiltins.cpp.

References ccellnoise(), SeExpr2::VoronoiPointData::cell, SeExpr2::VoronoiPointData::jitter, and SeExpr2::VoronoiPointData::points.

Referenced by voronoi_f1_3d(), and voronoi_f1f2_3d().

## ◆ voronoiFn()

Vec3d SeExpr2::voronoiFn | ( | VoronoiPointData & | data,
|  | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 834 of file ExprBuiltins.cpp.

References cellnoise(), clamp(), length(), p, pos1, smoothstep(), vfbm(), voronoi_f1_3d(), and voronoi_f1f2_3d().

## ◆ vturbulence()

Vec3d SeExpr2::vturbulence | ( | int | n,
|  | const Vec3d * | args
| ) |  |

Definition at line 575 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by cturbulence(), and defineBuiltins().

## ◆ wchoose()

double SeExpr2::wchoose | ( | int | n,
|  | double * | params
| ) |  |

Definition at line 1219 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

## Variable Documentation

## ◆ acos_docstring

const char* SeExpr2::acos_docstring = "float acos(float angle)\narc cosine in radians"
| static

Definition at line 54 of file ExprBuiltins.cpp.

## ◆ acosd_docstring

const char* SeExpr2::acosd_docstring = "float acosd(float angle)\narc cosine in degrees"
| static

Definition at line 45 of file ExprBuiltins.cpp.

## ◆ acosh_docstring

const char* SeExpr2::acosh_docstring = "float acosh(float angle)\nhyperbolic arc cosine in radians"
| static

Definition at line 62 of file ExprBuiltins.cpp.

## ◆ angle_docstring

const char* SeExpr2::angle_docstring
| static

Initial value:
=
"float angle(vector a,vector b)\n"
"angle between two vectors (in radians)"

Definition at line 1100 of file ExprBuiltins.cpp.

## ◆ asin_docstring

const char* SeExpr2::asin_docstring = "float asin(float angle)\narc sine in radians"
| static

Definition at line 55 of file ExprBuiltins.cpp.

## ◆ asind_docstring

const char* SeExpr2::asind_docstring = "float asind(float angle)\narc sine in degrees"
| static

Definition at line 46 of file ExprBuiltins.cpp.

## ◆ asinh_docstring

const char* SeExpr2::asinh_docstring = "float asinh(float angle)\nhyperbolic arc sine in radians"
| static

Definition at line 63 of file ExprBuiltins.cpp.

## ◆ atan2_docstring

const char* SeExpr2::atan2_docstring = "float atan2(float y,float x)\narc tangent in radians of y/x between -PI and PI"
| static

Definition at line 57 of file ExprBuiltins.cpp.

## ◆ atan2d_docstring

const char* SeExpr2::atan2d_docstring
| static

Initial value:
=
"float atan2d(float y,float x)\narc tangent in degrees of y/x between -180 and 180"

Definition at line 48 of file ExprBuiltins.cpp.

## ◆ atan_docstring

const char* SeExpr2::atan_docstring = "float atan(float angle)\narc tangent in radians"
| static

Definition at line 56 of file ExprBuiltins.cpp.

## ◆ atand_docstring

const char* SeExpr2::atand_docstring = "float atand(float angle)\narc tangent in degrees"
| static

Definition at line 47 of file ExprBuiltins.cpp.

## ◆ atanh_docstring

const char* SeExpr2::atanh_docstring = "float atanh(float angle)\nhyperbolic arc tangent in radians"
| static

Definition at line 64 of file ExprBuiltins.cpp.

## ◆ bias_docstring

const char* SeExpr2::bias_docstring
| static

Initial value:
=
"float bias(float x, float g)\nVariation of gamma where values less than 0.5 pull the curve down\nand values "
"greater than 0.5 pull the curve up\npow(x,log(b)/log(0.5))"

Definition at line 114 of file ExprBuiltins.cpp.

## ◆ boxstep_docstring

const char* SeExpr2::boxstep_docstring = "float boxstep(float x,float a)\n if x < a then 0 otherwise 1"
| static

Definition at line 129 of file ExprBuiltins.cpp.

## ◆ cbrt_docstring

const char* SeExpr2::cbrt_docstring = "float cbrt(float x)\ncube root"
| static

Definition at line 75 of file ExprBuiltins.cpp.

## ◆ ccellnoise_docstring

const char* SeExpr2::ccellnoise_docstring
| static

Initial value:
=
"color cellnoise(vector v)\n"
"cellnoise generates a field of constant colored cubes based on the integer location.\n"
"This is the same as the prman cellnoise function."

Definition at line 744 of file ExprBuiltins.cpp.

## ◆ ccurve

SeExpr2::CCurveFuncX SeExpr2::ccurve

Referenced by defineBuiltins().

## ◆ ccurve_docstring

const char* SeExpr2::ccurve_docstring
| static

Initial value:
=
"color curve(float param,float pos0,color val0,int interp0,float pos1,color val1,int interp1,[...])\n\n"
"Interpolates color ramp given by control points at 'param'. Control points are specified \n"
"by triples of parameters pos_i, val_i, and interp_i. Interpolation codes are \n"
"0 - none, 1 - linear, 2 - smooth, 3 - spline, \n"
"4 - monotone (non oscillating spline)"

Definition at line 1396 of file ExprBuiltins.cpp.

## ◆ ceil_docstring

const char* SeExpr2::ceil_docstring = "float ceil(float a)\nnext higher integer"
| static

Definition at line 72 of file ExprBuiltins.cpp.

## ◆ cellnoise_docstring

const char* SeExpr2::cellnoise_docstring
| static

Initial value:
=
"float cellnoise(vector v)\n"
"cellnoise generates a field of constant colored cubes based on the integer location.\n"
"This is the same as the prman cellnoise function."

Definition at line 733 of file ExprBuiltins.cpp.

## ◆ cfbm4_docstring

const char* SeExpr2::cfbm4_docstring = "color cfbm4(vector v,float time,int octaves=6,float lacunarity=2,float gain=.5)"
| static

Definition at line 725 of file ExprBuiltins.cpp.

## ◆ cfbm_docstring

const char* SeExpr2::cfbm_docstring = "color cfbm(vector vint octaves=6,float lacunarity=2,float gain=.5)"
| static

Definition at line 722 of file ExprBuiltins.cpp.

## ◆ choose_docstring

const char* SeExpr2::choose_docstring
| static

Initial value:
=
"float choose(float index,float choice1, float choice2, [...])\n"
"Chooses one of the supplied choices based on the index (assumed to be in range [0..1])."

Definition at line 1215 of file ExprBuiltins.cpp.

## ◆ clamp_docstring

const char* SeExpr2::clamp_docstring = "float clamp(float x,float lo,float hi)\nconstrain x to range [lo,hi]"
| static

Definition at line 66 of file ExprBuiltins.cpp.

## ◆ cnoise4_docstring

const char* SeExpr2::cnoise4_docstring
| static

Initial value:
=
"color cnoise4 ( vector v,float t)\n"
"4D color noise formed with original perlin noise at location (C2 interpolant)"

Definition at line 547 of file ExprBuiltins.cpp.

## ◆ cnoise_docstring

const char* SeExpr2::cnoise_docstring
| static

Initial value:
=
"color cnoise ( vector v)\n"
"color noise formed with original perlin noise at location (C2 interpolant)"

Definition at line 522 of file ExprBuiltins.cpp.

## ◆ compress_docstring

const char* SeExpr2::compress_docstring = "float compress(float x,float lo,float hi)\nRemaps x in [0,1] to [lo,hi]"
| static

Definition at line 93 of file ExprBuiltins.cpp.

## ◆ contrast_docstring

const char* SeExpr2::contrast_docstring
| static

Initial value:
=
"float contrast(float x,float x)\nAdjust the contrast.&nbsp; For c from 0 to 0.5, the contrast is decreased.&nbsp; "
"For c &gt; 0.5, the contrast is increased."

Definition at line 124 of file ExprBuiltins.cpp.

## ◆ cos_docstring

const char* SeExpr2::cos_docstring = "float cos(float angle)\ncosine in radians"
| static

Definition at line 51 of file ExprBuiltins.cpp.

## ◆ cosd_docstring

const char* SeExpr2::cosd_docstring = "float cosd(float angle)\ncosine in degrees"
| static

Definition at line 42 of file ExprBuiltins.cpp.

## ◆ cosh_docstring

const char* SeExpr2::cosh_docstring = "float cosh(float angle)\nhyperbolic cosine in radians"
| static

Definition at line 59 of file ExprBuiltins.cpp.

## ◆ cross_docstring

const char* SeExpr2::cross_docstring
| static

Initial value:
=
"vector cross(vector a,vector b)\n"
"vector cross product"

Definition at line 1091 of file ExprBuiltins.cpp.

## ◆ cturbulence_docstring

const char* SeExpr2::cturbulence_docstring
| static

Initial value:
=
"color cturbulence(vector v,int octaves=6,float lacunarity=2,float gain=.5)\nAbsolute value of each noise term is "
"taken. This gives billowy appearance"

Definition at line 85 of file ExprBuiltins.cpp.

## ◆ curve

SeExpr2::CurveFuncX SeExpr2::curve

Referenced by AnimCurveEditable::appendString(), defineBuiltins(), ExprCurve::openDetail(), and ExprColorCurve::openDetail().

## ◆ curve_docstring

const char* SeExpr2::curve_docstring
| static

Initial value:
=
"float curve(float param,float pos0,float val0,int interp0,float pos1,float val1,int interp1,[...])\n\n"
"Interpolates a 1D ramp defined by control points at 'param'. Control points are specified \n"
"by triples of parameters pos_i, val_i, and interp_i. Interpolation codes are \n"
"0 - none, 1 - linear, 2 - smooth, 3 - spline, \n"
"4-monotone (non oscillating spline)"

Definition at line 1341 of file ExprBuiltins.cpp.

## ◆ cvoronoi_docstring

const static char* SeExpr2::cvoronoi_docstring
| static

Initial value:
=
"color cvoronoi(vector v, int type=1,float jitter=0.5, float fbmScale=0, int fbmOctaves=4,float fbmLacunarity=2, "
"float fbmGain=.5)\n"
"returns color in cellular pattern. It is a jittered variant of cellnoise."

Definition at line 962 of file ExprBuiltins.cpp.

## ◆ cycle_docstring

const char* SeExpr2::cycle_docstring
| static

Initial value:
=
"int cycle(int index, int loRange, int hiRange )\n"
"Cycles through values between loRange and hiRange based on supplied index.\n"
"This is an offset \"mod\" function. The result is rotates v such that the\n"
"Y axis points in the given up direction"

Definition at line 1140 of file ExprBuiltins.cpp.

## ◆ deg_docstring

const char* SeExpr2::deg_docstring = "float deg(float angle)\nradians to degrees"
| static

Definition at line 39 of file ExprBuiltins.cpp.

## ◆ dist_docstring

const char* SeExpr2::dist_docstring
| static

Initial value:
=
"float dist(vector a, vector b)\n"
"distance between two points"

Definition at line 1058 of file ExprBuiltins.cpp.

## ◆ dot_docstring

const char* SeExpr2::dot_docstring
| static

Initial value:
=
"float dot(vector a,vector b)\n"
"vector dot product"

Definition at line 1073 of file ExprBuiltins.cpp.

## ◆ exp_docstring

const char* SeExpr2::exp_docstring = "float exp(float x)\nE raised to the x power"
| static

Definition at line 77 of file ExprBuiltins.cpp.

## ◆ expand_docstring

const char* SeExpr2::expand_docstring = "float expand(float x,float lo,float hi)\nRemaps x in [lo,hi] to [0,1]"
| static

Definition at line 99 of file ExprBuiltins.cpp.

## ◆ fabs_docstring

const char* SeExpr2::fabs_docstring = "float abs(float x)\nabsolute value of x"
| static

Definition at line 36 of file ExprBuiltins.cpp.

## ◆ fbm4_docstring

const char* SeExpr2::fbm4_docstring
| static

Initial value:
=
"float fbm4(vector v,float time,int octaves=6,float lacunarity=2,float gain=.5)\n"
"fbm (Fractal Brownian Motion) is a multi-frequency noise function. \n"
"The base frequency is the same as the \"noise\" function. The total \n"
"number of frequencies is controlled by octaves. The lacunarity is the \n"
"spacing between the frequencies - a value of 2 means each octave is \n"
"twice the previous frequency. The gain< controls how much each \n"
"frequency is scaled relative to the previous frequency."

Definition at line 684 of file ExprBuiltins.cpp.

## ◆ fbm_docstring

const char* SeExpr2::fbm_docstring
| static

Initial value:
=
"float fbm(vector v,int octaves=6,float lacunarity=2,float gain=.5)\n"
"fbm (Fractal Brownian Motion) is a multi-frequency noise function. \n"
"The base frequency is the same as the \"noise\" function. The total \n"
"number of frequencies is controlled by octaves. The lacunarity is the \n"
"spacing between the frequencies - a value of 2 means each octave is \n"
"twice the previous frequency. The gain< controls how much each \n"
"frequency is scaled relative to the previous frequency."

Definition at line 624 of file ExprBuiltins.cpp.

## ◆ fit_docstring

const char* SeExpr2::fit_docstring
| static

Initial value:
=
"float fit(float x,float a1,float b1,float a2,float b2)\nLinearly remaps x in [a1,b1] to [a2,b2]"

Definition at line 104 of file ExprBuiltins.cpp.

## ◆ floor_docstring

const char* SeExpr2::floor_docstring = "float floor(float a)\nnext lower integer"
| static

Definition at line 71 of file ExprBuiltins.cpp.

## ◆ fmod_docstring

const char* SeExpr2::fmod_docstring = "float fmod(float x,float y)\nremainder of x/y (also available as % operator)"
| static

Definition at line 81 of file ExprBuiltins.cpp.

## ◆ gamma_docstring

const char* SeExpr2::gamma_docstring = "float gamma(float x, float g)\nGamma correction of x with gamma factor g"
| static

Definition at line 108 of file ExprBuiltins.cpp.

## ◆ gaussstep_docstring

const char* SeExpr2::gaussstep_docstring
| static

Initial value:
=
"float gasussstep(float x,float a,float b)\n if x &lt; a then 0, if x &gt; b then 1, and\nx transitions smoothly "
"(exponentially) when &lt; x &lt; b"

Definition at line 173 of file ExprBuiltins.cpp.

## ◆ getVar

SeExpr2::GetVar SeExpr2::getVar

Referenced by defineBuiltins().

## ◆ getVar_docstring

const char* SeExpr2::getVar_docstring
| static

Initial value:
=
"getVar(string varName,vector defaultValue)\n"
"return value of varName if variable exists, otherwise return defaultValue"

Definition at line 1458 of file ExprBuiltins.cpp.

## ◆ hash_docstring

const char* SeExpr2::hash_docstring
| static

Initial value:
=
"float hash(float seed1,[float seed2, ...])\n"
"Like rand, but with no internal seeds. Any number of seeds may be given\n"
"and the result will be a random function based on all the seeds."

Definition at line 456 of file ExprBuiltins.cpp.

## ◆ hsi_docstring

const char* SeExpr2::hsi_docstring
| static

Initial value:
=
"color hsi(color x, float h, float s, float i, float map=1)\n"
"The hsi function shifts the hue by h\n"
"(in degrees) and scales the saturation and intensity by s and i\n"
"respectively.&nbsp; An map may be supplied which will control the shift\n"
"- the full shift will happen when the map is one and no shift will\n"
"happen when the map is zero.&nbsp; The shift will be scaled back for\n"
"values between zero and one."

Definition at line 238 of file ExprBuiltins.cpp.

## ◆ hsltorgb_docstring

const char* SeExpr2::hsltorgb_docstring
| static

Initial value:
=
"color hsltorgb(color hsl)\n"
"RGB to HSL color space conversion.\n"
"HSL is Hue, Saturation, Lightness (all in range [0..1] )\n"
"These functions have also been extended to support rgb and hsl values\n"
"outside of the range [0..1] in a reasonable way.&nbsp; For any rgb or\n"
"hsl value (except for negative s values), the conversion is\n"
"well-defined and reversible."

Definition at line 381 of file ExprBuiltins.cpp.

## ◆ hypot_docstring

const char* SeExpr2::hypot_docstring
| static

Initial value:
=
"float hypot(vector v)\n"
"length of 2d vector [x,y]"

Definition at line 1068 of file ExprBuiltins.cpp.

## ◆ invert_docstring

const char* SeExpr2::invert_docstring = "float invert(float a)\nDefined as 1-x"
| static

Definition at line 74 of file ExprBuiltins.cpp.

## ◆ length_docstring

const char* SeExpr2::length_docstring
| static

Initial value:
=
"float length(vector v)\n"
"length of vector"

Definition at line 1063 of file ExprBuiltins.cpp.

## ◆ linearstep_docstring

const char* SeExpr2::linearstep_docstring
| static

Initial value:
=
"float linearstep(float x,float a,float b)\n if x &lt; a then 0, if x &gt; b then 1, and\nx transitions linearly "
"when &lt; x &lt; b "

Definition at line 139 of file ExprBuiltins.cpp.

## ◆ log10_docstring

const char* SeExpr2::log10_docstring = "float log10(float x)\nBase 10 logarithm"
| static

Definition at line 80 of file ExprBuiltins.cpp.

## ◆ log_docstring

const char* SeExpr2::log_docstring = "float log(float x)\nNatural logarithm"
| static

Definition at line 79 of file ExprBuiltins.cpp.

## ◆ map

SeExpr2::MapFuncX SeExpr2::map

Referenced by deleteAndClear(), and main().

## ◆ max_docstring

const char* SeExpr2::max_docstring = "float max(float a,float b)\ngreater of a and b"
| static

Definition at line 68 of file ExprBuiltins.cpp.

## ◆ midhsi_docstring

const char* SeExpr2::midhsi_docstring
| static

Initial value:
=
"color midhsi(color x, float h, float s, float i, float map, float falloff=1, int interp=0)\n"
"The midhsi function is just like the hsi function except that\n"
"the control map is centered around the mid point (value of 0.5)\n"
"and can scale the shift in both directions."

Definition at line 279 of file ExprBuiltins.cpp.

## ◆ min_docstring

const char* SeExpr2::min_docstring = "float min(float a,float b)\nlesser of a and b"
| static

Definition at line 69 of file ExprBuiltins.cpp.

## ◆ mix_docstring

const char* SeExpr2::mix_docstring = "mix(float a,float b,float alpha)\nBlend of a and b according to alpha."
| static

Definition at line 214 of file ExprBuiltins.cpp.

## ◆ mutex

SeExprInternal2::Mutex SeExpr2::mutex
| static

Definition at line 110 of file ExprFunc.cpp.

Referenced by SeExpr2::ExprFunc::cleanup(), SeExpr2::ExprFunc::define(), SeExpr2::ExprFunc::getDocString(), SeExpr2::ExprFunc::getFunctionNames(), SeExpr2::ExprFunc::init(), SeExpr2::ExprFunc::lookup(), SeExpr2::ExprFunc::sizeInBytes(), and SeExpr2::ExprFunc::statistics().

## ◆ noise_docstring

const char* SeExpr2::noise_docstring
| static

Initial value:
=
"float noise ( vector v ) <br>\n"
"float noise ( float x, float y )\n"
"float noise ( float x, float y, float z )\n"
"float noise ( float x, float y, float z, float w )\n"
"Original perlin noise at location (C2 interpolant)"

Definition at line 494 of file ExprBuiltins.cpp.

## ◆ norm_docstring

const char* SeExpr2::norm_docstring
| static

Initial value:
=
"vector norm(vector v)\n"
"vector scaled to unit length"

Definition at line 1084 of file ExprBuiltins.cpp.

## ◆ ortho_docstring

const char* SeExpr2::ortho_docstring
| static

Initial value:
=
"vector angle(vector a,vector b)\n"
"normalized vector orthogonal to a and b scaled to unit length"

Definition at line 1105 of file ExprBuiltins.cpp.

## ◆ pick_docstring

const char* SeExpr2::pick_docstring
| static

Initial value:
=
"int pick(float index, int loRange, int hiRange, [float weights, ...] )\n"
"Picks values randomly between loRange and hiRange based on supplied index (which is\n"
"automatically hashed).&nbsp; The values will be distributed according\n"
"to the supplied weights.&nbsp; Any weights not supplied are assumed to\n"
"be 1.0."

Definition at line 1195 of file ExprBuiltins.cpp.

## ◆ pnoise_docstring

const char* SeExpr2::pnoise_docstring
| static

Initial value:
=
"float pnoise ( vector v, vector period )\n"
"periodic noise"

Definition at line 758 of file ExprBuiltins.cpp.

## ◆ pow_docstring

const char* SeExpr2::pow_docstring = "float pow(float x)\nx to the y power, also available as ^"
| static

Definition at line 78 of file ExprBuiltins.cpp.

## ◆ printf

SeExpr2::PrintFuncX SeExpr2::printf

Referenced by defineBuiltins().

## ◆ printf_docstring

const char* SeExpr2::printf_docstring
| static

Initial value:
=
"printf(string format,[vec0, vec1, ...])\n"
"Prints out a string to STDOUT, Format parameter allowed is %v"

Definition at line 1561 of file ExprBuiltins.cpp.

## ◆ pvoronoi_docstring

const static char* SeExpr2::pvoronoi_docstring
| static

Initial value:
=
"color pvoronoi(vector v, int type=1,float jitter=0.5, float fbmScale=0, int fbmOctaves=4,float fbmLacunarity=2, "
"float fbmGain=.5)\n"
"returns center of voronoi cell."

Definition at line 1005 of file ExprBuiltins.cpp.

## ◆ rad_docstring

const char* SeExpr2::rad_docstring = "float deg(float angle)\ndegrees to radians"
| static

Definition at line 40 of file ExprBuiltins.cpp.

## ◆ rand

SeExpr2::RandFuncX SeExpr2::rand

Referenced by main().

## ◆ remap_docstring

const char* SeExpr2::remap_docstring
| static

Initial value:
=
"remap(float x, float\n"
"source, float range, float falloff, float interp)\nGeneral remapping function.\n"
"When x is within +/- <i>range</i> of source, the result is one.\n"
"The result falls to zero beyond that range over <i>falloff</i> distance.\n"
"The falloff shape is controlled by <i>interp</i>. Numeric values\n"
"or named constants may be used:\n"
"&nbsp;&nbsp;&nbsp;&nbsp;int <b>linear</b>\n"
"= 0\n"
"&nbsp;&nbsp;&nbsp;&nbsp;int <b>smooth</b> = 1\n"
"&nbsp;&nbsp;&nbsp;&nbsp;int <b>gaussian</b> = 2\n"

Definition at line 201 of file ExprBuiltins.cpp.

## ◆ rgbtohsl_docstring

const char* SeExpr2::rgbtohsl_docstring
| static

Initial value:
=
"color rgbtohsl(color rgb)\n"
"RGB to HSL color space conversion.\n"
"HSL is Hue, Saturation, Lightness (all in range [0..1] )\n"
"These functions have also been extended to support rgb and hsl values\n"
"outside of the range [0..1] in a reasonable way.&nbsp; For any rgb or\n"
"hsl value (except for negative s values), the conversion is\n"
"well-defined and reversible."

Definition at line 328 of file ExprBuiltins.cpp.

## ◆ rotate_docstring

const char* SeExpr2::rotate_docstring
| static

Initial value:
=
"vector rotate(vector v,vector axis,float angle)\n"
"rotates v around axis by given angle (in radians)"

Definition at line 1118 of file ExprBuiltins.cpp.

## ◆ round_docstring

const char* SeExpr2::round_docstring = "float round(float x)\nconstrain x to range [lo,hi]"
| static

Definition at line 67 of file ExprBuiltins.cpp.

## ◆ saturate_docstring

const char* SeExpr2::saturate_docstring
| static

Initial value:
=
"color saturate(color val, float amt)\n"
"Scale saturation of color by amt.\n"
"The color is scaled around the rec709 luminance value,\n"
"and negative results are clamped at zero.\n"

Definition at line 403 of file ExprBuiltins.cpp.

## ◆ sin_docstring

const char* SeExpr2::sin_docstring = "float sin(float angle)\nsine in radians"
| static

Definition at line 52 of file ExprBuiltins.cpp.

## ◆ sind_docstring

const char* SeExpr2::sind_docstring = "float sind(float angle)\nsine in degrees"
| static

Definition at line 43 of file ExprBuiltins.cpp.

## ◆ sinh_docstring

const char* SeExpr2::sinh_docstring = "float sinh(float angle)\nhyperbolic sine in radians"
| static

Definition at line 60 of file ExprBuiltins.cpp.

## ◆ smoothstep_docstring

const char* SeExpr2::smoothstep_docstring
| static

Initial value:
=
"float smoothstep(float x,float a,float b)\n if x &lt; a then 0, if x &gt; b then 1, and\nx transitions smoothly "
"(cubic) when &lt; x &lt; b"

Definition at line 156 of file ExprBuiltins.cpp.

## ◆ snoise4_docstring

const char* SeExpr2::snoise4_docstring
| static

Initial value:
=
"float snoise4 ( vector v,float t)\n"
"4D signed noise w/ range -1 to 1 formed with original perlin noise at location (C2 interpolant)"

Definition at line 532 of file ExprBuiltins.cpp.

## ◆ snoise_docstring

const char* SeExpr2::snoise_docstring
| static

Initial value:
=
"float snoise ( vector v)\n"
"signed noise w/ range -1 to 1 formed with original perlin noise at location (C2 interpolant)"

Definition at line 507 of file ExprBuiltins.cpp.

## ◆ spline_docstring

const char* SeExpr2::spline_docstring
| static

Initial value:
=
"float spline(float param,float y1,float y2,float y3,float y4,[...])\n\n"
"Interpolates a set of values to the parameter specified where y1, ..., yn are\n"
"distributed evenly from [0...1]"

Definition at line 1284 of file ExprBuiltins.cpp.

## ◆ sqrt_docstring

const char* SeExpr2::sqrt_docstring = "float sqrt(float x)\nsquare root"
| static

Definition at line 76 of file ExprBuiltins.cpp.

## ◆ swatch_docstring

const char* SeExpr2::swatch_docstring
| static

Initial value:
=
"color swatch(float index, color choice0, color choice1, color choice2, [...])\n"
"Chooses one of the supplied color choices based on the index (assumed to be in range [0..1])."

Definition at line 1203 of file ExprBuiltins.cpp.

## ◆ tan_docstring

const char* SeExpr2::tan_docstring = "float tan(float angle)\ntangent in radians"
| static

Definition at line 53 of file ExprBuiltins.cpp.

## ◆ tand_docstring

const char* SeExpr2::tand_docstring = "float tand(float angle)\ntangent in degrees"
| static

Definition at line 44 of file ExprBuiltins.cpp.

## ◆ tanh_docstring

const char* SeExpr2::tanh_docstring = "float tanh(float angle)\nhyperbolic tangent in radians"
| static

Definition at line 61 of file ExprBuiltins.cpp.

## ◆ triplanar

SeExpr2::TriplanarFuncX SeExpr2::triplanar

Referenced by main().

## ◆ trunc_docstring

const char* SeExpr2::trunc_docstring = "float trunc(float a)\nnearest integer towards zero"
| static

Definition at line 70 of file ExprBuiltins.cpp.

## ◆ turbulence_docstring

const char* SeExpr2::turbulence_docstring
| static

Initial value:
=
"float turbulence(vector v,int octaves=6,float lacunarity=2,float gain=.5)\nAbsolute value of each noise term is "
"taken. This gives billowy appearance"

Definition at line 82 of file ExprBuiltins.cpp.

## ◆ up_docstring

const char* SeExpr2::up_docstring
| static

Initial value:
=
"vector up(vector P,vector upvec)\n"
"rotates v such that the Y axis points in the given up direction"

Definition at line 1127 of file ExprBuiltins.cpp.

## ◆ vfbm4_docstring

const char* SeExpr2::vfbm4_docstring = "vector vfbm4(vector v,float time,int octaves=6,float lacunarity=2,float gain=.5)"
| static

Definition at line 719 of file ExprBuiltins.cpp.

## ◆ vfbm_docstring

const char* SeExpr2::vfbm_docstring = "vector vfbm(vector vint octaves=6,float lacunarity=2,float gain=.5)"
| static

Definition at line 656 of file ExprBuiltins.cpp.

## ◆ vnoise4_docstring

const char* SeExpr2::vnoise4_docstring
| static

Initial value:
=
"vector vnoise4 ( vector v,float t)\n"
"4D vector noise formed with original perlin noise at location (C2 interpolant)"

Definition at line 542 of file ExprBuiltins.cpp.

## ◆ vnoise_docstring

const char* SeExpr2::vnoise_docstring
| static

Initial value:
=
"vector vnoise ( vector v)\n"
"vector noise formed with original perlin noise at location (C2 interpolant)"

Definition at line 517 of file ExprBuiltins.cpp.

## ◆ voronoi

SeExpr2::CurveData SeExpr2::voronoi

Referenced by defineBuiltins().

## ◆ voronoi_docstring

const static char* SeExpr2::voronoi_docstring
| static

Initial value:
=
"float voronoi(vector v, int type=1,float jitter=0.5, float fbmScale=0, int fbmOctaves=4,float fbmLacunarity=2, "
"float fbmGain=.5)\n"
"voronoi is a cellular noise pattern. It is a jittered variant of cellnoise."

Definition at line 895 of file ExprBuiltins.cpp.

## ◆ vturbulence_docstring

const char* SeExpr2::vturbulence_docstring
| static

Initial value:
=
"vector vturbulence(vector v,int octaves=6,float lacunarity=2,float gain=.5)\nAbsolute value of each noise term is "
"taken. This gives billowy appearance"

Definition at line 88 of file ExprBuiltins.cpp.

## ◆ wchoose_docstring

const char* SeExpr2::wchoose_docstring
| static

Initial value:
=
"float wchoose(float index,float choice1, float weight1, float choice2, float weight2, [...] )\n"
"Chooses one of the supplied choices based on the index (assumed to be in range[0..1]).\n"
"The values will be distributed according to the supplied weights."

Definition at line 1265 of file ExprBuiltins.cpp.