SeExpr
Classes | Typedefs | Functions | Variables
SeExpr2 Namespace Reference

Classes

class  Context
 
class  ContextUtils
 
class  Curve
 Interpolation curve class for double->double and double->Vec3D. More...
 
class  LLVMEvaluator
 
struct  VoronoiPointData
 
class  CachedVoronoiFunc
 
struct  CurveData
 
class  CurveFuncX
 
class  CCurveFuncX
 
class  GetVar
 
class  PrintFuncX
 
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  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 scopes. More...
 
struct  ExprEvalResult
 Evaluation result. More...
 
class  TypePrintExaminer
 
class  ExprVarRef
 abstract class for implementing variable references More...
 
class  Expression
 main expression class More...
 
class  ExprFunc
 Function Definition, used in parse tree and func table. More...
 
class  ExprFuncStandard
 
class  ExprFuncX
 Extension function spec, used for complicated argument custom functions. More...
 
class  ExprFuncSimple
 
class  ExprFuncLocal
 
class  GlobalVal
 
struct  GlobalFP
 
struct  GlobalStr
 
class  DExpression
 
class  Expressions
 
class  ExprNode
 
class  ExprModuleNode
 Node that contains entire program. More...
 
class  ExprPrototypeNode
 Node that contains prototype of function. More...
 
class  ExprLocalFunctionNode
 Node that contains local function. More...
 
class  ExprBlockNode
 Node that computes local variables before evaluating expression. More...
 
class  ExprIfThenElseNode
 Node that computes local variables before evaluating expression. More...
 
class  ExprAssignNode
 Node that compute a local variable assignment. More...
 
class  ExprVecNode
 Node that constructs a vector from three scalars. More...
 
class  ExprUnaryOpNode
 NOde that computes with a single operand. More...
 
class  ExprCondNode
 Node that evaluates a conditional (if-then-else) expression. More...
 
class  ExprSubscriptNode
 Node that evaluates a component of a vector. More...
 
class  ExprCompareEqNode
 Node that implements a numeric/string comparison. More...
 
class  ExprCompareNode
 Node that implements a numeric comparison. More...
 
class  ExprBinaryOpNode
 Node that implements an binary operator. More...
 
class  ExprVarNode
 Node that references a variable. More...
 
class  ExprNumNode
 Node that stores a numeric constant. More...
 
class  ExprStrNode
 Node that stores a string. More...
 
class  ExprFuncNode
 Node that calls a function. More...
 
class  ExprNodePolicy
 Policy which provides all the AST Types for the parser. More...
 
class  ExprType
 
struct  ADD_CONST
 
struct  ADD_CONST< T, true >
 
class  Examiner
 
class  Walker
 
struct  Promote
 Promotes a FP[1] to FP[d]. More...
 
class  Interpreter
 
class  Timer
 
class  PrintTiming
 
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...
 
struct  seexpr_static_assert
 Static assert error case (false) More...
 
struct  seexpr_static_assert< true, T >
 Static assert success case. More...
 
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...
 
struct  static_if
 Static conditional type true case. More...
 
struct  static_if< false, T1, T2 >
 Static conditional type false case. More...
 
struct  Reducer
 
struct  Reducer< T, 1 >
 
struct  Reducer< T, 2 >
 
struct  Reducer< T, 3 >
 
struct  Reducer< T, 4 >
 
class  Vec
 
class  ControlSpec
 Generic Expression control specification. More...
 
class  ExprScalarAssignSpec
 Variable equals scalar control specification. More...
 
class  ExprVectorAssignSpec
 Variable equals vector control specification. More...
 
class  ExprCurveAssignSpec
 Curve assignment expression. Assignment of curve to a variable. More...
 
class  ExprStrSpec
 
class  SpecExaminer
 Examiner that builds a list of specs potentially used in widgets (for qdgui) More...
 
class  ImageSynthExpr
 Simple image synthesizer expression class to support our function grapher.
 
class  RandFuncX
 
class  MapFuncX
 
class  TriplanarFuncX
 

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 Vec3dvoronoi_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 ExprVarNodeisVariable (const ExprNode *testee)
 
const ExprNumNodeisScalar (const ExprNode *testee)
 
