本文整理汇总了C++中KmlFactory::CreateCamera方法的典型用法代码示例。如果您正苦于以下问题:C++ KmlFactory::CreateCamera方法的具体用法?C++ KmlFactory::CreateCamera怎么用?C++ KmlFactory::CreateCamera使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KmlFactory
的用法示例。
在下文中一共展示了KmlFactory::CreateCamera方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetCamera
void OGRLIBKMLLayer::SetCamera( const char* pszCameraLongitude,
const char* pszCameraLatitude,
const char* pszCameraAltitude,
const char* pszCameraHeading,
const char* pszCameraTilt,
const char* pszCameraRoll,
const char* pszCameraAltitudeMode )
{
int isGX = FALSE;
int iAltitudeMode = kmlAltitudeModeFromString(pszCameraAltitudeMode, isGX);
if( isGX == FALSE && iAltitudeMode == kmldom::ALTITUDEMODE_CLAMPTOGROUND )
{
CPLError(CE_Warning, CPLE_AppDefined,
"Camera altitudeMode should be different from %s",
pszCameraAltitudeMode);
return;
}
KmlFactory *poKmlFactory = m_poOgrDS->GetKmlFactory();
CameraPtr camera = poKmlFactory->CreateCamera();
camera->set_latitude(CPLAtof(pszCameraLatitude));
camera->set_longitude(CPLAtof(pszCameraLongitude));
camera->set_altitude(CPLAtof(pszCameraAltitude));
if( pszCameraHeading != NULL )
camera->set_heading(CPLAtof(pszCameraHeading));
if( pszCameraTilt != NULL )
{
double dfTilt = CPLAtof(pszCameraTilt);
if( dfTilt >= 0 && dfTilt <= 90 )
camera->set_tilt(dfTilt);
else
CPLError(CE_Warning, CPLE_AppDefined, "Invalid value for tilt: %s",
pszCameraTilt);
}
if( pszCameraRoll != NULL )
camera->set_roll(CPLAtof(pszCameraRoll));
if( isGX )
camera->set_gx_altitudemode(iAltitudeMode);
else
camera->set_altitudemode(iAltitudeMode);
m_poKmlLayer->set_abstractview(camera);
}