![]() |
【转帖】adjustviewport method
adjustviewport method
adjustviewport method hi, we have 1.12.01 code that uses the adjustviewport method of oddbabstractviewportdata. how should this be modified in 1.14? thanks. hi, please, use void odabstractviewpe::setview(odrxobject* pdestinationview, const odrxobject* psourceview) const instead. odabstractviewpe is a base class for the oddbabstractviewportdata. thanks for your reply! can i use the same setview method to replace adjustviewportrec? hi, yes, you can use it like that: code: oddbviewporttablerecordptr pvp = ...; // obtain db view odgsviewptr pview = ...; // obtain corresponding gs view odabstractviewpeptr pabstrviewpe; pabstrviewpe = pview; // get pe from gs view pabstrviewpe->setview(pview, pvp); // to gs view pabstrviewpe = pvp; // get pe from db view pabstrviewpe->setview(pvp, pview); // from gs view hi, thanks for your reply but i am still a bit confused as to how to use it. i am kind of new to this and i am maintaining existing code. the existing code is as below: oddbdatabaseptr m_cadptr = oddbhostappservices->readfile(); oddbobjectid viewtableid = m_cadptr->getviewtableid(); oddbviewtableptr pviewtable = viewtableid.safeopenobject(); oddbsymboltableiteratorptr viewiter = pviewtable->newiterator(); oddbobjectid viewrecordid = viewiter->getrecordid(); oddbviewtablerecordptr pviewrecord = viewrecordid.openobject(); oddbviewporttableptr vptabl = m_cadptr->getviewporttableid().safeopenobject(); oddbviewporttablerecordptr vp = vptabl->getactiveviewportid().safeopenobject(oddb::kforwr ite); oddbabstractviewportdataptr pdbviewport = oddbabstractviewportdata::cast(pviewrecord); pdbviewport->adjustviewportrec(pviewrecord,vp); how do i rewrite the usage of "adjustviewportrec"? thank you for your help. hi, just replace last 2 lines with new ones to get equivalent new code: oddbabstractviewportdataptr pdbviewport(vp); pdbviewport->setview(vp, pviewrecord); // restores view settings <=> pdbviewport->adjustviewportrec(pviewrecord,vp); but if this code is an analog of restoring named view in autocad you also need to add this: pdbviewport->setucs(vp, pviewrecord); // restores ucs settings pdbviewport->setprops(vp, pviewrecord); // restores other setting (e.g. grid settings) // restore layer states (ac2005 feature): odstring slsname = pviewrecord->getlayerstate(); if(!slsname.isempty()) { oddblayerstate::restore(pdb, slsname, oddblayerstate::kundefdonothing, oddblayerstate::kon|oddblayerstate::kfrozen); } see cnamedviewsdlg::onsetcurrentbutton() in namedviewsdlg.cpp in odamfcapp example for details. last edited by dmitry a. novikov; 6th february 2006 at 01:15 amfff">. |
所有的时间均为北京时间。 现在的时间是 03:27 PM. |