/////////////////////// // ScreenImage class // /////////////////////// ScreenImage::ScreenImage(const QString& filename, float x, float y, bool show, float scale, float alpha, float fadeDuration) : tex(NULL), maxAlpha(alpha) { try { QString path = StelFileMgr::findFile("scripts/" + filename); QPixmap pm(path); tex = StelMainGraphicsView::getInstance().scene()->addPixmap(pm.scaled(pm.size()*scale)); tex->setPos(x, y); anim = new QGraphicsItemAnimation(); moveTimer = new QTimeLine(); moveTimer->setCurveShape(QTimeLine::LinearCurve); anim->setTimeLine(moveTimer); anim->setItem(tex); fadeTimer = new QTimeLine(); fadeTimer->setCurveShape(QTimeLine::LinearCurve); setFadeDuration(fadeDuration); connect(fadeTimer, SIGNAL(valueChanged(qreal)), this, SLOT(setOpacity(qreal))); // set inital displayed state if (show) tex->setOpacity(maxAlpha); else tex->setOpacity(0.); } catch (std::runtime_error& e) { qWarning() << "Failed to create ScreenImage: " << e.what(); } }
Atmosphere::Atmosphere() : sky_resolution(48), tab_sky(NULL), world_adaptation_luminance(0.f), atm_intensity(0), lightPollutionLuminance(0) { // Create the vector array used to store the sky color on the full field of view tab_sky = new Vec3f*[sky_resolution+1]; for (int k=0; k<sky_resolution+1 ; k++) { tab_sky[k] = new Vec3f[sky_resolution+1]; } setFadeDuration(3.f); }
Atmosphere::Atmosphere() : viewport(0,0,0,0) , averageLuminance(0.f) , eclipseFactor(1.f) , lightPollutionLuminance(0) , shader(NULL) , vertexGrid(NULL) , renderer(NULL) { setFadeDuration(1.5f); }
LRESULT EpLight::handleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { D3DXCOLOR color( 1.0f, 0.0f, 0.0f, 1.0f ); //static ArnVec3 vPos( -38.0f, -10.0f, 10.0f) ; switch ( uMsg ) { case WM_KEYDOWN: switch( wParam ) { case 'I': stopFlicker(); fadeInLight(); break; case 'O': fadeOutLight(); break; case 'F': setFlickerColor( color ); setFadeDuration( 0.5f ); flicker( 10.0f ); break; /* case VK_UP: vPos.x += 1.0f; break; case VK_DOWN: vPos.x -= 1.0f; break; case VK_LEFT: vPos.y += 1.0f; break; case VK_RIGHT: vPos.y -= 1.0f; break;*/ } break; } /*setLightPos(vPos);*/ return S_OK; }