godot/thirdparty/embree/kernels/subdiv/bspline_curve.h

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

#pragma once

#include "../common/default.h"
#include "bezier_curve.h"

namespace embree
{
  class BSplineBasis
  {};
  
  struct PrecomputedBSplineBasis
  {};
  extern PrecomputedBSplineBasis bspline_basis0;
  extern PrecomputedBSplineBasis bspline_basis1;

  template<typename Vertex>
    struct BSplineCurveT
    {};
  
  template<typename Vertex>
    __forceinline void convert(const BezierCurveT<Vertex>& icurve, BezierCurveT<Vertex>& ocurve) {}
  
  template<typename Vertex>
    __forceinline void convert(const BSplineCurveT<Vertex>& icurve, BSplineCurveT<Vertex>& ocurve) {}
  
  template<typename Vertex>
    __forceinline void convert(const BezierCurveT<Vertex>& icurve, BSplineCurveT<Vertex>& ocurve)
  {}
  
  template<typename Vertex>
    __forceinline void convert(const BSplineCurveT<Vertex>& icurve, BezierCurveT<Vertex>& ocurve)
  {}

  template<typename CurveGeometry>
  __forceinline BSplineCurveT<Vec3ff> enlargeRadiusToMinWidth(const RayQueryContext* context, const CurveGeometry* geom, const Vec3fa& ray_org, const BSplineCurveT<Vec3ff>& curve)
  {}
  
  BSplineCurve3fa;
}