[Bf-committers] Report of HE Mesh
joeeagar at prodigy.net
Tue Mar 8 08:54:00 CET 2005
Jean-Luc Peuriere wrote:
> Le 7 mars 05, à 00:42, joeedh a écrit :
>> I've actually thought about this. It wil support:
>> * Closed and open meshes.
>> * Exceptional vertexs
>> * Multiple components
>> * Multiple shells
>> I think that maybe there can be isolated verts, not really difficult
>> to do (just set edge pointer to NULL), the only problem is how to you
>> make faces from them beyond triangles or quads.
>> Although, I don't want to support faces in faces or holes in faces
>> or that kind of thing. It seems to be that you can achieve a similar
>> result with various extrusion functions (like individual faces).
> The trick is that exceptional vertex support (that we need) is much
> easier if holes in faces are supported first. The order in which i
> presented things is significant, and the changes in the structs
> important. Note that supported dont mean implemented in actual
> interface, but you need the possibility in the code.
Well, the big problem would be maintaining compatibility with all the
previous code I've written, although I suppose that since I've been
using a fairly simple form of half-edge that that wouldn't be a problem. . .
> You really need to do (with help) a design phase first to make all
> these things clear. design before coding is a good principle,
> especially when you venture in parts a bit outside your knowledge.
Well, in this case I based a lot of design off of the old mesh code.
The problem is that I didn't realize how complex half-edge really is :).
> From your response to Campbell, you mean that the half-edge dont point
> directly to each other but to an intermediate struct which is
> asymmetric (2 pointers HE1, HE2) ? not good imho, the complete
> symmetry of the structs is the main advantage of half-edge on
> And you dont need that either to check Manifoldness. Adding a non
> manifold edge will not verify Euler formula, and each half-edge
> pair->pair is itself, that's all .
Well, first I have to find the correct Euler formula to use, as there
seems to be several.
And half-edges *do* refer directly to each other. They merely refer to
an info edge, too. Also, I read in a paper that Euler formula(s) don't
always detect every single non-manifold situation (could this be true?
sounds a little flimsy to me).
More information about the Bf-committers