本文整理汇总了C++中ccBBox::getDiagNorm方法的典型用法代码示例。如果您正苦于以下问题:C++ ccBBox::getDiagNorm方法的具体用法?C++ ccBBox::getDiagNorm怎么用?C++ ccBBox::getDiagNorm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ccBBox
的用法示例。
在下文中一共展示了ccBBox::getDiagNorm方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadCalibratedImages
//.........这里部分代码省略.........
ccImage* CI = new ccImage();
QString errorStr;
if (!CI->load(QString("%0/%1").arg(path).arg(imageFileName),errorStr))
{
ccLog::Warning(QString("[IcmFilter] Failed to load image %1 (%2)! Process stopped...").arg(imageFileName).arg(errorStr));
delete CI;
fclose(fp);
return loadedImages;
}
ccLog::Print("[IcmFilter] Image '%s' loaded",imageFileName);
CI->setEnabled(false);
CI->setName(imageFileName);
#ifdef INCLUDE_PHOTOS
CI->setCompleteFileName(totalFileName);
#endif
//FOV
if (!fgets(line, MAX_ASCII_FILE_LINE_LENGTH , fp))
{
ccLog::Print("[IcmFilter] Read error (fieldOfView)!");
delete CI;
fclose(fp);
return loadedImages;
}
float fov_rad = 0;
sscanf(line,"\t fieldOfView %f\n",&fov_rad);
float fov_deg = fov_rad*static_cast<float>(CC_RAD_TO_DEG);
ccLog::Print("\t FOV=%f (degrees)",fov_deg);
//Position
float t[3];
if (!fgets(line, MAX_ASCII_FILE_LINE_LENGTH , fp))
{
ccLog::Error("[IcmFilter] Read error (position)!");
delete CI;
fclose(fp);
return loadedImages;
}
sscanf(line,"\t position %f %f %f\n",t,t+1,t+2);
ccLog::Print("\t Camera pos=(%f,%f,%f)",t[0],t[1],t[2]);
//Description
char desc[MAX_ASCII_FILE_LINE_LENGTH];
if (!fgets(line, MAX_ASCII_FILE_LINE_LENGTH , fp))
{
ccLog::Error("[IcmFilter] Read error (description)!");
delete CI;
fclose(fp);
return loadedImages;
}
sscanf(line,"\t description \"%s\"\n",desc);
//CI->setDescription(desc);
ccLog::Print("\t Description: '%s'",desc);
//Orientation
float axis[3], angle_rad;
if (!fgets(line, MAX_ASCII_FILE_LINE_LENGTH , fp))
{
ccLog::Error("[IcmFilter] Read error (orientation)!");
fclose(fp);
return loadedImages;
}
sscanf(line,"\t orientation %f %f %f %f\n",axis,axis+1,axis+2,&angle_rad);
ccLog::Print("\t Camera orientation=(%f,%f,%f)+[%f]",axis[0],axis[1],axis[2],angle_rad);
ccCameraSensor::IntrinsicParameters params;
params.vFOV_rad = fov_rad;
params.arrayWidth = CI->getW();
params.arrayHeight = CI->getH();
params.principal_point[0] = params.arrayWidth / 2.0f;
params.principal_point[1] = params.arrayHeight / 2.0f;
params.vertFocal_pix = 1.0f; //default focal (for the 3D symbol)
params.pixelSize_mm[0] = params.pixelSize_mm[1] = 1.0f;
ccCameraSensor* sensor = new ccCameraSensor(params);
ccGLMatrix mat;
mat.initFromParameters(angle_rad,CCVector3::fromArray(axis),CCVector3::fromArray(t));
sensor->setRigidTransformation(mat);
sensor->setGraphicScale(globalBBox.getDiagNorm() / 20);
sensor->setVisible(true);
sensor->setEnabled(false);
CI->addChild(sensor);
CI->setAssociatedSensor(sensor);
entities->addChild(CI);
++loadedImages;
}
}
fclose(fp);
return loadedImages;
}