本文整理汇总了C++中Transformable::scaling方法的典型用法代码示例。如果您正苦于以下问题:C++ Transformable::scaling方法的具体用法?C++ Transformable::scaling怎么用?C++ Transformable::scaling使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transformable
的用法示例。
在下文中一共展示了Transformable::scaling方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(Transformable_objects, can_be_scaled)
{
Transformable t;
EXPECT_EQ(vec3(1,1,1), t.scaling());
t.scaleTo(vec3(2,3,4));
EXPECT_EQ(vec3(2,3,4), t.scaling());
t.scaleTo(-2,-5,-9);
EXPECT_EQ(vec3(-2,-5,-9), t.scaling());
t.scaleTo(2,3,4);
t.scale(4,2,3);
EXPECT_EQ(vec3(8,6,12), t.scaling());
t.scale(vec3(1.0f/4.0f, 1.0f/2.0f, 1.0f/3.0f));
EXPECT_EQ(vec3(2,3,4), t.scaling());
}
示例2: BPoint
// SetTransformation
void
ChannelTransform::SetTransformation(const Transformable& other)
{
// calc affine parameters
// translation
double tx;
double ty;
other.translation(&tx, &ty);
// rotation
double rotation = agg::rad2deg(other.rotation());
// scale
double scaleX;
double scaleY;
other.scaling(&scaleX, &scaleY);
if (isnanf(tx) || isnanf(ty) || isnanf(scaleX) || isnanf(scaleY))
return;
SetTransformation(B_ORIGIN, BPoint(tx, ty), rotation, scaleX, scaleY);
}