I have a collection of custom "PlanarMember" objects exposing Boundary and Openings properties. The Boundary property is a custom "Polygon" class exposing vertices and segments, etc. The Openings is an IEnumerable basically describing openings in the larger polygon. I can guarantee that the openings do not overlap/intersect, the outer boundary is non-self intersecting and closed, the openings are fully contained by the outer boundary and other reasonable limitations.
I want to create a WPF binding to allow me to throw these objects into a ItemsControl collection with a custom ItemsPanel of Canvas, that basically means I need to be able to convert my custom PlanarMember object into a WPF object that can be placed on a Canvas and look like a solid filled polygon with openings. This library is used in other contexts, so using a WPF class instead of the original PlanarMember is out of the question. It would be trivial to just represent the outer boundary as a WPF Polygon, but it's the openings that are throwing me. Any thoughts?
If it helps, some examples of what I'd be trying to represent include a wall with window and door openings, a floor slab with penetrations, etc. I also can't just draw solid filled shapes on the larger shape to represent openings because the objects behind need to show through the holes.