高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】register the modelergeometry module
register the modelergeometry module
register the modelergeometry module
i am using visual studio2005(c++).
i am want to use brep() of 3dsolid.
code:
void import::createentity( oddb3dsolid* pent )
{
odrx_declare_static_module_entry_point(modelermodu le);
odrx_begin_static_module_map()
odrx_define_static_application((const wchar_t*)"modelergeometry", modelermodule)
odrx_end_static_module_map()
odrx_init_static_module_map();
oddbsystemservicesptr psystemservices = odrxdynamiclinker()->sysservices();
odinitialize( psystemservices );
odrxclassptr pservice = odrxservicedictionary()->getat(dd_t("odmodelergeometrycreator"));
if( pservice.isnull() )
{
odrxmoduleptr pmodule = odrxdynamiclinker()->loadapp("modelergeometry");
if (pmodule.get())
{
pservice = odrxservicedictionary()->getat(dd_t("odmodelergeometrycreator"));
}
}
odbrbrep brep;
pent->brep( brep );
odbrbrepfacetraverser bft;
if( !brep.isnull() )
{
bft.setbrep( brep );
while( bft.done() )
{
odbrface face = bft.getface();
}
}
}
but pservice is null.why?
need i modelergeometry.drx file ?
now link file:
dd_vc8md_br.lib
dd_vc8md_alloc.lib
dd_vc8md_gi.lib
dd_vc8md_acisrenderer.lib
dd_vc8md_acisbuilder.lib
dd_vc8md_modelergeometry.lib
dd_vc8md_db.lib
dd_vc8md_ge.lib
dd_vc8md_gs.lib
dd_vc8md_root.lib
dd_vc8md_spatialindex.lib
dd_vc8md_ave.lib
dd_vc8md_recomputedimblock.lib
please give the detailed instruction.
thanks.
last edited by skunkworks; 13th july 2007 at 12:57 amfff">.
hi,
.drx file needed only for dll based application. for staticaly linked library application, you should use odrx_begin_static_module_map(). please, search in example folder for "odrx_begin_static_module_map()" and "_toolkit_in_dll_" for detailes. static library based application shouldn't define _toolkit_in_dll_. also you can test modeler loading by debug one of our example.
is pmodule null too ?
thank you very much,it is working.
|