本文整理汇总了C++中Bezier::deCasteljauHalveCurve方法的典型用法代码示例。如果您正苦于以下问题:C++ Bezier::deCasteljauHalveCurve方法的具体用法?C++ Bezier::deCasteljauHalveCurve怎么用?C++ Bezier::deCasteljauHalveCurve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bezier
的用法示例。
在下文中一共展示了Bezier::deCasteljauHalveCurve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(Bezier, BezierFunctions) {
MathVector<float, 3> p[4], l[4], r[4];
p[0].set(-1,0,0); p[1].set(-1,1,0); p[2].set(1,1,0); p[3].set(1,0,0);
Bezier b; b.deCasteljauHalveCurve(p, l, r);
EXPECT_EQ(l[0],(MathVector<float, 3>(-1, 0, 0)));
EXPECT_EQ(l[1],(MathVector<float, 3>(-1, 0.5, 0)));
EXPECT_EQ(l[2],(MathVector<float, 3>(-0.5, 0.75, 0)));
EXPECT_EQ(l[3],(MathVector<float, 3>(0, 0.75, 0)));
EXPECT_EQ(r[3],(MathVector<float, 3>(1, 0, 0)));
EXPECT_EQ(r[2],(MathVector<float, 3>(1, 0.5, 0)));
EXPECT_EQ(r[1],(MathVector<float, 3>(0.5, 0.75, 0)));
EXPECT_EQ(r[0],(MathVector<float, 3>(0, 0.75, 0)));
//TODO Commented due to "stack smashing" error
// b.setFromCorners(MathVector<float, 3>(1, 0, 1),
// MathVector<float, 3>(-1, 0, 1),
// MathVector<float, 3>(1, 0, -1),
// MathVector<float, 3>(-1,0,-1));
// EXPECT_FALSE(b.checkForProblems());
}