本文整理汇总了C++中IDomain::contains方法的典型用法代码示例。如果您正苦于以下问题:C++ IDomain::contains方法的具体用法?C++ IDomain::contains怎么用?C++ IDomain::contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDomain
的用法示例。
在下文中一共展示了IDomain::contains方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkInput
QVariant AttributeDefinition::checkInput(const QVariant& inputVar, quint32 columnIndex) const{
QVariant actualval= inputVar;
const ColumnDefinition& coldef = columndefinitionRef(columnIndex);
QString typenm = inputVar.typeName();
if ( !coldef.datadef().domain<>().isValid()){
ERROR2(ERR_NO_INITIALIZED_2,"Domain",coldef.name());
return QVariant();
}
IlwisTypes domtype = coldef.datadef().domain<>()->ilwisType();
IlwisTypes valueType = coldef.datadef().domain<>()->valueType();
IDomain dm = coldef.datadef().domain<>();
if ( domtype == itITEMDOMAIN){
if ( inputVar == sUNDEF){
return QVariant((int)iUNDEF);
} else if ( typenm == "QString"){
actualval = dm->impliedValue(inputVar);
SPItemRange rng2 = coldef.datadef().range<ItemRange>();
if ( !hasType(valueType,itINDEXEDITEM)){
SPItemRange rng1 = dm->range<ItemRange>();
SPDomainItem item = rng1->item(inputVar.toString());
if ( item.isNull()){
return QVariant((int)iUNDEF);
}
if ( !rng2->contains(item->name())){
rng2->add(item->clone());
}
actualval = item->raw();
}
}
}else if ( domtype == itNUMERICDOMAIN){
if (typenm == "QString")
actualval = dm->impliedValue(inputVar);
if ( hasType(valueType,itDATETIME) && actualval.value<Ilwis::Time>() == tUNDEF)
return actualval;
else if (isNumericalUndef(actualval.toDouble()))
return rUNDEF;
if (! dm->contains(actualval))
actualval = rUNDEF;
else {
SPNumericRange rng = coldef.datadef().range<NumericRange>();
if ( !rng.isNull()){
if ( hasType(valueType,itDATETIME))
rng->add(actualval.value<Ilwis::Time>());
else
rng->add(actualval.toDouble());
}
}
} else if ( domtype == itTEXTDOMAIN){
return dm->impliedValue(inputVar);
}
return actualval;
}
示例2: setSubDefinition
//-------------------------------------------------------------------------------------------
void SubFeatureDefinition::setSubDefinition(const IDomain &dom, const std::vector<QString> &items)
{
_index2subFeature.clear();
for( auto item : items){
if ( !dom->contains(item)) {
continue;
}
_index2subFeature.push_back(item);
}
_subFeatureDomain = dom;
for(auto item : _index2subFeature){
_subFeature2Index[item] = _subFeature2Index.size() - 1;
}
}