godot/thirdparty/embree/kernels/bvh/bvh_intersector1.cpp

// Copyright 2009-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#include "bvh_intersector1.h"
#include "node_intersector1.h"
#include "bvh_traverser1.h"

#include "../geometry/intersector_iterators.h"
#include "../geometry/triangle_intersector.h"
#include "../geometry/trianglev_intersector.h"
#include "../geometry/trianglev_mb_intersector.h"
#include "../geometry/trianglei_intersector.h"
#include "../geometry/quadv_intersector.h"
#include "../geometry/quadi_intersector.h"
#include "../geometry/curveNv_intersector.h"
#include "../geometry/curveNi_intersector.h"
#include "../geometry/curveNi_mb_intersector.h"
#include "../geometry/linei_intersector.h"
#include "../geometry/subdivpatch1_intersector.h"
#include "../geometry/object_intersector.h"
#include "../geometry/instance_intersector.h"
#include "../geometry/instance_array_intersector.h"
#include "../geometry/subgrid_intersector.h"
#include "../geometry/subgrid_mb_intersector.h"
#include "../geometry/curve_intersector_virtual.h"

namespace embree
{
  namespace isa
  {
    template<int N, int types, bool robust, typename PrimitiveIntersector1>
    void BVHNIntersector1<N, types, robust, PrimitiveIntersector1>::intersect(const Accel::Intersectors* __restrict__ This,
                                                                              RayHit& __restrict__ ray,
                                                                              RayQueryContext* __restrict__ context)
    {}

    template<int N, int types, bool robust, typename PrimitiveIntersector1>
    void BVHNIntersector1<N, types, robust, PrimitiveIntersector1>::occluded(const Accel::Intersectors* __restrict__ This,
                                                                             Ray& __restrict__ ray,
                                                                             RayQueryContext* __restrict__ context)
    {}

    template<int N, int types, bool robust, typename PrimitiveIntersector1>
    struct PointQueryDispatch
    {};

    /* disable point queries for not yet supported geometry types */
    PointQueryDispatch<N, types, robust, VirtualCurveIntersector1>;
    
    PointQueryDispatch<N, types, robust, SubdivPatch1Intersector1>;
    
    PointQueryDispatch<N, types, robust, SubdivPatch1MBIntersector1>;

    template<int N, int types, bool robust, typename PrimitiveIntersector1>
    bool BVHNIntersector1<N, types, robust, PrimitiveIntersector1>::pointQuery(
      const Accel::Intersectors* This, PointQuery* query, PointQueryContext* context)
    {}
  }
}