本文整理汇总了C++中Matrix3::Rotate方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix3::Rotate方法的具体用法?C++ Matrix3::Rotate怎么用?C++ Matrix3::Rotate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Matrix3
的用法示例。
在下文中一共展示了Matrix3::Rotate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: transform
void RubikCube::transform(int axis, bool is_clockwise)
{
count++;
Matrix3 mat;
int x, y, z;
float theta;
theta = is_clockwise ? -DELTA_ANGLE : DELTA_ANGLE;
switch (axis) {
case 0:
case 1:
case 2:
for (y = 0; y < 3; y++)
for (z = 0; z < 3; z++)
SubCube[axis][y][z]->multiMatrix(mat.Rotate(theta, axis/3));
if (count == COUNT_MAX_NUM)
{
count = 0;
updateCubeIndex(axis, is_clockwise);
}
break;
case 3:
case 4:
case 5:
for (x = 0; x < 3; x++)
for (z = 0; z < 3; z++)
SubCube[x][axis%3][z]->multiMatrix(mat.Rotate(theta, axis/3));
if (count == COUNT_MAX_NUM)
{
count = 0;
updateCubeIndex(axis, is_clockwise);
}
break;
case 6:
case 7:
case 8:
for (x = 0; x < 3; x++)
for (y = 0; y < 3; y++)
SubCube[x][y][axis%3]->multiMatrix(mat.Rotate(theta, axis/3));
if (count == COUNT_MAX_NUM)
{
count = 0;
updateCubeIndex(axis, is_clockwise);
}
break;
default:
break;
}
}
示例2: oglcontext
void Opengl2dPainter::renderBegin(Pen& pen, Matrix3& matrix)
{
OpenglContext oglcontext(_pPimpl->hdc, _pPimpl->hrc);
glClearColor(pen.color().r/ 255.0, pen.color().g/255.0, pen.color().b/255.0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
Matrix3 m;
m.Rotate( _pPimpl->angle);
_pPimpl->worldMatrix = matrix * m;
}