const ExprVecNodeisVector (const ExprNode *testee)
 
const ExprVecNodeisLitVec (const ExprNode *testee)
 
const ExprStrNodeisString (const ExprNode *testee)
 
const ExprAssignNodeisAssign (const ExprNode *testee)
 
const ExprFuncNodeisFunc (const ExprNode *testee)
 
const ExprFuncNodeisNamedFunc (const ExprNode *testee, const std::string &name)
 
const ExprFuncNodeisStrFunc (const ExprNode *testee)
 
bool hasCurveNumArgs (const ExprFuncNode *testee)
 
const ExprFuncNodeisCurveFunc (const ExprNode *testee)
 
const ExprFuncNodeisCcurveFunc (const ExprNode *testee)
 
const ExprAssignNodeisScalarAssign (const ExprNode *testee)
 
const ExprAssignNodeisVectorAssign (const ExprNode *testee)
 
const ExprAssignNodeisStrFuncAssign (const ExprNode *testee)
 
const ExprAssignNodeisCurveAssign (const ExprNode *testee)
 
const ExprAssignNodeisCcurveAssign (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 floorSSE (double val)
 
double roundSSE (double val)
 
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>
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
 
static const char * voronoi_docstring
 
static const char * cvoronoi_docstring
 
static const 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

Definition at line 63 of file ExprWalker.h.

Definition at line 64 of file ExprWalker.h.

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

Definition at line 28 of file ExprMultiExpr.h.

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

Definition at line 27 of file ExprMultiExpr.h.

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

Definition at line 27 of file ExprFuncX.h.

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

Definition at line 23 of file ExprMultiExpr.h.

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

Definition at line 26 of file ExprMultiExpr.h.

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

Definition at line 366 of file Vec.h.

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

Definition at line 382 of file Vec.h.

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

Definition at line 374 of file Vec.h.

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

Definition at line 370 of file Vec.h.

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

Definition at line 386 of file Vec.h.

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

Definition at line 378 of file Vec.h.

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

Definition at line 367 of file Vec.h.

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

Definition at line 383 of file Vec.h.

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

Definition at line 375 of file Vec.h.

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

Definition at line 371 of file Vec.h.

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

Definition at line 387 of file Vec.h.

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

Definition at line 379 of file Vec.h.

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

Definition at line 368 of file Vec.h.

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

Definition at line 384 of file Vec.h.

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

Definition at line 376 of file Vec.h.

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

Definition at line 372 of file Vec.h.

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

Definition at line 388 of file Vec.h.

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

Definition at line 380 of file Vec.h.

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

Definition at line 369 of file Vec.h.

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

Definition at line 385 of file Vec.h.

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

Definition at line 377 of file Vec.h.

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

Definition at line 373 of file Vec.h.

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

Definition at line 389 of file Vec.h.

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

Definition at line 381 of file Vec.h.

Function Documentation

double SeExpr2::acosd ( double  x)
inline

Definition at line 34 of file ExprBuiltins.h.

References deg().

Referenced by defineBuiltins().

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

Definition at line 1094 of file ExprBuiltins.cpp.

References dot(), and length().

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

double SeExpr2::asind ( double  x)
inline

Definition at line 35 of file ExprBuiltins.h.

References deg().

Referenced by defineBuiltins().

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

Definition at line 37 of file ExprBuiltins.h.

References deg().

Referenced by defineBuiltins().

double SeExpr2::atand ( double  x)
inline

Definition at line 36 of file ExprBuiltins.h.

References deg().

Referenced by defineBuiltins().

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

Definition at line 109 of file ExprBuiltins.cpp.

References pow().

Referenced by contrast(), and defineBuiltins().

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

Definition at line 127 of file ExprBuiltins.cpp.

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

Vec3d SeExpr2::ccellnoise ( const Vec3d &  p)

Definition at line 737 of file ExprBuiltins.cpp.

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

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 143 of file Noise.cpp.

References floorSSE(), and index().

double SeExpr2::cellnoise ( const Vec3d &  p)

Definition at line 726 of file ExprBuiltins.cpp.

Referenced by defineBuiltins(), and voronoiFn().

template void SeExpr2::CellNoise< 3, 1, double > ( const double *  ,
double *   
)
template void SeExpr2::CellNoise< 3, 3, double > ( const double *  ,
double *   
)
Vec3d SeExpr2::cfbm ( int  n,
const Vec3d *  args 
)

Definition at line 720 of file ExprBuiltins.cpp.

References vfbm().

Referenced by defineBuiltins().

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

Definition at line 723 of file ExprBuiltins.cpp.

References vfbm4().

Referenced by defineBuiltins().

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

Definition at line 1208 of file ExprBuiltins.cpp.

References clamp().

Referenced by defineBuiltins(), and swatch().

static Expression::EvaluationStrategy SeExpr2::chooseDefaultEvaluationStrategy ( )
static
double SeExpr2::clamp ( double  x,
double  lo,
double  hi 
)
inline
Vec3d SeExpr2::cnoise ( const Vec3d &  p)

Definition at line 520 of file ExprBuiltins.cpp.

References vnoise().

Referenced by defineBuiltins().

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

Definition at line 545 of file ExprBuiltins.cpp.

References vnoise4().

Referenced by defineBuiltins().

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

Definition at line 91 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

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

Definition at line 117 of file ExprBuiltins.cpp.

References bias().

Referenced by defineBuiltins().

void SeExpr2::copyVarToPromotedPosition ( Interpreter *  interpreter,
ExprLocalVar *  varSource,
ExprLocalVar *  varDest 
)
double SeExpr2::cosd ( double  x)
inline

Definition at line 31 of file ExprBuiltins.h.

References rad().

Referenced by defineBuiltins().

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

Definition at line 1087 of file ExprBuiltins.cpp.

Referenced by defineBuiltins(), and ortho().

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

Definition at line 598 of file ExprBuiltins.cpp.

References vturbulence().

Referenced by defineBuiltins().

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

Referenced by defineBuiltins().

Vec3d SeExpr2::cvoronoiFn ( VoronoiPointData &  data,
int  n,
const Vec3d *  args 
)
double SeExpr2::cycle ( double  index,
double  loRange,
double  hiRange 
)

Definition at line 1130 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

void SeExpr2::defineBuiltins ( ExprFunc::Define  define,
ExprFunc::Define3  define3 
)
static void SeExpr2::defineInternal ( const char *  name,
ExprFunc  f 
)
inlinestatic

Definition at line 129 of file ExprFunc.cpp.

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

static void SeExpr2::defineInternal3 ( const char *  name,
ExprFunc  f,
const char *  docString 
)
inlinestatic
double SeExpr2::deg ( double  angle)
inline

Definition at line 29 of file ExprBuiltins.h.

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

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

Definition at line 1051 of file ExprBuiltins.cpp.

References x, y, and z.

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

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

Definition at line 1071 of file ExprBuiltins.cpp.

Referenced by angle(), and defineBuiltins().

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

Definition at line 94 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

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 
)
template<int d_in, int d_out, bool turbulence, class T >
void SeExpr2::FBM ( const T *  in,
T *  out,
int  octaves,
lacunarity,
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 185 of file Noise.cpp.

References turbulence().

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

Definition at line 600 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

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

Definition at line 657 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

template void SeExpr2::FBM< 3, 1, false, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
template void SeExpr2::FBM< 3, 1, true, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
template void SeExpr2::FBM< 3, 3, false, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
template void SeExpr2::FBM< 3, 3, true, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
template void SeExpr2::FBM< 4, 1, false, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
template void SeExpr2::FBM< 4, 3, false, double > ( const double *  ,
double *  ,
int  ,
double  ,
double   
)
std::string SeExpr2::findComment ( const ExprNode &  node)
inline
double SeExpr2::fit ( double  x,
double  a1,
double  b1,
double  a2,
double  b2 
)

Definition at line 100 of file ExprBuiltins.cpp.

References a1.

Referenced by defineBuiltins().

double SeExpr2::floorSSE ( double  val)
inline

Definition at line 28 of file Noise.cpp.

Referenced by CellNoise(), and noiseHelper().

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().

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().

int SeExpr2::Func1VOp ( int *  opData,
double *  fp,
char **  c,
std::vector< int > &  callStack 
)
int SeExpr2::Func1VVOp ( int *  opData,
double *  fp,
char **  c,
std::vector< int > &  callStack 
)
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().

int SeExpr2::Func2VOp ( int *  opData,
double *  fp,
char **  c,
std::vector< int > &  callStack 
)
int SeExpr2::Func2VVOp ( int *  opData,
double *  fp,
char **  c,
std::vector< int > &  callStack 
)
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().

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().

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().

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().

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().

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

Definition at line 126 of file ExprFuncStandard.cpp.

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

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

Definition at line 134 of file ExprFuncStandard.cpp.

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

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

Definition at line 106 of file ExprBuiltins.cpp.

References pow().

Referenced by defineBuiltins().

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

Definition at line 159 of file ExprBuiltins.cpp.

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

Referenced by defineBuiltins(), and remap().

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().

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 88 of file Interpreter.cpp.

References f().

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

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().

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

Definition at line 408 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins(), and pick().

template<int d>
uint32_t SeExpr2::hashReduce ( uint32_t  index[d])

Does a hash reduce to an integer.

Definition at line 57 of file Noise.cpp.

References index(), and p.

template<int d>
unsigned char SeExpr2::hashReduceChar ( int  index[d])

Does a hash reduce to a character.

Definition at line 39 of file Noise.cpp.

References index().

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

Definition at line 222 of file ExprBuiltins.cpp.

References hsiAdjust().

Referenced by defineBuiltins().

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

Definition at line 215 of file ExprBuiltins.cpp.

References hsltorgb(), and rgbtohsl().

Referenced by hsi(), and midhsi().

Vec3d SeExpr2::hsltorgb ( const Vec3d &  hsl)

Definition at line 349 of file ExprBuiltins.cpp.

References hslvalue(), x, and y.

Referenced by defineBuiltins(), and hsiAdjust().

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

Definition at line 336 of file ExprBuiltins.cpp.

References x, and y.

Referenced by hsltorgb().

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

Definition at line 1066 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

void SeExpr2::initPerlin ( )
double SeExpr2::invert ( double  x)
inline

Definition at line 46 of file ExprBuiltins.h.

References x.

Referenced by defineBuiltins().

const ExprAssignNode* SeExpr2::isAssign ( const ExprNode *  testee)
inline
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().

const ExprFuncNode* SeExpr2::isCcurveFunc ( const ExprNode *  testee)
inline
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().

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().

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

Definition at line 52 of file ExprPatterns.h.

Referenced by isNamedFunc(), and isStrFunc().

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().

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().

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

Definition at line 29 of file ExprPatterns.h.

Referenced by isCcurveFunc(), isCurveFunc(), isLitVec(), and 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().

const ExprFuncNode* SeExpr2::isStrFunc ( const ExprNode *  testee)
inline
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().

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

Definition at line 44 of file ExprPatterns.h.

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

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

Definition at line 25 of file ExprPatterns.h.

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

Definition at line 33 of file ExprPatterns.h.

Referenced by isLitVec().

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().

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.

Referenced by findComment().

double SeExpr2::length ( const Vec3d &  v)
double SeExpr2::linearstep ( double  x,
double  a,
double  b 
)

Definition at line 130 of file ExprBuiltins.cpp.

References a, b, and boxstep().

Referenced by defineBuiltins(), and remap().

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

Definition at line 199 of file ExprFunc.cpp.

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

double SeExpr2::max ( double  x,
double  y 
)
inline
Vec3d SeExpr2::midhsi ( int  n,
const Vec3d *  args 
)

Definition at line 246 of file ExprBuiltins.cpp.

References hsiAdjust(), and remap().

Referenced by defineBuiltins().

double SeExpr2::min ( double  x,
double  y 
)
inline
double SeExpr2::mix ( double  x,
double  y,
double  alpha 
)

Definition at line 212 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

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 156 of file Noise.cpp.

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

Definition at line 460 of file ExprBuiltins.cpp.

References p.

Referenced by defineBuiltins().

template void SeExpr2::Noise< 1, 1, double > ( const double *  ,
double *   
)
template void SeExpr2::Noise< 2, 1, double > ( const double *  ,
double *   
)
template void SeExpr2::Noise< 3, 1, double > ( const double *  ,
double *   
)
template void SeExpr2::Noise< 3, 3, double > ( const double *  ,
double *   
)
template void SeExpr2::Noise< 4, 1, double > ( const double *  ,
double *   
)
template void SeExpr2::Noise< 4, 3, double > ( const double *  ,
double *   
)
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 84 of file Noise.cpp.

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

Vec3d SeExpr2::norm ( const Vec3d &  a)

Definition at line 1076 of file ExprBuiltins.cpp.

References length().

Referenced by defineBuiltins(), and ortho().

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 359 of file Vec.h.

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

Definition at line 1103 of file ExprBuiltins.cpp.

References cross(), and norm().

Referenced by defineBuiltins(), and up().

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

Definition at line 1145 of file ExprBuiltins.cpp.

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

Referenced by defineBuiltins().

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 170 of file Noise.cpp.

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

Definition at line 748 of file ExprBuiltins.cpp.

References max().

Referenced by defineBuiltins().

template void SeExpr2::PNoise< 3, 1, double > ( const double *  ,
const int *  ,
double *   
)
SeExpr2::CachedVoronoiFunc ExprFuncSimple SeExpr2::pvoronoi ( pvoronoiFn  )

Referenced by defineBuiltins().

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

Definition at line 966 of file ExprBuiltins.cpp.

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

double SeExpr2::rad ( double  angle)
inline

Definition at line 30 of file ExprBuiltins.h.

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

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

Definition at line 176 of file ExprBuiltins.cpp.

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

Referenced by defineBuiltins(), and midhsi().

Vec3d SeExpr2::rgbtohsl ( const Vec3d &  rgb)

Definition at line 284 of file ExprBuiltins.cpp.

References x, and y.

Referenced by defineBuiltins(), and hsiAdjust().

Vec3d SeExpr2::rotate ( int  n,
const Vec3d *  args 
)
double SeExpr2::round ( double  x)
inline

Definition at line 41 of file ExprBuiltins.h.

Referenced by defineBuiltins().

double SeExpr2::roundSSE ( double  val)
inline

Definition at line 30 of file Noise.cpp.

double SeExpr2::s_curve ( double  t)

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

Definition at line 35 of file Noise.cpp.

Referenced by noiseHelper().

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

Definition at line 389 of file ExprBuiltins.cpp.

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

Referenced by defineBuiltins(), and saturate().

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

Definition at line 398 of file ExprBuiltins.cpp.

References saturate().

double SeExpr2::sind ( double  x)
inline

Definition at line 32 of file ExprBuiltins.h.

References rad(), and sin().

Referenced by defineBuiltins().

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

Definition at line 142 of file ExprBuiltins.cpp.

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

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

double SeExpr2::snoise ( const Vec3d &  p)

Definition at line 500 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

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

Definition at line 525 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

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

Definition at line 1271 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins().

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

Definition at line 1201 of file ExprBuiltins.cpp.

References choose().

Referenced by defineBuiltins().

double SeExpr2::tand ( double  x)
inline

Definition at line 33 of file ExprBuiltins.h.

References rad().

Referenced by defineBuiltins().

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

Definition at line 550 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by defineBuiltins(), and FBM().

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().

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

Definition at line 1121 of file ExprBuiltins.cpp.

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

Referenced by defineBuiltins().

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

Definition at line 632 of file ExprBuiltins.cpp.

References clamp(), and p.

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

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

Definition at line 692 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by cfbm4(), and defineBuiltins().

Vec3d SeExpr2::vnoise ( const Vec3d &  p)

Definition at line 510 of file ExprBuiltins.cpp.

Referenced by cnoise(), and defineBuiltins().

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

Definition at line 535 of file ExprBuiltins.cpp.

Referenced by cnoise4(), and defineBuiltins().

SeExpr2::CachedVoronoiFunc ExprFuncSimple SeExpr2::voronoi ( voronoiFn  )
static void SeExpr2::voronoi_f1_3d ( VoronoiPointData &  data,
const Vec3d &  p,
double  jitter,
double &  f1,
Vec3d &  pos1 
)
static

Definition at line 784 of file ExprBuiltins.cpp.

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

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

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 803 of file ExprBuiltins.cpp.

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

Referenced by cvoronoiFn(), and voronoiFn().

static Vec3d* SeExpr2::voronoi_points ( VoronoiPointData &  data,
const Vec3d &  cell,
double  jitter 
)
static
Vec3d SeExpr2::voronoiFn ( VoronoiPointData &  data,
int  n,
const Vec3d *  args 
)
Vec3d SeExpr2::vturbulence ( int  n,
const Vec3d *  args 
)

Definition at line 574 of file ExprBuiltins.cpp.

References clamp(), and p.

Referenced by cturbulence(), and defineBuiltins().

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

Definition at line 1220 of file ExprBuiltins.cpp.

Referenced by defineBuiltins().

Variable Documentation

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

Definition at line 53 of file ExprBuiltins.cpp.

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

Definition at line 44 of file ExprBuiltins.cpp.

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

Definition at line 61 of file ExprBuiltins.cpp.

const char* SeExpr2::angle_docstring
static
Initial value:
=
"float angle(vector a,vector b)\n"
"angle between two vectors (in radians)"

Definition at line 1099 of file ExprBuiltins.cpp.

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

Definition at line 54 of file ExprBuiltins.cpp.

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

Definition at line 45 of file ExprBuiltins.cpp.

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

Definition at line 62 of file ExprBuiltins.cpp.

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 56 of file ExprBuiltins.cpp.

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 47 of file ExprBuiltins.cpp.

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

Definition at line 55 of file ExprBuiltins.cpp.

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

Definition at line 46 of file ExprBuiltins.cpp.

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

Definition at line 63 of file ExprBuiltins.cpp.

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 113 of file ExprBuiltins.cpp.

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

Definition at line 128 of file ExprBuiltins.cpp.

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

Definition at line 74 of file ExprBuiltins.cpp.

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 743 of file ExprBuiltins.cpp.

SeExpr2::CCurveFuncX SeExpr2::ccurve

Referenced by defineBuiltins().

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 1397 of file ExprBuiltins.cpp.

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

Definition at line 71 of file ExprBuiltins.cpp.

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 732 of file ExprBuiltins.cpp.

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

Definition at line 724 of file ExprBuiltins.cpp.

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

Definition at line 721 of file ExprBuiltins.cpp.

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 1216 of file ExprBuiltins.cpp.

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

Definition at line 65 of file ExprBuiltins.cpp.

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 546 of file ExprBuiltins.cpp.

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 521 of file ExprBuiltins.cpp.

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 92 of file ExprBuiltins.cpp.

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 123 of file ExprBuiltins.cpp.

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

Definition at line 50 of file ExprBuiltins.cpp.

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

Definition at line 41 of file ExprBuiltins.cpp.

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

Definition at line 58 of file ExprBuiltins.cpp.

const char* SeExpr2::cross_docstring
static
Initial value:
=
"vector cross(vector a,vector b)\n"
"vector cross product"

Definition at line 1090 of file ExprBuiltins.cpp.

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 84 of file ExprBuiltins.cpp.

SeExpr2::CurveFuncX SeExpr2::curve
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 1342 of file ExprBuiltins.cpp.

const 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 961 of file ExprBuiltins.cpp.

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 1139 of file ExprBuiltins.cpp.

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

Definition at line 38 of file ExprBuiltins.cpp.

const char* SeExpr2::dist_docstring
static
Initial value:
=
"float dist(vector a, vector b)\n"
"distance between two points"

Definition at line 1057 of file ExprBuiltins.cpp.

const char* SeExpr2::dot_docstring
static
Initial value:
=
"float dot(vector a,vector b)\n"
"vector dot product"

Definition at line 1072 of file ExprBuiltins.cpp.

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

Definition at line 76 of file ExprBuiltins.cpp.

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 98 of file ExprBuiltins.cpp.

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

Definition at line 35 of file ExprBuiltins.cpp.

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 683 of file ExprBuiltins.cpp.

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 623 of file ExprBuiltins.cpp.

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 103 of file ExprBuiltins.cpp.

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

Definition at line 70 of file ExprBuiltins.cpp.

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

Definition at line 80 of file ExprBuiltins.cpp.

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

Definition at line 107 of file ExprBuiltins.cpp.

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 172 of file ExprBuiltins.cpp.

SeExpr2::GetVar SeExpr2::getVar

Referenced by defineBuiltins().

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 1457 of file ExprBuiltins.cpp.

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 455 of file ExprBuiltins.cpp.

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 237 of file ExprBuiltins.cpp.

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 380 of file ExprBuiltins.cpp.

const char* SeExpr2::hypot_docstring
static
Initial value:
=
"float hypot(vector v)\n"
"length of 2d vector [x,y]"

Definition at line 1067 of file ExprBuiltins.cpp.

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

Definition at line 73 of file ExprBuiltins.cpp.

const char* SeExpr2::length_docstring
static
Initial value:
=
"float length(vector v)\n"
"length of vector"

Definition at line 1062 of file ExprBuiltins.cpp.

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 138 of file ExprBuiltins.cpp.

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

Definition at line 79 of file ExprBuiltins.cpp.

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

Definition at line 78 of file ExprBuiltins.cpp.

SeExpr2::MapFuncX SeExpr2::map

Referenced by main().

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

Definition at line 67 of file ExprBuiltins.cpp.

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 278 of file ExprBuiltins.cpp.

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

Definition at line 68 of file ExprBuiltins.cpp.

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

Definition at line 213 of file ExprBuiltins.cpp.

SeExprInternal2::Mutex SeExpr2::mutex
static
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 493 of file ExprBuiltins.cpp.

const char* SeExpr2::norm_docstring
static
Initial value:
=
"vector norm(vector v)\n"
"vector scaled to unit length"

Definition at line 1083 of file ExprBuiltins.cpp.

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 1104 of file ExprBuiltins.cpp.

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 1194 of file ExprBuiltins.cpp.

const char* SeExpr2::pnoise_docstring
static
Initial value:
=
"float pnoise ( vector v, vector period )\n"
"periodic noise"

Definition at line 757 of file ExprBuiltins.cpp.

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

Definition at line 77 of file ExprBuiltins.cpp.

SeExpr2::PrintFuncX SeExpr2::printf

Referenced by defineBuiltins().

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 1559 of file ExprBuiltins.cpp.

const 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 1004 of file ExprBuiltins.cpp.

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

Definition at line 39 of file ExprBuiltins.cpp.

SeExpr2::RandFuncX SeExpr2::rand

Referenced by main().

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 200 of file ExprBuiltins.cpp.

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 327 of file ExprBuiltins.cpp.

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 1117 of file ExprBuiltins.cpp.

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

Definition at line 66 of file ExprBuiltins.cpp.

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 402 of file ExprBuiltins.cpp.

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

Definition at line 51 of file ExprBuiltins.cpp.

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

Definition at line 42 of file ExprBuiltins.cpp.

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

Definition at line 59 of file ExprBuiltins.cpp.

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 155 of file ExprBuiltins.cpp.

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 531 of file ExprBuiltins.cpp.

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 506 of file ExprBuiltins.cpp.

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 1285 of file ExprBuiltins.cpp.

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

Definition at line 75 of file ExprBuiltins.cpp.

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 1204 of file ExprBuiltins.cpp.

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

Definition at line 52 of file ExprBuiltins.cpp.

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

Definition at line 43 of file ExprBuiltins.cpp.

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

Definition at line 60 of file ExprBuiltins.cpp.

SeExpr2::TriplanarFuncX SeExpr2::triplanar

Referenced by main().

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

Definition at line 69 of file ExprBuiltins.cpp.

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 81 of file ExprBuiltins.cpp.

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 1126 of file ExprBuiltins.cpp.

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

Definition at line 718 of file ExprBuiltins.cpp.

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

Definition at line 655 of file ExprBuiltins.cpp.

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 541 of file ExprBuiltins.cpp.

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 516 of file ExprBuiltins.cpp.

SeExpr2::CurveData SeExpr2::voronoi

Referenced by defineBuiltins().

const 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 894 of file ExprBuiltins.cpp.

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 87 of file ExprBuiltins.cpp.

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 1266 of file ExprBuiltins.cpp.