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

trouble with plotstyles using the rendering framework...
trouble with plotstyles using the rendering framework...
i am trying to render using the plot styles... the odamfcapp works on the print preview for me... and im trying to emulate it... to that end i have:
code:
void chsview:ntraitsmodified()
{
odgsbasevectorizeview:ntraitsmodified();
if(m_pstype==odgicontext::kpsnone || device()->rendermode()!=odgsview::rendermode::k2doptimized)
{
const odgisubentitytraitsdata& enttraits = effectivetraits();
if(device()->m_bdrawfilledprimitive && device()->rendermode() == khiddenline)
device()->draw_color(device()->getcolor(0));
else
device()->draw_color(enttraits.truecolor());
device()->draw_lineweight(enttraits.lineweight());
device()->draw_fillstyle(enttraits.filltype()==kodgifillalways ? odps::kfssolid : odps::kfsuseobject);
}
else
{
const odpsplotstyledata& plotstyle = effectiveplotstyle();
device()->draw_color(plotstyle.color());
device()->draw_lineweight(plotstyle.lineweight());
device()->draw_fillstyle(plotstyle.fillstyle());
device()->draw_linetype(plotstyle.linetype(), plotstyle.isadaptivelinetype(), plotstyle.linepatternsize());
}
}
i'm using a monocrome.ctb which is successfully loaded and i am getting into the odpsplotstyledata segment of the code. however... the colors that come out aren't monocromatic... any ideas?
i figured out it...
place zlib.dll into the dd execution folder.
(from thirdpaty folder)
if you are using static build you should link to dd_vc6md_rxplotstyleservices.lib and use
odrx_declare_static_module_entry_point(odpsplotsty leservicesimpl);
construction
also before calling odinitialize() you should place odrx_init_static_module_map() macro
see odamfcapp for details
i have those entries... but am still getting colors
im using
odrx_declare_static_module_entry_point(odpsplotsty leservicesimpl);
and am calling odrx_init_static_module_map() before
odinitialize()...
and it seems to be loading my monochrome.ctb however... the colors that are passed here:
const odpsplotstyledata& plotstyle = effectiveplotstyle();
device()->draw_color(plotstyle.color());
are not monochromatic... any other ideas?
i use the static libs in 2003...
quote:
originally posted by dmitry a. novikov
hi,
so do you use dd in dlls or libs, and which version ?
specifically:
dd_vc2003md_alloc.lib
dd_vc2003md_gi.lib
dd_vc2003md_db.lib
dd_vc2003md_ge.lib
dd_vc2003md_gs.lib
dd_vc2003md_br.lib
dd_vc2003md_modelergeometry.lib
dd_vc2003md_acisbuilder.lib
dd_vc2003md_acisrenderer.lib
dd_vc2003md_root.lib
dd_vc2003md_zlib.lib
dd_vc2003md_zip.lib
dd_vc2003md_spatialindex.lib
dd_vc2003md_rxplotstyleservices.lib
dd_vc2003md_rxrasterservices.lib
success...
turns out i had some "debugging" code that was torturing me!
even though on initialization i was correctly setting the rendermode to be k2doptimized in my view's draw() i was calling setrendermode(kwireframe).
on a side note: is there any plans to implement plots styles support for khiddenline?
thanks for all the help,
tyler
tillerstarredwards
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)