本文整理汇总了C++中cclib::ScalarField::setValue方法的典型用法代码示例。如果您正苦于以下问题:C++ ScalarField::setValue方法的具体用法?C++ ScalarField::setValue怎么用?C++ ScalarField::setValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cclib::ScalarField
的用法示例。
在下文中一共展示了ScalarField::setValue方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scalar_cb
static int scalar_cb(p_ply_argument argument)
{
CCLib::ScalarField* sf = 0;
ply_get_argument_user_data(argument, (void**)(&sf), NULL);
p_ply_element element;
long instance_index;
ply_get_argument_element(argument, &element, &instance_index);
ScalarType scal = static_cast<ScalarType>(ply_get_argument_value(argument));
sf->setValue(instance_index,scal);
if ((++s_totalScalarCount % PROCESS_EVENTS_FREQ) == 0)
QCoreApplication::processEvents();
return 1;
}
示例2: if
//.........这里部分代码省略.........
++parts;
sprintf(partName,"%s.part_%i",cloudName,parts);
loadedCloud = new ccPointCloud(partName);
loadedCloud->reserveThePointsTable(fileChunkSize);
if (header.colors)
{
loadedCloud->reserveTheRGBTable();
loadedCloud->showColors(true);
}
if (header.normals)
{
loadedCloud->reserveTheNormsTable();
loadedCloud->showNormals(true);
}
if (header.scalarField)
loadedCloud->enableScalarField();
}
float Pf[3];
if (in.read((char*)Pf,sizeof(float)*3) < 0)
{
//Console::print("[BinFilter::loadModelFromBinaryFile] Error reading the %ith entity point !\n",k);
return CC_FERR_READING;
}
loadedCloud->addPoint(CCVector3::fromArray(Pf));
if (header.colors)
{
unsigned char C[3];
if (in.read((char*)C,sizeof(ColorCompType)*3) < 0)
{
//Console::print("[BinFilter::loadModelFromBinaryFile] Error reading the %ith entity colors !\n",k);
return CC_FERR_READING;
}
loadedCloud->addRGBColor(C);
}
if (header.normals)
{
CCVector3 N;
if (in.read((char*)N.u,sizeof(float)*3) < 0)
{
//Console::print("[BinFilter::loadModelFromBinaryFile] Error reading the %ith entity norms !\n",k);
return CC_FERR_READING;
}
loadedCloud->addNorm(N);
}
if (header.scalarField)
{
double D;
if (in.read((char*)&D,sizeof(double)) < 0)
{
//Console::print("[BinFilter::loadModelFromBinaryFile] Error reading the %ith entity distance!\n",k);
return CC_FERR_READING;
}
ScalarType d = static_cast<ScalarType>(D);
loadedCloud->setPointScalarValue(i,d);
}
lineRead++;
if (parameters.alwaysDisplayLoadDialog && !nprogress.oneStep())
{
loadedCloud->resize(i+1-fileChunkPos);
k=nbScansTotal;
i=nbOfPoints;
}
}
if (parameters.alwaysDisplayLoadDialog)
{
pdlg.stop();
QApplication::processEvents();
}
if (header.scalarField)
{
CCLib::ScalarField* sf = loadedCloud->getCurrentInScalarField();
assert(sf);
sf->setName(sfName);
//replace HIDDEN_VALUES by NAN_VALUES
for (unsigned i=0; i<sf->currentSize(); ++i)
{
if (sf->getValue(i) == FORMER_HIDDEN_POINTS)
sf->setValue(i,NAN_VALUE);
}
sf->computeMinAndMax();
loadedCloud->setCurrentDisplayedScalarField(loadedCloud->getCurrentInScalarFieldIndex());
loadedCloud->showSF(true);
}
container.addChild(loadedCloud);
}
return CC_FERR_NO_ERROR;
}
示例3: refCloud
//.........这里部分代码省略.........
assert(!inputCloud || nonEmptyCellIndex < inputCloud->size());
for (size_t i=0; i<exportedSFs.size(); ++i)
{
CCLib::ScalarField* sf = exportedSFs[i];
ScalarType sVal = NAN_VALUE;
switch (exportedFields[i])
{
case PER_CELL_HEIGHT:
sVal = static_cast<ScalarType>(aCell->h);
break;
case PER_CELL_COUNT:
sVal = static_cast<ScalarType>(aCell->nbPoints);
break;
case PER_CELL_MIN_HEIGHT:
sVal = static_cast<ScalarType>(aCell->minHeight);
break;
case PER_CELL_MAX_HEIGHT:
sVal = static_cast<ScalarType>(aCell->maxHeight);
break;
case PER_CELL_AVG_HEIGHT:
sVal = static_cast<ScalarType>(aCell->avgHeight);
break;
case PER_CELL_HEIGHT_STD_DEV:
sVal = static_cast<ScalarType>(aCell->stdDevHeight);
break;
case PER_CELL_HEIGHT_RANGE:
sVal = static_cast<ScalarType>(aCell->maxHeight - aCell->minHeight);
break;
default:
assert(false);
break;
}
if (resampleInputCloud)
sf->setValue(nonEmptyCellIndex,sVal);
else
sf->addElement(sVal);
}
++nonEmptyCellIndex;
}
else if (fillEmptyCells) //empty cell
{
//even if we have resampled the original cloud, we must add the point
//corresponding to this empty cell
{
CCVector3 Pf( static_cast<PointCoordinateType>(Px),
static_cast<PointCoordinateType>(Py),
static_cast<PointCoordinateType>(emptyCellsHeight) );
cloudGrid->addPoint(Pf);
}
assert(exportedSFs.size() == exportedFields.size());
for (size_t i=0; i<exportedSFs.size(); ++i)
{
if (!exportedSFs[i])
{
continue;
}
if (exportedFields[i] == PER_CELL_HEIGHT)
{
//we set the point height to the default height
ScalarType s = static_cast<ScalarType>(emptyCellsHeight);
exportedSFs[i]->addElement(s);
}
else
{
示例4: loadFile
//.........这里部分代码省略.........
//create scalar field?
int newSFIndex = createSF ? vertices->addScalarField(qPrintable(lastSfName)) : -1;
CCLib::ScalarField* sf = newSFIndex >= 0 ? vertices->getScalarField(newSFIndex) : 0;
lastSfName.clear(); //name is "consumed"
for (unsigned i=0; i<ptsCount; ++i)
{
nextline = inFile.readLine();
if (sf) //otherwise we simply skip the line
{
QStringList parts = nextline.split(" ",QString::SkipEmptyParts);
if (parts.size() != 1)
{
//get rid of the scalar field :(
vertices->deleteScalarField(newSFIndex);
sf = 0;
if (i == 0)
{
ccLog::Warning(QString("[VTK] %1 field with more than one element can't be imported as scalar fields!").arg(itemName));
}
else
{
error = CC_FERR_MALFORMED_FILE;
break;
}
}
else
{
bool ok;
ScalarType d = static_cast<ScalarType>(nextline.toDouble(&ok));
sf->setValue(i, ok ? d : NAN_VALUE);
}
}
}
if (sf)
{
sf->computeMinAndMax();
vertices->setCurrentDisplayedScalarField(newSFIndex);
vertices->showSF(true);
}
//end of SCALARS
}
else if (nextline.startsWith("POINT_DATA"))
{
//check that the number of 'point_data' match the number of points
QStringList parts = nextline.split(" ",QString::SkipEmptyParts);
acceptLookupTables = false;
if (parts.size() > 1)
{
bool ok;
unsigned dataCount = parts[1].toUInt(&ok);
if (ok && vertices && dataCount == vertices->size())
{
acceptLookupTables = true;
}
}
if (!acceptLookupTables)
{
ccLog::Warning("[VTK] The number of 'POINT_DATA' doesn't match the number of loaded points... lookup tables will be ignored");
}
}