Operation::QueryHasSurfaceIntersections

Checks if a mesh has intersections between different surfaces

Given a mesh with a surface that enabled MeshBuilder::AllowSurfaceIntersections, compute if there are actually such intersections present.

The result is stored in a TypedBlob with BlobType::QueryResult and DataSlot::QueryResultBool.

Note:
the query result is only available after the Operation was executed.
Note:
The mesh must be built with MeshBuilder::AllowSurfaceIntersections and have at least two surfaces. (i.e. we detect if the flag can be safely turned off, not if it was mistakenly disabled.)
Note:
there is currently no way to query which surfaces intersect. Should this limit your use case, please contact support.

CAUTION: do not confuse SurfaceBuilder::AllowSelfIntersections and MeshBuilder::AllowSurfaceIntersections.

Signature

class Operation:
    // Checks if a mesh has intersections between different surfaces
    fun queryHasSurfaceIntersections(
        mesh: MeshOperand,
    ) -> TypedBlob