views:

97

answers:

2

I've been reading about using the winged-edge data structure for storing a boundary representation. However, the linked site says that this is one of the oldest data structres for storing b-reps, are there newer better ones?

Secondly, is there an implementation of this in C#?

A: 

Not sure if this will help or not but there are Geometry objects in the XNA library for dealing with 3D Structures and what not. There may be something in there. However my guess is that it will either be Point based or Triangle based vs edge based.

But it might be a place to look.

Joshua Cauble
I'm quite familiar with XNA, I've never found anything like that :S
Martin
Not sure if you saw this link or not but it may be helpful, would need to convert it to C# but it may be able to point you in the right direction: http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml
Joshua Cauble
That's exact route I've been taking, thanks ;)
Martin
+1  A: 

The datastructure used for a B-rep is very similar to those used for polygonal modeling - you just replace the edges with curves and the faces with surfaces.

The wikipedia page on polygonal meshes has several types listed, including winged edge. Personally I like half-edge meshes. The only thing they can't do well is non-manifold topology, which you may or may not need. If you do, look for radial edge topology.

There's also a freely available B-rep datastructure from OpenNurbs (McNeel, the makers of Rhino). That also gets you file IO, which is nice.

tfinniga
You came in about 1 hour after I discovered the half edge data structure myself ;) A handy link you may want to edit into your answer is http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml
Martin