我要发帖 回复

正式会员

5

主题

53

积分

0

专家分

:

私信
发表时间 : 2008-5-22 18:24:24 | 浏览 : 1023    评论 : 0
刚刚接触c++,仿制了一段程序实现指针键盘控制。初步可用,还请高人指点一下改进的地方。
ps:我想DOF只转一周,怎么控制?有没有能读取DOF中H转角转过总角度的语句?



#include<vg.h>
static void upneedle(void);
static void downneedle(void);
main( int argc, char *argv[] )
{

vgWindow* win;
     
    vgInitSys( );
     
    vgDefineSys( "LynX1.adf" );

vgConfigSys( );

win = vgGetWin(0);
while ( 1 )
{
  vgSyncFrame();
  vgFrame();
   
  switch ( vgGetWinKey(win) )
  {
  
  case VGWIN_UPARROW:
     upneedle();
     break;
case VGWIN_DOWNARROW:
     downneedle();
   break;
  }
}
}
void upneedle()
{
  vgObject* obj;
  vgPart* needle;
  vgPosition* pos;

  float x, y, z, h, p, r;
  obj= vgGetObj(0);
  needle = vgFindPart(obj, "needle", NULL); //获取DOF
  pos = vgNewPos();
  vgGetPos(needle, pos);
  vgGetPosVec(pos, &x, &y, &z, &h, &p, &r);

      
  {
   h+=1;
   vgPosVec(pos, x, y, z, h, p, r);
   vgPos(needle, pos);
                }
}
void downneedle()

{
  vgObject* obj;
  vgPart* needle;
  vgPosition* pos;
  
  float x, y, z, h, p, r;
  obj= vgGetObj(0);
  needle = vgFindPart(obj, "needle", NULL); //获取DOF
  pos = vgNewPos();
  vgGetPos(needle, pos);
  vgGetPosVec(pos, &x, &y, &z, &h, &p, &r);

         
  {
   h-=1;
   vgPosVec(pos, x, y, z, h, p, r);
   vgPos(needle, pos);
vgDelPos(pos);
   vgSyncFrame();
   vgFrame();
  }
}

最近VR访客

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-6-16 05:58 PM

返回顶部