home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / VPR_DATA / DOGA / POLYEDIT / POLYEDIT / MACRO / BUTTON.M < prev    next >
Text File  |  1996-07-24  |  10KB  |  303 lines

  1. var private ue_ya = "FFFFFE7FFDBFFBDFF7EFEFF7C3C3FBDFFBDFFBDFFBDFFBDFFBDFFBDFF81FFFFF";
  2. var private hida_ya = "FFFFFFFFFDFFF9FFF5FFEC01DFFDBFFDBFFDDFFDEC01F5FFF9FFFDFFFFFFFFFF";
  3. var private migi_ya = "FFFFFFFFFFBFFF9FFFAF8037BFFBBFFDBFFDBFFB8037FFAFFF9FFFBFFFFFFFFF";
  4. var private shita_ya = "FFFFF81FFBDFFBDFFBDFFBDFFBDFFBDFFBDFC3C3EFF7F7EFFBDFFDBFFE7FFFFF";
  5. var private ue_rot = "E7FFE1FFEC7FCF1FDFC787E7FBDFF9DFFDCFFDEFFCE7FEF7FEF7FE07FFFFFFFF";
  6. var private hida_rot = "FFFFFBFFE3FF0BFF3BFFBCFF9E1FDFC3CFFBEFFBE47BF31BF3C3FFFFFFFFFFFF";
  7. var private migi_rot = "FFFFFFDFFFC7FFD0FFDCFF3DF879C3FBDFF3DFF7DE27D8CFC3CFFFFFFFFFFFFF";
  8. var private shita_rot = "FFFFFFFFFE07FEF7FEF7FCE7FDEFFDCFF9DFFBDF87E7DFC7CF1FEC7FE1FFE7FF";
  9. var private hida_turn = "FE1FC1DFCFDFF7DFEFEFEFEFDF2FDECFDEFFDEFFDF03EFFBEFFBF7FBF9FBFE03";
  10. var private migi_turn = "F87FFB83FBF3FBEFF7F7F7F7F4FBF37BFF7BFF7BC0FBDFF7DFF7DFEFDF9FC07F";
  11. var private back_ya = "FFFFFE7FFDBFFBDFF7EFEFF7C183FDBFFDBFFBDFFBDFFBDFF7EFF7EFF00FFFFF";
  12. var private front_ya = "FFFFFC3FFDBFFDBFFBDFFBDFFBDFF7EFF7EFC7E3EFF7F7EFFBDFFDBFFE7FFFFF";
  13. var private zoomup = "03C07BDE77EE7BDE5C3A2BD4F7EFF7EFF7EFF7EF2BD45C3A7BDE77EE7BDE03C0";
  14. var private zoomdown = "DFFBA99575AEBDBDDC3BBDBD8181F7EFF7EF8181BDBDDC3BBDBD75AEA995DFFB";
  15. var private nearver = "EFF8EFF8EFF8E807EDF7EEF7EDF7EBF7EDD7EEA7EF77C7FF0000C7FFEFFFEFFF";
  16. var private reversex = "FEFFFE7F003F001FFFFF001F801FCFFFEFFFFF88FFDDFFEBFFF7FFEBFFDDFF88";
  17. var private reversey = "FEFFFE7F003F001FFFFF001F801FCFFFEFFFFF88FFDDFFEBFFF7FFF7FFF7FFE3";
  18. var private reversez = "FEFFFE7F003F001FFFFF001F801FCFFFEFFFFFC1FFDDFFFBFFF7FFEFFFDDFFC1";
  19. var private fit = "FFFFFFFFFFFF8441BEF7BEF7BEF78EF7BEF7BEF7BEF7BEF7BC63FFFFFFFFFFFF";
  20. var private center = "FEFFFEFFFEFFFEFFFEFFFEFFFEFFFC7F0000FC7FFEFFFEFFFEFFFEFFFEFFFEFF";
  21. var private save = "DFFFAEFF74FFBAFFDEFFEEFFDE80809EFF9EF800F801F820F870F820F800F800";
  22. var private load = "001F03DF03DF001F043F0E1F041F003F005F00AEFF74FFBAFFDEFFEEFFDEFF80";
  23. var private in1 = "DFFFAEFF74FFBAFFDEFFEE80DEFE80EEFFCEFDEEFDEEFDEEFDEEFDEEFDFEFC00";
  24. var private in2 = "DFFFAEFF74FFBAFFDEFFEE80DEFE80CEFFB6FDF6FDEEFDDEFDBEFD86FDFEFC00";
  25. var private in3 = "DFFFAEFF74FFBAFFDEFFEE80DEFE80CEFFB6FDF6FDCEFDF6FDB6FDCEFDFEFC00";
  26. var private out1 = "003F7FBF7BBF73BF7BBF7BBF7BBF7BBF7BDF7FAE0174FFBAFFDEFFEEFFDEFF80";
  27. var private out2 = "003F7FBF73BF6DBF7DBF7BBF77BF6FBF61DF7FAE0174FFBAFFDEFFEEFFDEFF80";
  28. var private out3 = "003F7FBF73BF6DBF7DBF73BF7DBF6DBF73DF7FAE0174FFBAFFDEFFEEFFDEFF80";
  29.  
  30. //var private zoomup = "01FF7DFF7C017DFD7DFD7DFD01FDDEFDDF7DDFB5DFD5DFE5DF85DFFDC001FFFF";
  31. //var private zoomdown = "00037FFB5FFB6FFB76FB7AFB7CFB70FB7FFB7F817FBD7FBD7FBD003DFF81FFFF";
  32. //var private v1 = "FFEFFFEFFFF3FFF3FFFCFC3FFF3FFEBFFDBFFBFFF7FFEFFFFFFF3FFF3FFFFFFF";
  33. //var private v2 = "FFFF80BDBEDB80FBBE9080D5FFD50055AFD5885DAB458AD5ACD708D7E658FFFF";
  34. //var private v3 = "FFFFFFFFFFFFFFFFFFFFFC7FF83FF83FF83FFC7FFFFFFFFFFFFFFFFFFFFFFFFF";
  35.  
  36. function Hold_Save( number )
  37. {
  38.     var    tempdir, temp;
  39.     var    sel[3];
  40.     var    i, j;
  41.     var    obj;
  42.  
  43.     tempdir = getenv( "temp" );
  44.     if( tempdir == "" )
  45.         tempdir = getenv( "TEMP" );
  46.  
  47.     if( substr( tempdir, -1 ) != "\\" )
  48.         tempdir = tempdir+"\\";
  49.  
  50.     sel[0] = Select();
  51.     SelectAll( TRUE );
  52.     sel[1] = Select();
  53.     PolyInvisible( FALSE );
  54.     SelectAll( TRUE );
  55.     sel[2] = Select();
  56.  
  57.     obj = ObjAppend( "_temp"+number, tempdir+"_temp"+number+".suf" );
  58.     temp = WriteFile( obj );
  59.     if( temp == FALSE )
  60.     {
  61.         Warning();
  62.         Message( "ファイルのセーブに失敗したようです。\n"
  63.             +"ディスクの容量が足りない可能性が高いですが、\n"
  64.             +"それ以外の理由かもしれません。");
  65.         Select( sel[1] );
  66.         PolyInvisible( invisible_flag );
  67.         Select( sel[0] );
  68.         ObjDelete( obj );
  69.         return FALSE;
  70.     }
  71.     ObjDelete( obj );
  72.  
  73.     hold_objnumber[number] = Objects();
  74.     hold_invisibleflag[number] = invisible_flag;
  75.     hold_sel[number][0] = sel[0];
  76.     hold_sel[number][1] = sel[1];
  77.  
  78.     for( i = 0; i< hold_objnumber[number]; i++ )
  79.     {
  80.         SelectObj( i, TRUE, SELECT_UPDATE );
  81.         hold_objsel[number][i] = Select();
  82.         hold_objname[number][i] = ObjName( i );
  83.         hold_objfile[number][i] = ObjFile( i );
  84.         hold_objflag[number][i] = ObjEdit( i );
  85.     }
  86.  
  87.     Select( sel[1] );
  88.     PolyInvisible( invisible_flag );
  89.     Select( sel[0] );
  90.     return TRUE;
  91. }
  92.  
  93. function Hold_Load( number )
  94. {
  95.     var    tempdir;
  96.     var    add_sel, prev_sel;
  97.     var    i, obj;
  98.  
  99.     tempdir = getenv( "temp" );
  100.     if( tempdir == "" )
  101.         tempdir = getenv( "TEMP" );
  102.  
  103.     if( substr( tempdir, -1 ) != "\\" )
  104.         tempdir = tempdir+"\\";
  105.  
  106.     prev_sel = Select();
  107.     SelectAll( FALSE, SELECT_UPDATE );
  108.     i = ReadFile( tempdir+"_temp"+number+".suf" );
  109.     if( i < 0 )
  110.     {
  111.         Message( "ファイルの読み込みに失敗しました" );
  112.         Select( prev_sel );
  113.         return;
  114.     }
  115.  
  116.     PolyInvisible( FALSE );
  117.     SelectAll( TRUE, SELECT_XOR );
  118.     PolyDelete();
  119.     while( Objects() > 1 )
  120.         ObjDelete( 0 );
  121.  
  122.     for( i = 0; i< hold_objnumber[number]; i++ )
  123.     {
  124.         obj = ObjAppend( hold_objname[number][i], hold_objfile[number][i] );
  125.         Select(hold_objsel[number][i]);
  126.         ObjChange( obj );
  127.         ObjEdit( obj ,hold_objflag[number][i] );
  128.     }
  129.  
  130.     if( ObjDelete( 0 ) == FALSE )
  131.         Warning();
  132.     Select( hold_sel[number][1] );
  133.     invisible_flag = hold_invisibleflag[number];
  134.     PolyInvisible( invisible_flag );
  135.     Select( hold_sel[number][0] );
  136.     UpdateAll();
  137.     quit_flag = TRUE;
  138. }
  139.  
  140. function ReverseXYZ( type )
  141. {
  142.     var    temp;
  143.     temp = Position(Cursor());
  144.     if( type == 1 )
  145.         Cursor( vector(-vx(temp), vy(temp), vz(temp)));
  146.     else if( type == 2 )
  147.         Cursor( vector(vx(temp), -vy(temp), vz(temp)));
  148.     else
  149.         Cursor( vector(vx(temp), vy(temp), -vz(temp)));
  150. }
  151.  
  152. function private FuncMoveUpper()
  153.     PersMove( 0, 0, -100 );
  154.  
  155. function private FuncMoveLeft()
  156.     PersMove( 0, -100, 0 );
  157.  
  158. function private FuncMoveRight()
  159.     PersMove( 0, 100, 0 );
  160.  
  161. function private FuncMoveLower()
  162.     PersMove( 0, 0, 100 );
  163.  
  164. function private FuncRollUpper()
  165.     PersRot( 0, -10, 0 );
  166.  
  167. function private FuncRollLeft()
  168.     PersRot( 0, 0, 10 );
  169.  
  170. function private FuncRollRight()
  171.     PersRot( 0, 0, -10 );
  172.  
  173. function private FuncRollLower()
  174.     PersRot( 0, 10, 0 );
  175.  
  176. function private FuncTurnLeft()
  177.     PersRot( -10, 0, 0 );
  178.  
  179. function private FuncTurnRight()
  180.     PersRot( 10, 0, 0 );
  181.  
  182. function private FuncMoveBack()
  183.     PersMove( -100, 0, 0 );
  184.  
  185. function private FuncMoveFront()
  186.     PersMove( 100, 0, 0 );
  187.  
  188. function private FuncZoomUp()
  189.     ZoomUp();
  190.  
  191. function private FuncZoomDown()
  192.     ZoomDown();
  193.  
  194. function private FuncNearVertex()
  195.     _Vertex();
  196.  
  197. function private FuncReverseX()
  198.     ReverseXYZ( 1 );
  199.  
  200. function private FuncReverseY()
  201.     ReverseXYZ( 2 );
  202.  
  203. function private FuncReverseZ()
  204.     ReverseXYZ( 3 );
  205.  
  206. function private FuncFit()
  207.     Fit();
  208.  
  209. function private FuncCenter()
  210.     DispCenter();
  211.  
  212. function private FuncHoldSave0()
  213. {
  214.     var    temp;
  215.     temp = Hold_Save( 0 );
  216.     if( temp == TRUE )
  217.     {
  218.         ButtonEnable( load0_id, BUTTON_ENABLE );
  219.         UpdateButton( load0_id );
  220.     }
  221. }
  222. function private FuncHoldLoad0()
  223.     Hold_Load( 0 );
  224.  
  225. function private FuncHoldSave1()
  226. {
  227.     var    temp;
  228.     temp = Hold_Save( 1 );
  229.     if( temp == TRUE )
  230.     {
  231.         ButtonEnable( load1_id, BUTTON_ENABLE );
  232.         UpdateButton( load1_id );
  233.     }
  234. }
  235. function private FuncHoldLoad1()
  236.     Hold_Load( 1 );
  237.  
  238. function private FuncHoldSave2()
  239. {
  240.     var    temp;
  241.     temp = Hold_Save( 2 );
  242.     if( temp == TRUE )
  243.     {
  244.         ButtonEnable( load2_id, BUTTON_ENABLE );
  245.         UpdateButton( load2_id );
  246.     }
  247. }
  248. function private FuncHoldLoad2()
  249.     Hold_Load( 2 );
  250.  
  251. function MakeButton()
  252. {
  253.     var    const    W0 = 0;
  254.     var    const    W1 = BUTTON_WIDTH/2;
  255.     var    const    W2 = BUTTON_WIDTH;
  256.     var    const    M = BUTTON_ENABLE | BUTTON_REPEAT;
  257.  
  258.     moveupper_id =    CreateButton( W1, BUTTON_HEIGHT* 0   ,ue_ya, FuncMoveUpper, M);
  259.     moveleft_id =    CreateButton( W0, BUTTON_HEIGHT* 2/2 ,hida_ya, FuncMoveLeft, M);
  260.     moveright_id =    CreateButton( W2, BUTTON_HEIGHT* 2/2 ,migi_ya, FuncMoveRight, M);
  261.     movelower_id =    CreateButton( W1, BUTTON_HEIGHT* 4/2 ,shita_ya, FuncMoveLower, M);
  262.     rotupper_id =    CreateButton( W1, BUTTON_HEIGHT* 7/2 ,ue_rot, FuncRollUpper, M);
  263.     rotleft_id =    CreateButton( W0, BUTTON_HEIGHT* 9/2 ,hida_rot, FuncRollLeft, M);
  264.     rotright_id =    CreateButton( W2, BUTTON_HEIGHT* 9/2 ,migi_rot, FuncRollRight, M);
  265.     rotlower_id =    CreateButton( W1, BUTTON_HEIGHT*11/2 ,shita_rot, FuncRollLower, M);
  266.     turnleft_id =    CreateButton( W0, BUTTON_HEIGHT*14/2 ,hida_turn, FuncTurnLeft, M);
  267.     turnright_id =    CreateButton( W2, BUTTON_HEIGHT*14/2 ,migi_turn, FuncTurnRight, M);
  268.     moveback_id =    CreateButton( W1, BUTTON_HEIGHT*17/2 ,back_ya, FuncMoveBack, M);
  269.     movefront_id =    CreateButton( W1, BUTTON_HEIGHT*19/2 ,front_ya, FuncMoveFront, M);
  270.  
  271.     zoomup_id =    CreateButton( W0, BUTTON_HEIGHT*22/2 ,zoomup, FuncZoomUp);
  272.     zoomdown_id =    CreateButton( W2, BUTTON_HEIGHT*22/2 ,zoomdown, FuncZoomDown);
  273.     fit_id =    CreateButton( W0, BUTTON_HEIGHT*24/2 ,fit, FuncFit);
  274.     center_id =    CreateButton( W2, BUTTON_HEIGHT*24/2 ,center, FuncCenter);
  275.  
  276.     nearvertex_id =    CreateButton( W0, BUTTON_HEIGHT*27/2 ,nearver, FuncNearVertex);
  277.     reversex_id =    CreateButton( W2, BUTTON_HEIGHT*27/2 ,reversex, FuncReverseX);
  278.     reversey_id =    CreateButton( W0, BUTTON_HEIGHT*29/2 ,reversey, FuncReverseY);
  279.     reversez_id =    CreateButton( W2, BUTTON_HEIGHT*29/2 ,reversez, FuncReverseZ);
  280.     if(( MACHINE == "WINDOWS" ) & ( EXPERT != TRUE ))
  281.         allsave_id =    CreateButton( W0, BUTTON_HEIGHT*32/2 ,save, SaveAll );
  282.     else
  283.         allsave_id =    CreateButton( W0, BUTTON_HEIGHT*32/2 ,save, SaveAllSuf );
  284.     load_id =    CreateButton( W2, BUTTON_HEIGHT*32/2 ,load, Load );
  285.  
  286.     save0_id =    CreateButton( W0, BUTTON_HEIGHT*35/2 ,in1, FuncHoldSave0 );
  287.     load0_id =    CreateButton( W2, BUTTON_HEIGHT*35/2 ,out1, FuncHoldLoad0 );
  288.     save1_id =    CreateButton( W0, BUTTON_HEIGHT*37/2 ,in2, FuncHoldSave1 );
  289.     load1_id =    CreateButton( W2, BUTTON_HEIGHT*37/2 ,out2, FuncHoldLoad1 );
  290.     save2_id =    CreateButton( W0, BUTTON_HEIGHT*39/2 ,in3, FuncHoldSave2 );
  291.     load2_id =    CreateButton( W2, BUTTON_HEIGHT*39/2 ,out3, FuncHoldLoad2 );
  292.  
  293.     ButtonEnable( load0_id, BUTTON_DISABLE );
  294.     ButtonEnable( load1_id, BUTTON_DISABLE );
  295.     ButtonEnable( load2_id, BUTTON_DISABLE );
  296.     UpdateButton();
  297.  
  298. //    CreateButton(0, BUTTON_HEIGHT*17/2,
  299. //        "5555aaaa5555aaaa5555aaaa5555aaaa5555aaaa5555aaaa5555aaaa5555aaaa",
  300. //        FuncRollLower);
  301. //    UpdateAll();
  302. }
  303.