47 mu::Parser xParser, yParser, zParser;
49 xParser.SetExpr(xExp);
50 yParser.SetExpr(yExp);
51 zParser.SetExpr(zExp);
53 mu::value_type uVar = 0;
55 xParser.DefineVar(
"u", &uVar); xParser.DefineVar(
"U", &uVar);
56 yParser.DefineVar(
"u", &uVar); yParser.DefineVar(
"U", &uVar);
57 zParser.DefineVar(
"u", &uVar); zParser.DefineVar(
"U", &uVar);
59 mu::value_type iVar = 0;
61 xParser.DefineVar(
"i", &iVar); xParser.DefineVar(
"I", &iVar);
62 yParser.DefineVar(
"i", &iVar); yParser.DefineVar(
"I", &iVar);
63 zParser.DefineVar(
"i", &iVar); zParser.DefineVar(
"I", &iVar);
65 xParser.DefineConst(
"time", (
double)time); xParser.DefineConst(
"Time", (
double)time); xParser.DefineConst(
"TIME", (
double)time);
66 yParser.DefineConst(
"time", (
double)time); yParser.DefineConst(
"Time", (
double)time); yParser.DefineConst(
"TIME", (
double)time);
67 zParser.DefineConst(
"time", (
double)time); zParser.DefineConst(
"Time", (
double)time); zParser.DefineConst(
"TIME", (
double)time);
78 for(
int x = 0; x < subdivisions; x++)
81 uVar =
VuoReal_lerp(uMin, uMax, x/(
float)(subdivisions-1.));
83 uVar = (uMin + uMax)/2.;
87 pointsArray[x] = (VuoPoint3d){
88 (float)xParser.Eval(),
89 (float)yParser.Eval(),
90 (float)zParser.Eval()};
93 catch (mu::Parser::exception_type &e)
95 VUserLog(
"Error: %s", e.GetMsg().c_str());
118 mu::Parser xParser, yParser, zParser;
120 xParser.SetExpr(xExp);
121 yParser.SetExpr(yExp);
122 zParser.SetExpr(zExp);
124 mu::value_type uVar = 0;
125 mu::value_type vVar = 0;
127 xParser.DefineVar(
"u", &uVar); xParser.DefineVar(
"U", &uVar);
128 yParser.DefineVar(
"u", &uVar); yParser.DefineVar(
"U", &uVar);
129 zParser.DefineVar(
"u", &uVar); zParser.DefineVar(
"U", &uVar);
130 xParser.DefineVar(
"v", &vVar); xParser.DefineVar(
"V", &vVar);
131 yParser.DefineVar(
"v", &vVar); yParser.DefineVar(
"V", &vVar);
132 zParser.DefineVar(
"v", &vVar); zParser.DefineVar(
"V", &vVar);
134 mu::value_type iVar = 0;
135 mu::value_type jVar = 0;
137 xParser.DefineVar(
"i", &iVar); xParser.DefineVar(
"I", &iVar);
138 yParser.DefineVar(
"i", &iVar); yParser.DefineVar(
"I", &iVar);
139 zParser.DefineVar(
"i", &iVar); zParser.DefineVar(
"I", &iVar);
140 xParser.DefineVar(
"j", &jVar); xParser.DefineVar(
"J", &jVar);
141 yParser.DefineVar(
"j", &jVar); yParser.DefineVar(
"J", &jVar);
142 zParser.DefineVar(
"j", &jVar); zParser.DefineVar(
"J", &jVar);
144 xParser.DefineConst(
"time", (
double)time); xParser.DefineConst(
"Time", (
double)time); xParser.DefineConst(
"TIME", (
double)time);
145 yParser.DefineConst(
"time", (
double)time); yParser.DefineConst(
"Time", (
double)time); yParser.DefineConst(
"TIME", (
double)time);
146 zParser.DefineConst(
"time", (
double)time); zParser.DefineConst(
"Time", (
double)time); zParser.DefineConst(
"TIME", (
double)time);
157 for(
int y = 0; y < rows; y++)
162 vVar = (vMin + vMax)/2.;
164 for(
int x = 0; x < columns; x++)
169 uVar = (uMin + uMax)/2.;
174 pointsArray[y*columns + x] = (VuoPoint3d){
175 (float)xParser.Eval(),
176 (float)yParser.Eval(),
177 (float)zParser.Eval()};
181 catch (mu::Parser::exception_type &e)
183 VUserLog(
"Error: %s", e.GetMsg().c_str());