高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】polygon vs. simplepolygon
polygon vs. simplepolygon
polygon vs. simplepolygon
hi,
there are a few polygon methods defined in odgsbaseview, namely:
polygon
simplepolygon
linetypedpolygondc
polygondc
polygoneye
can anybody explain what is the purpose of each of the methods and what is their mutual relation? i guess polygondc is the final methods that receives already transformed points in the current dc space. i also guess polygon is the first method, which - if not hanled - calls the other methods. but what about the others?
the some for polylines.
thanks
arno歵
hi,
in v1.09 we strongly recommend to override polylinedc() and polygondc() only! and get finalized geometry in screen coordinates. in v1.10 rendering pipeline is redezigned to be more flexible and allows user to get finalized output (linetype, model clipping are applied) in different coordinates (worldcs, eyecs, screencs and eyecs + usercs) as a set of final lines, curves, meshes and texts.
here how it is in v1.09:
polygon receives calls from odgidrawable in model coordinates; to rasterize it -- model to device transform, model clipping (pushed by pushclippboundary()), linetype or filling should be applied.
polygoneye receives calls from odgidrawable in eye coordinates; to rasterize it -- eye to device transform, model clipping, filling should be applied.
simplepolygon called by dwg framework while process (either polygon(), shell(), mesh()); to rasterize it -- model to device transform, model clipping and filling should be applied.
linetypedpolygondc called by dwg framework while process (either polygon(), shell(), mesh()); to rasterize it -- linetype should be applied.
polygondc called by dwg framework while process (either polygon(), shell(), mesh()); it is finalized in screen coordinates.
thanks a lot dmitry, that was very descriptive and helpful.
because i need to handle entities on higher level then just polygons and polylines, i have yet to decide whether to write all the necessary operations (transforms, fills, linetypes, blocks, etc.) or wait for the 1.10 version. as i understand it, if i want to handle higher entities as well, i have to stay on the entry polygon/polyline level, because i do not get complex entities beyond that anymore. i have already covered most of the entities but i would be, naturally, more comfortable if dd would handle it instead. the words is that 1.10 is being released this month. is it still true?
thanks
arno歵
|