- 积分
- 17
- 帖子
- 4
- 主题
- 3
- 精华
- 0
- 最后登录
- 2008-11-29
- 在线时间
- 1 小时
- 私信
|
发表时间 : 2008-11-25 21:07:22
|
浏览 : 1552 评论 : 2
我想在程序中对acf场景进行动态添加一个新的通道,并在修改原通道的位置(修改成1/2窗口),并将新通道的位置设置为(0.5,1,0.0,1.0)。新通道中动态添加一物体,代码如下:
vpChannel * pMainChannel = *vpChannel::begin ();
vpWindow * pMainWindow = *vpWindow::begin ();
vpObserver* pVpObserver = *vpObserver::begin (); //默认为myObserver
vpScene * pMainScene = *vpScene::begin ();
CString strChannelName = pMainChannel->getName();
CString strSceneName = pMainScene->getName();
CString strObserverName = pVpObserver->getName();
vpObserver* pVpObserver = new vpObserver();
vpChannel *pChannel = new vpChannel();
vpScene *pScene = new vpScene();
CString strNum = "1";
pMainChannel->setDrawArea(0.0,0.5,0.0,1.0);
pVpObserver->setName(strObserverName + strNum);
pChannel->setName(strChannelName + strNum);
pScene->setName(strSceneName + strNum);
pMainWindow->addChannel(pChannel);
pChannel->setDrawArea(0.5,1.0,0.0,1.0);
pVpObserver->setScene(pScene);
pVpObserver->addChannel(pChannel);
vpObject *pObj = new vpObject();
pObj ->ref();
pObj ->setFileName("D:\\qiu.flt");
pScene->addChild(pObj);
运行完此段代码后,在祯循环endframe()这里死掉。..\.\vspipeline.cpp, Expression: m_processcullJobs.size()== mgr->size_bin_async_cull()。 不知道是什么原因,把pMainWindow->addChannel(pChannel);这句去掉旧没有问题,是不是不能直接动态加载通道,或是加载的地方不对?
[ 本帖最后由 vr_gis 于 2008-11-25 09:25 PM 编辑 ] |
|