本文整理汇总了C++中IOdictionary::toc方法的典型用法代码示例。如果您正苦于以下问题:C++ IOdictionary::toc方法的具体用法?C++ IOdictionary::toc怎么用?C++ IOdictionary::toc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOdictionary
的用法示例。
在下文中一共展示了IOdictionary::toc方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getCellTable
void getCellTable(const fvMesh & mesh)
{
cellTableMap_.clear();
cellTableId_.setSize(mesh.nCells(), 1);
IOdictionary cellTableDict
(
IOobject
(
"cellTable",
"constant",
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE,
false
)
);
volScalarField volField
(
IOobject
(
"cellTableId",
mesh.time().timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE,
false
),
mesh,
dimensionedScalar("cellTableId", dimless, 1.0)
);
// get cellTableId information from the volScalarField if possible
if (volField.headerOk())
{
const scalarField & field = volField.internalField();
forAll(field, cellI)
{
cellTableId_[cellI] = static_cast<int>(field[cellI]);
}
if (cellTableDict.headerOk())
{
// convert dictionary to map
wordList toc = cellTableDict.toc();
forAll(toc, i)
{
word keyword = toc[i];
if (!cellTableDict.isDict(keyword)) continue;
const dictionary & dict = cellTableDict.subDict(keyword);
if (dict.found("Id") && dict.found("MaterialType"))
{
label Id;
dict["Id"] >> Id;
dict["MaterialType"] >> keyword;
if (keyword == "fluid")
{
cellTableMap_.insert(Id, 1);
}
else if (keyword == "solid")
{
cellTableMap_.insert(Id, 2);
}
}
}
示例2: main
int main(int argc, char *argv[])
{
# include "addTimeOptions.H"
# include "setRootCase.H"
# include "createTime.H"
# include "createMesh.H"
IOdictionary stlDefs
(
IOobject
(
"stlDefinitions",
runTime.constant(),
"triSurface",
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
)
);
wordList toc = stlDefs.toc();
forAll (toc, item)
{
if (stlDefs.isDict(toc[item]))
{
Info << "\nCreates the STL surface for " << toc[item] << endl;
pointField pp ( stlDefs.subDict(toc[item]).lookup("points") );
faceList faces( stlDefs.subDict(toc[item]).lookup("faces") );
triFaceList tfl(0);
label count(0);
if (
stlDefs.subDict(toc[item])
.lookupOrDefault<Switch>("extrude", false )
)
{
if (faces.size() <= 1)
{
extrudeFacesAndPoints
(
stlDefs.subDict(toc[item]),
faces,
pp
);
}
else
{
Info << "\nWARNING: Using extrude, but"
<< " multiple faces are defined\n" << endl;
}
}
forAll (faces, facei)
{
faceTriangulation triangulation(pp, faces[facei], true );
tfl.setSize( count + triangulation.size() );
forAll (triangulation, triI)
{
tfl[count++] = triangulation[triI];
}
}
triSurface ts( tfl, pp );
Info << "Writes the STL surface for " << toc[item] << endl;
ts.write( "constant/triSurface/"+toc[item]+".stl" );
}