23 static_assert(
D0 > 1,
"D0 must be > 1.");
24 static_assert(
D1 > 1,
"D1 must be > 1.");
45 const double e = std::numeric_limits<double>::epsilon();
A bezier patch with D0xD1 control points.
Definition BezierMesh.hpp:21
BezierMesh(const ArrayWrapper &p, const Vector2i &segments)
Definition BezierMesh.hpp:35
Impl mParametricMesh
Definition BezierMesh.hpp:27
Vertices vertices() const noexcept
Definition BezierMesh.hpp:69
Triangles triangles() const noexcept
Definition BezierMesh.hpp:66
typename Impl::Vertices Vertices
Definition BezierMesh.hpp:68
typename Impl::Triangles Triangles
Definition BezierMesh.hpp:65
BezierMesh(const Vector3(&p)[D1][D0], const Vector2i &segments={16, 16})
Definition BezierMesh.hpp:61
Definition MeshVertex.hpp:14
Vector3 normal
Unit vector perpendicular to the surface.
Definition MeshVertex.hpp:19
Vector2 texCoord
UV texture coordinates.
Definition MeshVertex.hpp:22
Vector3 position
Definition MeshVertex.hpp:16
Definition ParametricMesh.hpp:20
Definition ParametricMesh.hpp:36
A mesh with values evaluated using a callback function.
Definition ParametricMesh.hpp:18
Triangles triangles() const noexcept
Vertices vertices() const noexcept
Definition AnyGenerator.hpp:12
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition BezierMesh.hpp:29
ArrayWrapper(const Vector3(&p)[D1][D0])
Definition BezierMesh.hpp:32
Vector3 data[D1][D0]
Definition BezierMesh.hpp:30