查看单个帖子
旧 2009-05-07, 03:25 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】save

save
save
how to save a file with the zoom, pan ,rotate ... current?
thierry
you need to update database object data (viewport) according to current gsview state.
in 1.13 we are going to provide a protocol extension which will perform assigning view parameters between gs and db classes.
in 1.12 you can do it "manually"
for example:
code:
void adjustbygsview(const odgsview* pview, oddbviewportptr* pvp)
{
if ( isoverallvport(pvp) )
{
odgepoint3d pos = pview->position();
pvp->setviewcenter(odgepoint2d(pos.x, pos.y));
pvp->setcenterpoint(odgepoint3d(pos.x, pos.y, 0.0));
} else
{
pvp->setviewtarget(pview->target());
pvp->setviewcenter(odgepoint2d(0.0, 0.0));
}
pvp->setviewheight(pview->fieldheight());
odgevector3d viewdir = pview->position() - pview->target();
pvp->setviewdirection(viewdir);
odgevector3d vecty = odgematrix3d::worldtoplane(viewdir) * pview->upvector();
double twist = vecty.angleto(odgevector3d::kyaxis, odgevector3d::kzaxis);
pvp->settwistangle(twist);
}
sergey slezkin
thank you again sergey
i am really very impatient to see this new release. have you a date?
best regards
we plan it at the end of march.
sergey slezkin
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)