Options.conservativeOutput

If true, the input geometry is interpreted as representing nearby geometry that has been snapped or simplified. It then outputs a conservative result based on the value of polygon_model() and polyline_model(). For the most part, this only affects the handling of degeneracies.

- If the model is OPEN, the result is as open as possible. For example, the intersection of two identical degenerate shells is empty under PolygonModel::OPEN because they could have been disjoint before snapping. Similarly, two identical degenerate polylines have an empty intersection under PolylineModel::OPEN.

- If the model is CLOSED, the result is as closed as possible. In the case of the DIFFERENCE operation, this is equivalent to evaluating A - B as Closure(A) - Interior(B). For other operations, it affects only the handling of degeneracies. For example, the union of two identical degenerate holes is empty under PolygonModel::CLOSED (i.e., the hole disappears) because the holes could have been disjoint before snapping.

- If the model is SEMI_OPEN, the result is as degenerate as possible. New degeneracies will not be created, but all degeneracies that coincide with the opposite region's boundary are retained unless this would cause a duplicate polygon edge to be created. This model is is very useful for working with input data that has both positive and negative degeneracies (i.e., degenerate shells and holes).

DEFAULT: false

class Options
const
bool
conservativeOutput
()

Meta