[BACK]Return to ray.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / cfep / Samples

Annotation of OpenXM/src/cfep/Samples/ray.rr, Revision 1.1.1.1

1.1       takayama    1: def test2() {
                      2:   glib_init_send("0;[glib3_ray_init]");
                      3:   glib_init_send("0;[glib_flush]");
                      4:   glib_send("0;[glib3_ray]");
                      5:   glib_send("0;[glib_flush]");
                      6: }
                      7: def myline(X,Y,X2,Y2,C) {
                      8:   X = rtostr(deval(X)); Y = rtostr(deval(Y));
                      9:   X2 = rtostr(deval(X2)); Y2=rtostr(deval(Y2));
                     10:   CC = C[0]*(256*256)+C[1]*256+C[0];
                     11:   CC=rtostr(CC); print(C,0); print(CC);
                     12:   glib_send("1; [glib_line,"+X+","+Y+","+X2+","+Y2+","+CC+"]");
                     13: }
                     14: def t_encode1(X) {
                     15:   return [
                     16:      ior(0xf8,iand(0x3,ishift(X,6))),
                     17:      ior(0xf0,iand(0x7,ishift(X,3))),
                     18:      ior(0xf0,iand(0x7,X))];
                     19: }
                     20: def t_encode_str(S) {
                     21:   Ans = [ ];
                     22:   Codes = strtoascii(S);
                     23:   N = length(Codes);
                     24:   for (I=0; I<N; I++) {
                     25:      T = t_encode1(Codes[I]);
                     26:      Ans = cons(T[0],Ans);
                     27:      Ans = cons(T[1],Ans);
                     28:      Ans = cons(T[2],Ans);
                     29:   }
                     30:   return reverse(Ans);
                     31: }
                     32: def t_encode(S) {
                     33:   return asciitostr(t_encode_str(S));
                     34: }
                     35: def glib_send(S) {
                     36:    S=S+"\n";
                     37:    N=length(strtoascii(S))+1;
                     38:    C=t_encode("{1<"+rtostr(N)+" "+S+" >}");
                     39:    ctrl("hex",1);
                     40:    output(); ctrl("hex",0);
                     41:    print(C); output(); /* channel 1 にコマンドを送る */
                     42: }
                     43: def glib_init_send(S) {
                     44:    S=S+"\n";
                     45:    N=length(strtoascii(S))+1;
                     46:    C=t_encode("{2<"+rtostr(N)+" "+S+" >}");
                     47:    ctrl("hex",1);
                     48:    output(); ctrl("hex",0);
                     49:    print(C); output(); /* channel 2 にコマンドを送る. OpenGL 初期化 */
                     50: }
                     51: test2();
                     52:
                     53:
                     54:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>