本文整理汇总了C++中StelProjectorP::deltaZoom方法的典型用法代码示例。如果您正苦于以下问题:C++ StelProjectorP::deltaZoom方法的具体用法?C++ StelProjectorP::deltaZoom怎么用?C++ StelProjectorP::deltaZoom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StelProjectorP
的用法示例。
在下文中一共展示了StelProjectorP::deltaZoom方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateMotion
// Increment/decrement smoothly the vision field and position
void StelMovementMgr::updateMotion(double deltaTime)
{
updateVisionVector(deltaTime);
const StelProjectorP proj = core->getProjection(StelCore::FrameJ2000);
// the more it is zoomed, the lower the moving speed is (in angle)
double depl=keyMoveSpeed*deltaTime*1000*currentFov;
double deplzoom=keyZoomSpeed*deltaTime*1000*proj->deltaZoom(currentFov*(M_PI/360.0))*(360.0/M_PI);
if (flagMoveSlow)
{
depl *= 0.2;
deplzoom *= 0.2;
}
if (deltaAz<0)
{
deltaAz = -depl/30;
if (deltaAz<-0.2)
deltaAz = -0.2;
}
else if (deltaAz>0)
{
deltaAz = (depl/30);
if (deltaAz>0.2)
deltaAz = 0.2;
}
if (deltaAlt<0)
{
deltaAlt = -depl/30;
if (deltaAlt<-0.2)
deltaAlt = -0.2;
}
else if (deltaAlt>0)
{
deltaAlt = depl/30;
if (deltaAlt>0.2)
deltaAlt = 0.2;
}
if (deltaFov<0)
{
deltaFov = -deplzoom*5;
if (deltaFov<-0.15*currentFov)
deltaFov = -0.15*currentFov;
}
else if (deltaFov>0)
{
deltaFov = deplzoom*5;
if (deltaFov>20)
deltaFov = 20;
}
if (deltaFov != 0 )
{
changeFov(deltaFov);
}
panView(deltaAz, deltaAlt);
updateAutoZoom(deltaTime);
}