高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】problem with erasing paperspace viewports
problem with erasing paperspace viewports
problem with erasing paperspace viewports
hi,
it seems there is a problme when we erase a paperspace viewport - some object id of the erased viewport remains registered somewhere.
here is how to simulate this bug.
first set the active layout to be layout1.
run this code in the odamfcapp:
code:
нино (11:02 am) :
//test fow switch to layout when the last created viewport in it is erased
oddbobjectid idvp;
oddbdatabaseptr pdb = this->m_pdb;
{
oddbblocktablerecordptr precord = pdb->getactivelayoutbtrid().safeopenobject(oddb::kforwrite);
oddbviewportptr pvp = oddbviewport::createobject();
pvp->setdatabasedefaults(precord->database());
odgepoint3d ptcenter(1.,1.,0.);
pvp->setcenterpoint(ptcenter);
pvp->setheight(0.5);
pvp->setwidth(1.);
idvp = precord->appendoddbentity(pvp);
}
{
oddbviewportptr pview = idvp.safeopenobject(oddb::kforwrite);
pview->erase();
}
then switch to layout2 and then back to layout1 (no redraw).
an error is thrown for erased object.
best regards
chudomir
|