本文整理汇总了C++中GLFrame::TranslateWorld方法的典型用法代码示例。如果您正苦于以下问题:C++ GLFrame::TranslateWorld方法的具体用法?C++ GLFrame::TranslateWorld怎么用?C++ GLFrame::TranslateWorld使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLFrame
的用法示例。
在下文中一共展示了GLFrame::TranslateWorld方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clickFunc
void clickFunc(int key, int state, int x, int y)
{
if ((key == GLUT_LEFT_BUTTON) && (state == GLUT_DOWN))
{
// Click "New Desk(s)"-button
if ((x >= newDeskButton.getXPos()) && (x <= newDeskButton.getXPos() + newDeskButton.getWidth()) && (W_HEIGHT - y >= newDeskButton.getYPos()-newDeskButton.getHeight()/2) && (W_HEIGHT - y <= newDeskButton.getYPos()+newDeskButton.getHeight()/2))
{
buildMode = !buildMode;
hlGrid.deactivateAllSquares();
if (destroyMode)
destroyMode = false;
else
cRoom.toggleGrid();
}
// Click "Remove Desk(s)"-button
else if ((x >= removeDeskButton.getXPos()) && (x <= removeDeskButton.getXPos() + removeDeskButton.getWidth()) && (W_HEIGHT - y >= removeDeskButton.getYPos()-removeDeskButton.getHeight()/2) && (W_HEIGHT - y <= removeDeskButton.getYPos()+removeDeskButton.getHeight()/2))
{
destroyMode = !destroyMode;
hlGrid.deactivateAllSquares();
if (buildMode)
buildMode = false;
else
cRoom.toggleGrid();
}
// Click "Export to .TGA"-button
else if ((x >= exportButton.getXPos()) && (x <= exportButton.getXPos() + exportButton.getWidth()) && (W_HEIGHT - y >= exportButton.getYPos()-exportButton.getHeight()/2) && (W_HEIGHT - y <= exportButton.getYPos()+exportButton.getHeight()/2))
{
screenshot = true;
}
else
{
in.getCursor3(x, y, clickPos, cameraFrame, projectionStack);
if (buildMode)
{
hlGrid.deactivateAllSquares();
}
else if (!buildMode && !destroyMode)
{
trackCursor = true;
lastPos[0] = clickPos[0];
lastPos[1] = clickPos[1];
}
else if (destroyMode)
{
hlGrid.deactivateAllSquares();
}
}
}
else if ((key == GLUT_LEFT_BUTTON) && (state == GLUT_UP))
{
hlGrid.deactivateAllSquares();
// Do not act as ground if clicked on button
if (!((x >= newDeskButton.getXPos()) && (x <= newDeskButton.getXPos() + newDeskButton.getWidth()) && (W_HEIGHT - y >= newDeskButton.getYPos()-newDeskButton.getHeight()/2) && (W_HEIGHT - y <= newDeskButton.getYPos()+newDeskButton.getHeight()/2)) && !((x >= removeDeskButton.getXPos()) && (x <= removeDeskButton.getXPos() + removeDeskButton.getWidth()) && (W_HEIGHT - y >= removeDeskButton.getYPos()-removeDeskButton.getHeight()/2) && (W_HEIGHT - y <= removeDeskButton.getYPos()+removeDeskButton.getHeight()/2)) && !screenshot && !((x >= exportButton.getXPos()) && (x <= exportButton.getXPos() + exportButton.getWidth()) && (W_HEIGHT - y >= exportButton.getYPos()-exportButton.getHeight()/2) && (W_HEIGHT - y <= exportButton.getYPos()+exportButton.getHeight()/2)))
{
if (buildMode && !destroyMode)
{
in.getCursor3(x, y, actualPos, cameraFrame, projectionStack);
hlGrid.boxActivation(clickPos, actualPos);
vector< vector< float > > pos;
hlGrid.getSquarePositions(pos);
stuDesks.createDesks(pos);
hlGrid.deactivateAllSquares();
}
else if (!buildMode && destroyMode)
{
in.getCursor3(x, y, actualPos, cameraFrame, projectionStack);
hlGrid.boxActivation(clickPos, actualPos);
vector< vector< float > > dPos;
hlGrid.getSquarePositions(dPos);
stuDesks.destroyDesks(dPos);
hlGrid.deactivateAllSquares();
}
else if (!buildMode && !destroyMode)
trackCursor = false;
}
}
if (!mouseActive)
{
if (key == 3) //Scroll up
cameraFrame.TranslateWorld(0.0f, 0.0f, -0.5f); //Zoom in
if (key == 4) //Scroll down
cameraFrame.TranslateWorld(0.0f, 0.0f, 0.5f); //Zoom out
}
}