高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】setdeviation Difficulties
setdeviation difficulties
setdeviation difficulties
i am using two devices for rendering. one which is winopengl device, the other wingdi. i (successfully) call odgigeometrysimplifier::setdeviation(devs) in the void odgsopenglvectorizeview::beginviewvectorization() function in the opengl device. however, i need both devices to render with the same deviation. i've tried to recreate this code in the wingdi device's void exgdivectorizeview::beginviewvectorization() but it has no effect. my code in this function looks like this:
code:
odgedoublearray devs(5,1);
devs.insert(devs.end(), 5, dtd);
m_pmetafiler->setdeviation(devs);
m_phlr->setdeviation(devs);
device()->setdeviation(devs);
m_pperspprepr->setdeviation(devs);
odgsbasevectorizeview::m_deviation[0]=dtd;
odgsbasevectorizeview::m_deviation[1]=dtd;
odgsbasevectorizeview::m_deviation[2]=dtd;
odgsbasevectorizeview::m_deviation[3]=dtd;
odgsbasevectorizeview::m_deviation[4]=dtd;
i realize that the two views have different inheritance trees, but i've tried alot of different things and nothing seems to change the rendering.
what am i missing? what should i be calling setdeviation on that i'm not now?
thanks,
tyler edwards
dmitry,
the solid red line represents an arc with a deviation of .1 as draw by the opengl device using the setdeviation call in the beginviewvectorization. the dashed red line represents the overlay of the same arc with the previous code calling setdeviation in the beginviewvectorization of the wingdi device. it is my assumption that they should draw on top of each other, and this never happens. i can easily manipulate the winopengl devices setdeviation, but nothing i try on the wingdi device seems to make any difference.
thanks,
tyler
attached images (28.2 kb, 24 views)
tillerstarredwards
|