[Bf-committers] Report of HE Mesh

joeedh 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 
> Winged-edge.
> 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 mailing list