namespace MeshIntersection
{
    struct FPointIntersection
	{
		int TriangleID[ 2 ];
		FVector3d Point;
	};
	
	struct FSegmentIntersection
	{
		int TriangleID[ 2 ];
		FVector3d Point[ 2 ];
	};
	
	struct FPolygonIntersection
	{
		int TriangleID[ 2 ];
		FVector3d Point[ 6 ];
		int Quantity;
	};
	
	struct FIntersectionsQueryResult
	{
		TArray< FPointIntersection >   Points;
		TArray< FSegmentIntersection > Segments;
		TArray< FPolygonIntersection > Polygons;
	};
}