本文整理汇总了C++中Object2D::transformationMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ Object2D::transformationMatrix方法的具体用法?C++ Object2D::transformationMatrix怎么用?C++ Object2D::transformationMatrix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Object2D
的用法示例。
在下文中一共展示了Object2D::transformationMatrix方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: resetTransformation
void DualComplexTransformationTest::resetTransformation() {
Object2D o;
o.setTransformation(DualComplex::rotation(Deg(17.0f)));
CORRADE_VERIFY(o.transformationMatrix() != Matrix3());
o.resetTransformation();
CORRADE_COMPARE(o.transformationMatrix(), Matrix3());
}
示例2:
void RigidMatrixTransformation2DTest::resetTransformation() {
Object2D o;
o.setTransformation(Matrix3::rotation(Deg(17.0f)));
CORRADE_VERIFY(o.transformationMatrix() != Matrix3());
o.resetTransformation();
CORRADE_COMPARE(o.transformationMatrix(), Matrix3());
}
示例3: resetTransformation
void TranslationTransformationTest::resetTransformation() {
Object2D o;
o.setTransformation({1.0f, -0.3f});
CORRADE_VERIFY(o.transformationMatrix() != Matrix3());
o.resetTransformation();
CORRADE_COMPARE(o.transformationMatrix(), Matrix3());
}
示例4: rotate
void DualComplexTransformationTest::rotate() {
{
Object2D o;
o.setTransformation(DualComplex::translation({1.0f, -0.3f}));
o.rotate(Deg(17.0f));
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f))*Matrix3::translation({1.0f, -0.3f}));
} {
Object2D o;
o.setTransformation(DualComplex::translation({1.0f, -0.3f}));
o.rotate(Deg(17.0f), TransformationType::Local);
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::translation({1.0f, -0.3f})*Matrix3::rotation(Deg(17.0f)));
}
}
示例5: transform
void DualComplexTransformationTest::transform() {
{
/* Can't transform with non-rigid transformation */
Object2D o;
std::ostringstream out;
Error::setOutput(&out);
o.transform(DualComplex({1.0f, 2.0f}, {}));
CORRADE_COMPARE(out.str(), "SceneGraph::DualComplexTransformation::transform(): the dual complex number is not normalized\n");
} {
Object2D o;
o.setTransformation(DualComplex::rotation(Deg(17.0f)));
o.transform(DualComplex::translation({1.0f, -0.3f}));
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::translation({1.0f, -0.3f})*Matrix3::rotation(Deg(17.0f)));
} {
Object2D o;
o.setTransformation(DualComplex::rotation(Deg(17.0f)));
o.transform(DualComplex::translation({1.0f, -0.3f}), TransformationType::Local);
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f))*Matrix3::translation({1.0f, -0.3f}));
}
}
示例6: setTransformation
void TranslationTransformationTest::setTransformation() {
Object2D o;
/* Dirty after setting transformation */
o.setClean();
CORRADE_VERIFY(!o.isDirty());
o.setTransformation({1.0f, -0.3f});
CORRADE_VERIFY(o.isDirty());
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::translation({1.0f, -0.3f}));
/* Scene cannot be transformed */
Scene2D s;
s.setClean();
s.setTransformation({1.0f, -0.3f});
CORRADE_VERIFY(!s.isDirty());
CORRADE_COMPARE(s.transformationMatrix(), Matrix3());
}
示例7: setTransformation
void DualComplexTransformationTest::setTransformation() {
Object2D o;
/* Can't transform with non-rigid transformation */
std::ostringstream out;
Error::setOutput(&out);
o.setTransformation(DualComplex({1.0f, 2.0f}, {}));
CORRADE_COMPARE(out.str(), "SceneGraph::DualComplexTransformation::setTransformation(): the dual complex number is not normalized\n");
/* Dirty after setting transformation */
o.setClean();
CORRADE_VERIFY(!o.isDirty());
o.setTransformation(DualComplex::rotation(Deg(17.0f)));
CORRADE_VERIFY(o.isDirty());
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f)));
/* Scene cannot be transformed */
Scene2D s;
s.setClean();
s.setTransformation(DualComplex::rotation(Deg(17.0f)));
CORRADE_VERIFY(!s.isDirty());
CORRADE_COMPARE(s.transformationMatrix(), Matrix3());
}
示例8: normalizeRotation
void DualComplexTransformationTest::normalizeRotation() {
Object2D o;
o.setTransformation(DualComplex::rotation(Deg(17.0f)));
o.normalizeRotation();
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f)));
}
示例9: translate
void TranslationTransformationTest::translate() {
Object2D o;
o.setTransformation({1.0f, -0.3f})
.translate({-0.5f, 2.0f});
CORRADE_COMPARE(o.transformationMatrix(), Matrix3::translation({1.0f, -0.3f})*Matrix3::translation({-0.5f, 2.0f}));
}