#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;
}