Exemplo n.º 1
0
void MainWindow::standartMove(fpoint from, fpoint to) {
    syncNap(getAngle(input->coord.x, input->coord.y, to.x, to.y), getYAngle(sqrt(sqr(input->coord.x - to.x) + sqr(input->coord.y - to.y) + sqr(input->coord.h - to.h)), input->coord.h, to.h));
    elementarMove(to);
    superDfs();
    widget->botLast += 100.0 / input->n / input->n / input->h / 2;
    syncNap(getAngle(input->coord.x, input->coord.y, from.x, from.y), getYAngle(sqrt(sqr(from.x - input->coord.x) + sqr(from.y - input->coord.y) + sqr(from.h - input->coord.h)), input->coord.h, from.h));
    elementarMove(from);
}
Exemplo n.º 2
0
/* Update */
void MediKitObject::update()
{
	setYAngle(getYAngle() + INCREMENT_Y_ANGLE);
	if (!yPositionUpdated) {
		yPositionUpdated = true;
		setYPosition(getYPosition() + 1.0f);
	}
}
void mouseMove(SDL_Event event,Data*data){
  if(event.motion.state & SDL_BUTTON_LMASK){
    float sensitivity = 0.01;
    auto orbitCamera = std::dynamic_pointer_cast<OrbitCamera>(data->cameraTransform);
    if(orbitCamera){
      orbitCamera->setXAngle(orbitCamera->getXAngle() + event.motion.yrel*sensitivity);
      orbitCamera->setYAngle(orbitCamera->getYAngle() + event.motion.xrel*sensitivity);
    }
  }
  if(event.motion.state & SDL_BUTTON_RMASK){
    float step = 0.01;
    auto orbitCamera = std::dynamic_pointer_cast<OrbitCamera>(data->cameraTransform);
    if(orbitCamera){
      orbitCamera->setDistance(orbitCamera->getDistance() + event.motion.yrel*step);
    }
  }
  if(event.motion.state & SDL_BUTTON_MMASK){
    auto orbitCamera = std::dynamic_pointer_cast<OrbitCamera>(data->cameraTransform);
    orbitCamera->addXPosition(+orbitCamera->getDistance()*event.motion.xrel/data->window.width*2.);
    orbitCamera->addYPosition(-orbitCamera->getDistance()*event.motion.yrel/data->window.width*2.);
  }
}
void mouseMove(SDL_Event event,Data*data){
  bool recompute = false;
  if(event.motion.state & SDL_BUTTON_LMASK){
    float sensitivity = 0.01;
    auto orbitCamera = std::dynamic_pointer_cast<OrbitCamera>(data->cameraTransform);
    if(orbitCamera){
      orbitCamera->setXAngle(orbitCamera->getXAngle() + event.motion.yrel*sensitivity);
      orbitCamera->setYAngle(orbitCamera->getYAngle() + event.motion.xrel*sensitivity);
      recompute = true;
    }
  }
  if(event.motion.state & SDL_BUTTON_RMASK){
    float step = 0.1;
    auto orbitCamera = std::dynamic_pointer_cast<OrbitCamera>(data->cameraTransform);
    if(orbitCamera){
      orbitCamera->setDistance(orbitCamera->getDistance() + event.motion.yrel*step);
      recompute = true;
    }
    recompute = true;
  }
  if(recompute)
    data->mvp = data->cameraProjection->getProjection()*data->cameraTransform->getView();
}
Exemplo n.º 5
0
/* Render */
void MediKitObject::render(GameData &data)
{
	if (isPickedUp()) return;
	data.renderModel(GameData::MEDIKIT_MODEL_INDEX, getXPosition(), getYPosition(), getZPosition(), getYAngle(), 0.0f, 2.0f);
	if (DEBUG) renderBoundingCilinder();
}
Exemplo n.º 6
0
void Obstacle::render(GameData &data)
{
	if (obsType == COLUMN) 
		data.renderModel(GameData::COLUMN_MODEL_INDEX, getXPosition(), getYPosition(), getZPosition(), getYAngle(), 0.0f, 2.0f);
	else if (obsType == BARREL)
		data.renderModel(GameData::BARREL_MODEL_INDEX, getXPosition(), getYPosition(), getZPosition(), getYAngle(), 0.0f, 2.0f);
	if (DEBUG) renderBoundingCilinder();
}