高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】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
|