// Copyright 2009-2021 Intel Corporation // SPDX-License-Identifier: Apache-2.0 #pragma once #include "triangle.h" #include "trianglev.h" #include "trianglev_mb.h" #include "intersector_epilog.h" /*! Modified Pluecker ray/triangle intersector. The test first shifts * the ray origin into the origin of the coordinate system and then * uses Pluecker coordinates for the intersection. Due to the shift, * the Pluecker coordinate calculation simplifies and the tests get * numerically stable. The edge equations are watertight along the * edge for neighboring triangles. */ namespace embree { namespace isa { template<int M, typename UVMapper> struct PlueckerHitM { … }; template<int M, bool early_out = true> struct PlueckerIntersector1 { … }; template<int K, typename UVMapper> struct PlueckerHitK { … }; template<int M, int K> struct PlueckerIntersectorK { … }; } }