本文整理汇总了C++中FilterParameterSet::addMatrix44方法的典型用法代码示例。如果您正苦于以下问题:C++ FilterParameterSet::addMatrix44方法的具体用法?C++ FilterParameterSet::addMatrix44怎么用?C++ FilterParameterSet::addMatrix44使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FilterParameterSet
的用法示例。
在下文中一共展示了FilterParameterSet::addMatrix44方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addQDomElement
//添加元素
void FilterParameter::addQDomElement(FilterParameterSet &par, QDomElement &np)
{
QString name=np.attribute("name");
QString type=np.attribute("type");
qDebug(" Reading Param with name %s : %s",qPrintable(name),qPrintable(type));
if(type=="Bool") { par.addBool(name,np.attribute("value")!=QString("false")); return; }
if(type=="Int") { par.addInt(name,np.attribute("value").toInt()); return; }
if(type=="Float") { par.addFloat(name,np.attribute("value").toDouble()); return; }
if(type=="String") { par.addString(name,np.attribute("value")); return; }
if(type=="AbsPerc") { par.addAbsPerc(name,np.attribute("value").toFloat(),np.attribute("min").toFloat(),np.attribute("max").toFloat()); return; }
if(type=="Color") { par.addColor(name,QColor::QColor(np.attribute("rgb").toUInt())); return; }
if(type=="Matrix44")
{
Matrix44f mm;
for(int i=0;i<16;++i)
mm.V()[i]=np.attribute(QString("val")+QString::number(i)).toDouble();
par.addMatrix44(name,mm);
return;
}
if(type=="Enum")
{
QStringList list = QStringList::QStringList();
for(QDomElement ns = np.firstChildElement("EnumString"); !ns.isNull(); ns = ns.nextSiblingElement("EnumString")){
list<<ns.attribute("value");
}
par.addEnum(name,np.attribute("value").toInt(),list);
return;
}
if(type == MeshPointerName()) { par.addMesh(name, np.attribute(ValueName()).toInt()); return; }
if(type == FloatListName())
{
QList<float> values;
for(QDomElement listItem = np.firstChildElement(ItemName());
!listItem.isNull();
listItem = listItem.nextSiblingElement(ItemName()))
{
values.append(listItem.attribute(ValueName()).toFloat());
}
par.addFloatList(name,values);
return;
}
if(type == DynamicFloatName()) { par.addDynamicFloat(name, np.attribute(ValueName()).toFloat(), np.attribute(MinName()).toFloat(), np.attribute(MaxName()).toFloat(), np.attribute(MaskName()).toInt()); return; }
if(type == OpenFileNameName()) { par.addOpenFileName(name, np.attribute(ValueName())); return; }
if(type == SaveFileNameName()) { par.addSaveFileName(name, np.attribute(ValueName())); return; }
if(type=="Point3f")
{
Point3f val;
val[0]=np.attribute("x").toFloat();
val[1]=np.attribute("y").toFloat();
val[2]=np.attribute("z").toFloat();
par.addPoint3f(name, val);
return;
}
assert(0); // we are trying to parse an unknown xml element
}