17 lines
411 B
C++
17 lines
411 B
C++
|
|
#include <gtest/gtest.h>
|
||
|
|
#include "vde/curves/nurbs_curve.h"
|
||
|
|
|
||
|
|
using namespace vde::curves;
|
||
|
|
|
||
|
|
TEST(NurbsTest, BSpline_UnitWeight) {
|
||
|
|
// 3 control points, degree 2, uniform knots
|
||
|
|
NurbsCurve curve(
|
||
|
|
{Point3D(0,0,0), Point3D(1,2,0), Point3D(2,0,0)},
|
||
|
|
{0,0,0,1,1,1},
|
||
|
|
{1,1,1},
|
||
|
|
2
|
||
|
|
);
|
||
|
|
auto p = curve.evaluate(0.5);
|
||
|
|
EXPECT_NEAR(p.y(), 1.0, 0.1); // Should peak near y=1
|
||
|
|
}
|