- 积分
- 38
- 帖子
- 16
- 主题
- 10
- 精华
- 0
- 最后登录
- 2018-1-3
- 在线时间
- 16 小时
- 私信
|
发表时间 : 2010-3-20 02:01:23
|
浏览 : 971 评论 : 0
本帖最后由 jackydai123 于 2010-3-20 02:03 AM 编辑
这是我写的在MFC下手动加入点,和自动漫游的代码。两个事件都是菜单触发!变量我都定义好了的,在头文件。 但总是漫游不起,这是为什么?
void CVp_mfc3View::OnAddponit() //加点
{
// TODO: Add your command handler code here
vgPosition *pos;
float x, y, z;
float h, p, r;
if(numpts)
{
path = vgNewPath("myPath.pth", NULL);
}
pos = vgNewPos();
obs1 = vgGetObserv(0);
vgGetPos(obs1, pos);
vgGetPosVec(pos, &x, &y, &z, &h, &p, &r);
vgPathAddCtrlPointPos(path, pos);
vgDelPos(pos);
numPts++;
}
void CVp_mfc3View::OnPan() // 漫游
{
// TODO: Add your command handler code here
vgSplineNavigator *nav;
if (numPts)
{
nav = vgNewSplineNavigator("myNav.nav", path);
vgProp(nav, VGCOMMON_ENABLED, VG_ON);
vgProp(nav, VGSPLINENAV_START_INDEX, 0);
vgProp(nav, VGSPLINENAV_STOP_AT_END, VG_ON);
vgNavigatorAddMarker(nav, 0, VGSPLINENAV_HERMITE, 0, NULL, 0);
for (idx = 1; idx < numPts; idx++)
{
vgNavigatorAddMarker(nav, idx, VGNAV_EMPTY, 0, NULL, 0);
}
vgMakeSplineNavigator(nav);
vgProp(obs1, VGOBS_TETHERSTATE, VGOBS_DYNAMIC); //VGOBS_NAVIGATOR
vgObservNav(obs1, (vgNavigator *) nav);
}
} |
|