#pragma once
#include "catmullclark_patch.h"
#include "bezier_curve.h"
namespace embree
{
template<class T, class S>
static __forceinline T deCasteljau(const S& uu, const T& v0, const T& v1, const T& v2, const T& v3)
{ … }
template<class T, class S>
static __forceinline T deCasteljau_tangent(const S& uu, const T& v0, const T& v1, const T& v2, const T& v3)
{ … }
template<typename Vertex>
__forceinline Vertex computeInnerBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x) { … }
template<typename Vertex>
__forceinline Vertex computeTopEdgeBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x) { … }
template<typename Vertex>
__forceinline Vertex computeBottomEdgeBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x) { … }
template<typename Vertex>
__forceinline Vertex computeLeftEdgeBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x) { … }
template<typename Vertex>
__forceinline Vertex computeRightEdgeBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x) { … }
template<typename Vertex>
__forceinline Vertex computeCornerBezierControlPoint(const Vertex v[4][4], const size_t y, const size_t x, const ssize_t delta_y, const ssize_t delta_x)
{ … }
template<typename Vertex, typename Vertex_t>
class __aligned(64) BezierPatchT
{ … };
BezierPatch3fa;
}