查看单个帖子
旧 2009-05-06, 11:50 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problems with class derived from odgigeometrysimplifier and

problems with class derived from odgigeometrysimplifier and
problems with class derived from odgigeometrysimplifier and transformations
hello!
i looked at the odvectorizeex example and i took the exgssimpledevice class to my application as a base. when i use this class i can open the drawing and see its primitives for example polylines via exgssimpledevicelylineproc().
but now i'm facing problems with drawing that has blocks and block references that have different rotation, scale and base points because then for example the polyline coordinates seem to be wrong. how can i take into account the block's transformation with these polyline primitives. i know in my code the current active blockreference.
here is peace of the code :
void exgssimpledevicelylineproc(odint32 nbpoints, const odgepoint3d *pvertexlist, const odgevector3d *pnormal, const odgevector3d *pextrusion, odint32 lbasesubentmarker)
{
for(int i=0; i<nbpoints; i++)
{
odgepoint3d p = pvertexlist[i];
//p.transformby(blkref_matrix);
//the point i get here have invalid value if the current entity belongs
//to block that has different scaling rotation and base point than the
//default, i have tried to transform this point with current blockreferen
//ce's matrix (the block's base point has been taken into account) but
//it doesn't seem to help
}
}
what should i do to get the correct coordinates for polyline primitives or is there another way to do it?
hi,
i don't see any problem (maybe i or you missed something).
all primitives in odvectorizeex are being transformed with all necessary (screen <- projection <- viewing <- model) matrices to get them in screen cs. what do you mean "coordinates seem to be wrong" ?
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)