本文整理汇总了C++中object::ptr::setBlock方法的典型用法代码示例。如果您正苦于以下问题:C++ ptr::setBlock方法的具体用法?C++ ptr::setBlock怎么用?C++ ptr::setBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类object::ptr
的用法示例。
在下文中一共展示了ptr::setBlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: work
bool IsoSurface::work(vistle::Object::const_ptr grid,
vistle::Vec<vistle::Scalar>::const_ptr dataS,
vistle::DataBase::const_ptr mapdata) {
const int processorType = getIntParameter("processortype");
#ifdef CUTTINGSURFACE
const Scalar isoValue = 0.0;
#else
const Scalar isoValue = getFloatParameter("isovalue");
#endif
Leveller l(isocontrol, grid, isoValue, processorType);
l.setComputeNormals(m_computeNormals->getValue());
#ifndef CUTTINGSURFACE
l.setIsoData(dataS);
#endif
if(mapdata){
l.addMappedData(mapdata);
};
l.process();
#ifndef CUTTINGSURFACE
auto minmax = dataS->getMinMax();
if (minmax.first[0] < m_min)
m_min = minmax.first[0];
if (minmax.second[0] > m_max)
m_max = minmax.second[0];
#endif
Object::ptr result = l.result();
DataBase::ptr mapresult = l.mapresult();
if (result && !result->isEmpty()) {
#ifndef CUTTINGSURFACE
result->copyAttributes(dataS);
#endif
result->updateInternals();
result->copyAttributes(grid, false);
result->setTransform(grid->getTransform());
if (result->getTimestep() < 0) {
result->setTimestep(grid->getTimestep());
result->setNumTimesteps(grid->getNumTimesteps());
}
if (result->getBlock() < 0) {
result->setBlock(grid->getBlock());
result->setNumBlocks(grid->getNumBlocks());
}
if (mapdata && mapresult) {
mapresult->updateInternals();
mapresult->copyAttributes(mapdata);
mapresult->setGrid(result);
addObject(m_dataOut, mapresult);
}
#ifndef CUTTINGSURFACE
else {
addObject(m_dataOut, result);
}
#endif
}
return true;
}