Fixed|BSP Builder: Space partitioner logic error resulting in mismatched sectors
When building line segments along the partitioning half-plane care must be taken with the edge case of intercept point incident which is incident with a vertex. In this situation if both "open" sectors are the same it means that we are building one or more line segments between a vertex and an outwardly convex "point". In such a case the sector of the last non-point should propagate along the partition line rather than choosing a sector from the current intercept pair.
By my reckoning this addresses the last of the serious issues in the space partitioner given well-formed input data.
We are now ready to introduce algorithms for linking the planes of certain BSP leafs to other sectors.
Todo for later: This should be considered a kludge and not a final solution. The intercept model used here is insufficient to represent all the cases and should be revised.
Fixed|BSP Builder: Space partitioner logic error resulting in mismatched sectors
When building line segments along the partitioning half-plane care
must be taken with the edge case of intercept point incident which
is incident with a vertex. In this situation if both "open" sectors
are the same it means that we are building one or more line segments
between a vertex and an outwardly convex "point". In such a case the
sector of the last non-point should propagate along the partition
line rather than choosing a sector from the current intercept pair.
By my reckoning this addresses the last of the serious issues in the
space partitioner given well-formed input data.
We are now ready to introduce algorithms for linking the planes of
certain BSP leafs to other sectors.
Todo for later: This should be considered a kludge and not a final
solution. The intercept model used here is insufficient to represent
all the cases and should be revised.