64 mov =
movx( param, ang);
74 MOint cantval, cantfun;
84 while(cantfun*4+1 < cantval)
93 mov += movEsf(
'x',cantfun, ang, a, v, d);
96 mov += movLin(
'x',cantfun, ang, a, v, d);
99 mov += movSEs(
'x',cantfun, ang, a, v, d);
102 mov += movCub(
'x',cantfun, ang, a, v, d);
105 mov += movFij(
'x',cantfun, ang, a, v, d);
108 mov += movBuc(
'x',cantfun, ang, a, v, d);
111 mov += movRan(
'x',cantfun, ang, a, v, d);
130 mov =
movy( param, ang);
140 MOint cantval, cantfun;
150 while(cantfun*4+1 < cantval)
159 mov += movEsf(
'y',cantfun, ang, a, v, d);
162 mov += movLin(
'y',cantfun, ang, a, v, d);
165 mov += movSEs(
'y',cantfun, ang, a, v, d);
168 mov += movCub(
'y',cantfun, ang, a, v, d);
171 mov += movFij(
'y',cantfun, ang, a, v, d);
174 mov += movBuc(
'y',cantfun, ang, a, v, d);
177 mov += movRan(
'y',cantfun, ang, a, v, d);
180 mov += movGan(
'y',cantfun, ang, a, v, d);
183 mov += movPul(
'x',cantfun, ang, a, v, d);
197 mov =
movz( param, ang);
207 MOint cantval, cantfun;
217 while(cantfun*4+1 < cantval)
226 mov += movEsf(
'z',cantfun, ang, a, v, d);
229 mov += movLin(
'z',cantfun, ang, a, v, d);
232 mov += movSEs(
'z',cantfun, ang, a, v, d);
235 mov += movCub(
'z',cantfun, ang, a, v, d);
238 mov += movFij(
'z',cantfun, ang, a, v, d);
241 mov += movBuc(
'z',cantfun, ang, a, v, d);
244 mov += movRan(
'z',cantfun, ang, a, v, d);
247 mov += movPul(
'x',cantfun, ang, a, v, d);
262 MOdouble moMotion::movEsf(
char e,
int c,
double ang,
double a,
double v,
double d)
270 case 'x': mov = a*cos(v*(ang-d));
break;
271 case 'y': mov = a*sin(v*(ang-d));
break;
272 case 'z': mov = a*sin(v*(ang-d));
break;
279 case 'x': mov = a*sin(v*(ang-d));
break;
280 case 'y': mov = a*cos(v*(ang-d));
break;
281 case 'z': mov = a*sin(v*(ang-d));
break;
286 MOdouble moMotion::movLin(
char e,
int c,
double ang,
double a,
double v,
double d)
294 case 'x': mov = a*sin(v*(ang-d));
break;
295 case 'y': mov = a*sin(v*(ang-d));
break;
296 case 'z': mov = a*sin(v*(ang-d));
break;
303 case 'x': mov = a*sin(v*(ang-d));
break;
304 case 'y': mov = a*sin(v*(ang-d));
break;
305 case 'z': mov = a*sin(v*(ang-d));
break;
310 MOdouble moMotion::movSEs(
char e,
int c,
double ang,
double a,
double v,
double d)
318 case 'x': mov = a*fabs(cos(v*(ang-d)));
break;
319 case 'y': mov = a*fabs(sin(v*(ang-d)));
break;
320 case 'z': mov = a*fabs(sin(v*(ang-d)));
break;
327 case 'x': mov = a*fabs(sin(v*(ang-d)));
break;
328 case 'y': mov = a*fabs(cos(v*(ang-d)));
break;
329 case 'z': mov = a*fabs(sin(v*(ang-d)));
break;
334 MOdouble moMotion::movCub(
char e,
int c,
double ang,
double a,
double v,
double d)
344 if(315.0<=gang || gang< 45.0) mov = a;
345 if( 45.0<=gang && gang<135.0) mov = a*cos(v*(ang-d))/
sqrt2;
346 if(135.0<=gang && gang<225.0) mov = -a;
347 if(225.0<=gang && gang<315.0) mov = a*cos(v*(ang-d))/
sqrt2;
350 if(315.0<=gang || gang< 45.0) mov = a*sin(v*(ang-d))/
sqrt2;
351 if( 45.0<=gang && gang<135.0) mov = a;
352 if(135.0<=gang && gang<225.0) mov = a*sin(v*(ang-d))/
sqrt2;
353 if(225.0<=gang && gang<315.0) mov = -a;
356 if(315.0<=gang || gang< 45.0) mov = a*sin(v*(ang-d))/
sqrt2;
357 if( 45.0<=gang && gang<135.0) mov = a;
358 if(135.0<=gang && gang<225.0) mov = a*sin(v*(ang-d))/
sqrt2;
359 if(225.0<=gang && gang<315.0) mov = -a;
367 if(315.0<=gang || gang< 45.0) mov = -a;
368 if( 45.0<=gang && gang<135.0) mov = a*sin(v*(ang-d))/
sqrt2;
369 if(135.0<=gang && gang<225.0) mov = a;
370 if(225.0<=gang && gang<315.0) mov = a*sin(v*(ang-d))/
sqrt2;
373 if(315.0<=gang || gang< 45.0) mov = a*cos(v*(ang-d))/
sqrt2;
374 if( 45.0<=gang && gang<135.0) mov = a;
375 if(135.0<=gang && gang<225.0) mov = a*cos(v*(ang-d))/
sqrt2;
376 if(225.0<=gang && gang<315.0) mov = -a;
379 if(315.0<=gang || gang< 45.0) mov = -a;
380 if( 45.0<=gang && gang<135.0) mov = a*sin(v*(ang-d))/
sqrt2;
381 if(135.0<=gang && gang<225.0) mov = a;
382 if(225.0<=gang && gang<315.0) mov = a*sin(v*(ang-d))/
sqrt2;
387 MOdouble moMotion::movFij(
char e,
int c,
double ang,
double a,
double v,
double d)
389 return v*(ang-d) + a*sin(v*(ang-d)) + e - e + c - c;
392 MOdouble moMotion::movBuc(
char e,
int c,
double ang,
double a,
double v,
double d)
395 c = c % 2 + 1 + e - e + c - c;;
400 case 'x': mov = a*cos(v*(ang-d))*sin(ang-d);
break;
401 case 'y': mov = a*sin(v*(ang-d))*cos(ang-d);
break;
402 case 'z': mov = a*sin(v*(ang-d))*cos(ang-d);
break;
409 case 'x': mov = a*sin(v*(ang-d))*cos(ang-d);
break;
410 case 'y': mov = a*cos(v*(ang-d))*sin(ang-d);
break;
411 case 'z': mov = a*sin(v*(ang-d))*cos(ang-d);
break;
416 MOdouble moMotion::movRan(
char e,
int c,
double ang,
double a,
double v,
double d)
421 ang = ang*
togra - d + e - e + c - c;;
422 pos = v *(
MOint)(ang/v + 0.5);
423 if(fabs(ang-pos) < 1.0)
425 randval = rand()/double(RAND_MAX);
432 MOdouble moMotion::movGan(
char e,
int c,
double ang,
double a,
double v,
double d)
437 mov =(gang/360.0f) * a + e - e + c - c;;
442 MOdouble moMotion::movPul(
char e,
int c,
double ang,
double a,
double v,
double d)
444 MOdouble mov = 0.0f + e - e + c - c + ang - ang +a -a +v -v +d -d;
moValueBase & GetSubValue(MOint p_indexsubvalue=0)
MOfloat movx(moParam ¶m, moTempo &tempo)
MOfloat movz(moParam ¶m, moTempo &tempo)
moValue & GetValue(MOint i=-1)
MOfloat movy(moParam ¶m, moTempo &tempo)
MOuint GetSubValueCount()