高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】breprenderer tesselation and edge visibility
breprenderer tesselation and edge visibility
breprenderer tesselation and edge visibility
hello,
we are using odbreprendererimpl::draw to tesselate 3dsolids and other brep geometry to shells (works really well ). i wanted to update our code to properly handle edge visibility and hoped that i would perhaps get a quad dominant mesh when hiding the invisible edges.
but probably i interpret the data incorrectly because the visibility flags i read seem to be just random...
for the following mesh
code:
3*--------*2
| |
0*--------*1with a facelist of {4,0,1,2,3} i would expect the visibility flag of edge (1,2) at pedgedata->visibility()[2]. and i would expect that for a connected mesh, each edge visibility is written twice (once within each neighboring face of the edge).
is this correct or not?
thanks alot in advance and best regards
daniel
an edge is determined by walking around the face in the order listed in the face list. for example, if the face list contained 3, 0, 1, 2, this would define a face having 3 vertices: vertex 0, vertex 1, and vertex 2., and which has edges from vertex 0 to 1, vertex 1 to 2, and vertex 2 to 0.
so i think that flag of edge (1,2) is at pedgedata->visibility()[1] in your sample.
now it works as expected!
thanks you for the instant help!
|