17 #ifndef _ExprSpecType_h_
18 #define _ExprSpecType_h_
20 #include <SeExpr2/Vec.h>
23 #include <SeExpr2/Curve.h>
33 :startPos(startPos),endPos(endPos)
55 v=
SeExpr2::Vec3d(static_cast<ExprSpecScalarNode*>(x)->
v,static_cast<ExprSpecScalarNode*>(y)->
v,static_cast<ExprSpecScalarNode*>(z)->
v);
62 std::vector<ExprSpecNode*>
nodes;
70 nodes.push_back(node);
ExprSpecCurveNode(ExprSpecNode *args)
ExprSpecCCurveNode(ExprSpecNode *args)
void add(ExprSpecNode *node)
ExprSpecScalarNode(int startPos, int endPos, double scalar)
std::vector< ExprSpecNode * > nodes
ExprSpecAnimCurveNode(ExprSpecNode *args)
ExprSpecDeepWaterNode(ExprSpecNode *args)
ExprSpecStringNode(int startPos, int endPos, const char *s)
ExprSpecColorSwatchNode(ExprSpecNode *args)
double max(double x, double y)
ExprSpecListNode(int startPos, int endPos)
Vec< double, 3, false > Vec3d
double min(double x, double y)
Mini parse tree node... Only represents literals, and lists of literals.
</pre >< h3 > A simple variable reference</h3 > This is not a very interesting subclass of expression until we add some additional variables Variables on some applications may be very dynamic In this we only need x
This is the same as the prman cellnoise function< br ></div >< br > float< b > float y< br > float< b > float float z
ExprSpecNode(int startPos, int endPos)
ExprSpecVectorNode(int startPos, int endPos, ExprSpecNode *x, ExprSpecNode *y, ExprSpecNode *z)
This is the same as the prman cellnoise function< br ></div >< br > float< b > float y< br > float< b > float y