我要发帖 回复

中级会员

16

主题

120

积分

0

专家分

:

私信
发表时间 : 2010-3-19 15:08:49 | 浏览 : 1957    评论 : 12
在一般的Win32应用程序中,俺的dof part可以找到,但是现在在mfc框架下却怎么也找不到,程序贴出来,大家帮忙看看       
          wheelq  = vgFindPart(f16,"qlq",NULL);
        wheelz  = vgFindPart(f16,"qlz",NULL);
                     wheely  = vgFindPart(f16,"qly",NULL);  这几个都返回为空

UINT runVegaProc(LPVOID pParam)
{
        CVRSimuView *hParent=(CVRSimuView*)pParam;

        vgInitWinSys(AfxGetInstanceHandle(),hParent->GetSafeHwnd());
        hParent->setVegaInitted(TRUE);
//        hParent->postInitted();

        vgDefineSys(".\\FighterSimu.adf");
        hParent->setVegaDefined(TRUE);
        hParent->postDefined();

        vgConfigSys();
        hParent->setVegaConfiged(TRUE);
//        hParent->postConfiged();

        while(hParent->getVegaRunning())
        {
                vgSyncFrame();
//                hParent->postSync();
                vgFrame();
                hParent->postFrame();
        }

        hParent->setVegaInitted(FALSE);
//        vgExit(0);
       
        return 0;
}
void CVRSimuView::runVega()
{

    isRunning=TRUE;
        if(m_pVegaThread==NULL)
        {m_pVegaThread=AfxBeginThread(
                                                runVegaProc,
                                                this,
                                                THREAD_PRIORITY_NORMAL,
                                                0,
                                                0,
                                                NULL
                                                );
        }
        while(!getVegaDefined())
        {
                Sleep(10);
        }


        win=vgGetWin(0);
        if(win==NULL)
        {
                vgNotify(VG_FATAL,VG_APP,"ERROR:No Vega window Defined--check %s",getAdfName());
                exit(-1);
        }
        env=vgGetEnv(0);
        if(env==NULL)
        {
                vgNotify(VG_FATAL,VG_APP,"ERROR:Couldn't find env--check %s",getAdfName());
                exit(-1);
        }

        scn=vgFindScene("Default");
        assert(scn);

        gfx = vgFindGfx("Default");
        assert(gfx);


        main_obs  = vgFindObserv("fighter_obs");
    main_chan = vgFindChan("main_chan");
//        f16u = vgFindObj("fighter");
        player = vgFindPlyr("fighter_player");
       
        f16     = vgFindObj("f16u");
        wheelq  = vgFindPart(f16,"qlq",NULL);
        wheelz  = vgFindPart(f16,"qlz",NULL);
                     wheely  = vgFindPart(f16,"qly",NULL);

}

最近VR访客

shenghry 评论于2010-3-19 19:41:03
还没人回啊,自己先顶一个!
shenghry 评论于2010-3-20 20:36:11
解决啦!
wangjx190984 评论于2010-7-29 21:03:34
如何解决的啊?小弟现在也碰到相同的问题了!
junfeng323 评论于2010-12-3 20:53:56
解决自己问题的时候为什么不说解决办法呢  为我们这些遇到同样问题饿指路啊 哎
WZCBJY 评论于2010-12-6 08:36:40
能否告知你的解决方案啊?
ggw0122 评论于2011-4-17 12:10:04
谢谢分享
chenergang 评论于2011-4-23 09:21:17
说下解决方案呗
VGLL 评论于2011-5-25 19:21:45
可能是因为所谓的Parts不是DOFf节点
各类Vega论文、程序、疑难、项目
QQ : 1329460345
flyawaynow 评论于2011-6-19 16:22:14
vgObject *obj; //   
                        vgPart* dof;   
                        vgPosition* pos;      
                        float x, y, z, h, p, r;
               
                                obj=vgGetObj(0);
                                dof=vgFindPart(obj,str,NULL);
                                pos=vgNewPos();
                                vgGetPos(dof,pos);
                                vgGetPosVec(pos,&x,&y,&z,&h,&p,&r);

                                for (int i=0;i<30;i++)
                                {
                                        y+=0.1;
                                        vgPosVec(pos,x,y,z,h,p,r);
                                        vgPos(dof,pos);
                                }
                                vgDelete(pos);
        }
yongenmi_2004 评论于2011-7-15 23:30:04
同求解决方案
yongenmi_2004 评论于2011-7-15 23:31:39
10楼的是否能给点程序说明呢
begin 评论于2011-10-21 10:05:32
能发个实例吗,不胜感激
zxh_521611@sina.com

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

GMT+8, 2023-3-20 05:03 PM

返回顶部