本文整理汇总了C++中TransformationMatrix::applyTransformOrigin方法的典型用法代码示例。如果您正苦于以下问题:C++ TransformationMatrix::applyTransformOrigin方法的具体用法?C++ TransformationMatrix::applyTransformOrigin怎么用?C++ TransformationMatrix::applyTransformOrigin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TransformationMatrix
的用法示例。
在下文中一共展示了TransformationMatrix::applyTransformOrigin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: totalTransform
static TransformationMatrix totalTransform(const TransformPaintPropertyNode* currentSpace)
{
TransformationMatrix matrix;
for (; currentSpace; currentSpace = currentSpace->parent()) {
TransformationMatrix localMatrix = currentSpace->matrix();
localMatrix.applyTransformOrigin(currentSpace->origin());
matrix = localMatrix * matrix;
}
return matrix;
}
示例2:
TEST(TransformationMatrixTest, ApplyTransformOrigin) {
TransformationMatrix matrix;
// (0,0,0) is a fixed point of this scale.
// (1,1,1) should be scaled appropriately.
matrix.scale3d(2, 3, 4);
EXPECT_EQ(FloatPoint3D(0, 0, 0), matrix.mapPoint(FloatPoint3D(0, 0, 0)));
EXPECT_EQ(FloatPoint3D(2, 3, -4), matrix.mapPoint(FloatPoint3D(1, 1, -1)));
// With the transform origin applied, (1,2,3) is the fixed point.
// (0,0,0) should be scaled according to its distance from (1,2,3).
matrix.applyTransformOrigin(1, 2, 3);
EXPECT_EQ(FloatPoint3D(1, 2, 3), matrix.mapPoint(FloatPoint3D(1, 2, 3)));
EXPECT_EQ(FloatPoint3D(-1, -4, -9), matrix.mapPoint(FloatPoint3D(0, 0, 0)));
}