if boundary is allowed to be 3D there is no need for some new "edge"
feature type. I understand that it may make the topology code trickier,
but adding the new type seems redundant to me.
as for the kernel, it seems ok that it would be the center of a volume.
centroids can be 3D, so for faces just put one in the middle of the plane.
(I'm assuming that faces have to be flat, but maybe that doesn't have to
be. what happens if the boundary/edge polyline defining it is 3D like a
bent coat-hanger? why limit ourselves to 3D-TINs?)
if boundary is allowed to be 3D there is no need for some new "edge"
feature type. I understand that it may make the topology code trickier,
but adding the new type seems redundant to me.
I have recently imported shapefiles from the SRTM waterbody database which are 3D, but correct areas were built with the current 2D topology algorithms. In this particular case, 3D topology is not needed to preserve z coordinates. In general, z-values could be added to any 2D vector with areas and the current 2D topology building procedures could still work. An easy way to achieve this is to use 2D routines for boundaries and 3D routines for edges. Just an idea.
centroids can be 3D, so for faces just put one in the middle of the plane.
(I'm assuming that faces have to be flat, but maybe that doesn't have to
be. what happens if the boundary/edge polyline defining it is 3D like a
bent coat-hanger? why limit ourselves to 3D-TINs?)
AFAIAC, all that is open for discussion. All vector features, also boundaries, can be 3D i.e. have z-coordinates but currently 3D topology is not supported because not present in the vector libs. I don't know if faces have to be flat, if there are algorithms out there that support non-flat faces we could/should use them. Any 3D geometry expert out there? In any case, full 3D support in g7 would be really cool. I'm starting to search geometry libraries for 3D algorithms but first 3D algorithms are scarce and second these geometry libraries including GEOS can not always deal with "real-life" vector objects, they are made for ideal vector objects.