本文整理汇总了C++中UList类的典型用法代码示例。如果您正苦于以下问题:C++ UList类的具体用法?C++ UList怎么用?C++ UList使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UList类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: GetPSFonts
void PostScriptView::ConstProcs (ostream& out) {
UList* fonts = GetPSFonts();
int nfonts = Count(fonts);
out << "/IdrawDict " << (50 + nfonts) << " dict def\n";
out << "IdrawDict begin\n\n";
if (nfonts > 0) {
for (const char** line = reencodeISO; *line != nil; ++line) {
out << *line << "\n";
}
for (UList* u = fonts->First(); u != fonts->End(); u = u->Next()) {
PSFont* font = GetFont(u);
// No way to check if the X font's encoding is iso8859-1, so...
if (strncmp(font->GetPrintFont(), "Symbol", 6) != 0) {
out << "/" << font->GetPrintFont() << " reencodeISO def\n";
} else {
out << "/" << font->GetPrintFont() << " dup findfont def\n";
}
}
out << "\n";
}
out << "/none null def\n";
out << "/numGraphicParameters 17 def\n";
out << "/stringLimit 65535 def\n\n";
}
开发者ID:jmzaleski,项目名称:ivtools-1.2,代码行数:29,代码来源:psview.c
示例2: abort
void Foam::syncTools::swapBoundaryCellPositions
(
const polyMesh& mesh,
const UList<point>& cellData,
List<point>& neighbourCellData
)
{
if (cellData.size() != mesh.nCells())
{
FatalErrorInFunction
<< "Number of cell values " << cellData.size()
<< " is not equal to the number of cells in the mesh "
<< mesh.nCells() << abort(FatalError);
}
const polyBoundaryMesh& patches = mesh.boundaryMesh();
label nBnd = mesh.nFaces()-mesh.nInternalFaces();
neighbourCellData.setSize(nBnd);
forAll(patches, patchI)
{
const polyPatch& pp = patches[patchI];
const labelUList& faceCells = pp.faceCells();
forAll(faceCells, i)
{
label bFaceI = pp.start()+i-mesh.nInternalFaces();
neighbourCellData[bFaceI] = cellData[faceCells[i]];
}
}
开发者ID:BarisCumhur,项目名称:OpenFOAM-dev,代码行数:31,代码来源:syncTools.C
示例3: ParentType
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
(
const Xfer< pointField >& pointLst,
const Xfer< List<Face> >& faceLst,
const UList<label>& zoneSizes,
const UList<word>& zoneNames
)
:
ParentType(pointLst, faceLst)
{
if (zoneSizes.size())
{
if (zoneNames.size())
{
setZones(zoneSizes, zoneNames);
}
else
{
setZones(zoneSizes);
}
}
else
{
setOneZone();
}
}
开发者ID:degirmen,项目名称:openfoam-extend-OpenFOAM-1.6-ext,代码行数:26,代码来源:UnsortedMeshedSurface.C
示例4: if
void Foam::processorLduInterface::receive
(
const Pstream::commsTypes commsType,
UList<Type>& f
) const
{
if (commsType == Pstream::blocking || commsType == Pstream::scheduled)
{
IPstream::read
(
commsType,
neighbProcNo(),
reinterpret_cast<char*>(f.begin()),
f.byteSize(),
tag()
);
}
else if (commsType == Pstream::nonBlocking)
{
memcpy(f.begin(), receiveBuf_.begin(), f.byteSize());
}
else
{
FatalErrorIn("processorLduInterface::receive")
<< "Unsupported communications type " << commsType
<< exit(FatalError);
}
}
开发者ID:Mat-moran,项目名称:OpenFOAM-2.0.x,代码行数:28,代码来源:processorLduInterfaceTemplates.C
示例5: if
bool Foam::UList<T>::operator<(const UList<T>& a) const
{
for
(
const_iterator vi = begin(), ai = a.begin();
vi < end() && ai < a.end();
vi++, ai++
)
{
if (*vi < *ai)
{
return true;
}
else if (*vi > *ai)
{
return false;
}
}
if (this->size_ < a.size_)
{
return true;
}
else
{
return false;
}
}
开发者ID:OpenFOAM,项目名称:OpenFOAM-dev,代码行数:28,代码来源:UList.C
示例6: Sort
void Selection::Sort (GraphicView* views) {
/*
* Note: this doesn't work if there are views in the selection from more than
* one GraphicViews.
*/
Iterator i;
UList* cur;
UList* newList = new UList;
views->First(i);
while (!views->Done(i) && !_ulist->IsEmpty()) {
cur = _ulist->First();
while (cur != _ulist->End()) {
if (views->GetView(i) == View(cur)) {
_ulist->Remove(cur);
newList->Append(cur);
break;
} else {
cur = cur->Next();
}
}
views->Next(i);
}
if (!_ulist->IsEmpty()) {
cerr << "warning: selection contained spurious element(s)\n";
}
delete _ulist;
_ulist = newList;
}
开发者ID:barak,项目名称:ivtools-cvs,代码行数:31,代码来源:selection.c
示例7: point
void Foam::boundBox::calculate(const UList<point>& points, const bool doReduce)
{
if (points.empty())
{
min_ = Zero;
max_ = Zero;
if (doReduce && Pstream::parRun())
{
// Use values that get overwritten by reduce minOp, maxOp below
min_ = point(VGREAT, VGREAT, VGREAT);
max_ = point(-VGREAT, -VGREAT, -VGREAT);
}
}
else
{
min_ = points[0];
max_ = points[0];
for (label i = 1; i < points.size(); i++)
{
min_ = ::Foam::min(min_, points[i]);
max_ = ::Foam::max(max_, points[i]);
}
}
// Reduce parallel information
if (doReduce)
{
reduce(min_, minOp<point>());
reduce(max_, maxOp<point>());
}
}
开发者ID:EricAlex,项目名称:OpenFOAM-dev,代码行数:34,代码来源:boundBox.C
示例8: abort
void Foam::AMIInterpolation::interpolateToTarget
(
const UList<Type>& fld,
const CombineOp& cop,
List<Type>& result,
const UList<Type>& defaultValues
) const
{
if (fld.size() != srcAddress_.size())
{
FatalErrorInFunction
<< "Supplied field size is not equal to source patch size" << nl
<< " source patch = " << srcAddress_.size() << nl
<< " target patch = " << tgtAddress_.size() << nl
<< " supplied field = " << fld.size()
<< abort(FatalError);
}
if (lowWeightCorrection_ > 0)
{
if (defaultValues.size() != tgtAddress_.size())
{
FatalErrorInFunction
<< "Employing default values when sum of weights falls below "
<< lowWeightCorrection_
<< " but supplied default field size is not equal to target "
<< "patch size" << nl
<< " default values = " << defaultValues.size() << nl
<< " target patch = " << tgtAddress_.size() << nl
<< abort(FatalError);
}
}
result.setSize(tgtAddress_.size());
if (singlePatchProc_ == -1)
{
const mapDistribute& map = srcMapPtr_();
List<Type> work(fld);
map.distribute(work);
forAll(result, facei)
{
if (tgtWeightsSum_[facei] < lowWeightCorrection_)
{
result[facei] = defaultValues[facei];
}
else
{
const labelList& faces = tgtAddress_[facei];
const scalarList& weights = tgtWeights_[facei];
forAll(faces, i)
{
cop(result[facei], facei, work[faces[i]], weights[i]);
}
}
}
}
开发者ID:OpenFOAM,项目名称:OpenFOAM-dev,代码行数:60,代码来源:AMIInterpolationTemplates.C
示例9: boundBox
// Construct as the bounding box of the given pointField
Foam::treeBoundBox::treeBoundBox
(
const UList<point>& points,
const UList<label>& meshPoints
)
:
boundBox()
{
if (points.empty() || meshPoints.empty())
{
WarningIn
(
"treeBoundBox::treeBoundBox"
"(const UList<point>&, const UList<label>&)"
) << "cannot find bounding box for zero-sized pointField"
<< "returning zero" << endl;
return;
}
min() = points[meshPoints[0]];
max() = points[meshPoints[0]];
for (label i = 1; i < meshPoints.size(); i++)
{
min() = ::Foam::min(min(), points[meshPoints[i]]);
max() = ::Foam::max(max(), points[meshPoints[i]]);
}
}
开发者ID:TsukasaHori,项目名称:openfoam-extend-foam-extend-3.1,代码行数:30,代码来源:treeBoundBox.C
示例10: forAll
void Foam::fileFormats::OFSsurfaceFormatCore::writeHeader
(
Ostream& os,
const pointField& pointLst,
const UList<surfZone>& zoneLst
)
{
// just emit some information until we get a nice IOobject
IOobject::writeBanner(os)
<< "// OpenFOAM Surface Format - written "
<< clock::dateTime().c_str() << nl
<< "// ~~~~~~~~~~~~~~~~~~~~~~~" << nl << nl
<< "// surfZones:" << nl;
// treat a single zone as being unzoned
if (zoneLst.size() <= 1)
{
os << "0" << token::BEGIN_LIST << token::END_LIST << nl << nl;
}
else
{
os << zoneLst.size() << nl << token::BEGIN_LIST << incrIndent << nl;
forAll(zoneLst, zoneI)
{
zoneLst[zoneI].writeDict(os);
}
os << decrIndent << token::END_LIST << nl << nl;
}
开发者ID:AmaneShino,项目名称:OpenFOAM-2.0.x,代码行数:30,代码来源:OFSsurfaceFormatCore.C
示例11: sumProd
scalar sumProd(const UList<scalar>& f1, const UList<scalar>& f2)
{
if (f1.size() && (f1.size() == f2.size()))
{
scalar SumProd = 0.0;
TFOR_ALL_S_OP_F_OP_F(scalar, SumProd, +=, scalar, f1, *, scalar, f2)
return SumProd;
}
开发者ID:jpola,项目名称:RapidCFD-dev,代码行数:8,代码来源:scalarField.C
示例12: Count
static int Count (UList* list) {
int i = 0;
for (UList* u = list->First(); u != list->End(); u = u->Next()) {
++i;
}
return i;
}
开发者ID:jmzaleski,项目名称:ivtools-1.2,代码行数:8,代码来源:psview.c
示例13: if
void Foam::processorLduInterface::send
(
const Pstream::commsTypes commsType,
const UList<Type>& f
) const
{
label nBytes = f.byteSize();
if
(
commsType == Pstream::commsTypes::blocking
|| commsType == Pstream::commsTypes::scheduled
)
{
OPstream::write
(
commsType,
neighbProcNo(),
reinterpret_cast<const char*>(f.begin()),
nBytes,
tag(),
comm()
);
}
else if (commsType == Pstream::commsTypes::nonBlocking)
{
resizeBuf(receiveBuf_, nBytes);
IPstream::read
(
commsType,
neighbProcNo(),
receiveBuf_.begin(),
nBytes,
tag(),
comm()
);
resizeBuf(sendBuf_, nBytes);
memcpy(sendBuf_.begin(), f.begin(), nBytes);
OPstream::write
(
commsType,
neighbProcNo(),
sendBuf_.begin(),
nBytes,
tag(),
comm()
);
}
else
{
FatalErrorInFunction
<< "Unsupported communications type " << int(commsType)
<< exit(FatalError);
}
}
开发者ID:OpenFOAM,项目名称:OpenFOAM-dev,代码行数:58,代码来源:processorLduInterfaceTemplates.C
示例14: Uncollected
static boolean Uncollected (const char* name, UList* fonts) {
for (UList* u = fonts->First(); u != fonts->End(); u = u->Next()) {
PSFont* font = (PSFont*) (*u)();
if (strcmp(font->GetPrintFont(), name) == 0) {
return false;
}
}
return true;
}
开发者ID:jmzaleski,项目名称:ivtools-1.2,代码行数:10,代码来源:psview.c
示例15: FindView
OverlayView* OverlayComp::FindView (Viewer* viewer) {
if (!_views) return nil;
for (UList* u = _views->First(); u != _views->End(); u = u->Next()) {
ComponentView* compview = View(u);
if (compview->IsA(OVERLAY_VIEW) &&
((OverlayView*)compview)->GetViewer() == viewer)
return (OverlayView*)compview;
}
return nil;
}
开发者ID:jmzaleski,项目名称:ivtools-1.2,代码行数:10,代码来源:ovcomps.c
示例16: sizeof
void Foam::Pstream::exchange
(
const UList<Container>& sendBufs,
const labelUList& recvSizes,
List<Container>& recvBufs,
const int tag,
const label comm,
const bool block
)
{
if (!contiguous<T>())
{
FatalErrorInFunction
<< "Continuous data only." << sizeof(T) << Foam::abort(FatalError);
}
if (sendBufs.size() != UPstream::nProcs(comm))
{
FatalErrorInFunction
<< "Size of list " << sendBufs.size()
<< " does not equal the number of processors "
<< UPstream::nProcs(comm)
<< Foam::abort(FatalError);
}
recvBufs.setSize(sendBufs.size());
recvBufs.setSize(sendBufs.size());
if (UPstream::parRun() && UPstream::nProcs(comm) > 1)
{
label startOfRequests = Pstream::nRequests();
// Set up receives
// ~~~~~~~~~~~~~~~
forAll(recvSizes, proci)
{
label nRecv = recvSizes[proci];
if (proci != Pstream::myProcNo(comm) && nRecv > 0)
{
recvBufs[proci].setSize(nRecv);
UIPstream::read
(
UPstream::commsTypes::nonBlocking,
proci,
reinterpret_cast<char*>(recvBufs[proci].begin()),
nRecv*sizeof(T),
tag,
comm
);
}
}
开发者ID:jheylmun,项目名称:OpenFOAM-dev,代码行数:54,代码来源:exchange.C
示例17: forAll
void Foam::fileFormats::VTKedgeFormat::writeEdges
(
Ostream& os,
const UList<edge>& edgeLst
)
{
os << "LINES " << edgeLst.size() << ' ' << 3*edgeLst.size() << nl;
forAll(edgeLst, edgeI)
{
const edge& e = edgeLst[edgeI];
os << "2 " << e[0] << ' ' << e[1] << nl;
}
}
开发者ID:000861,项目名称:OpenFOAM-2.1.x,代码行数:15,代码来源:VTKedgeFormat.C
示例18: Hash
UHashElem* UHashTable::Find (void* key) {
int n = Hash(key);
UList* slot = _slot[n];
if (slot != nil) {
for (UList* u = slot->First(); u != slot->End(); u = u->Next()) {
UHashElem* elem = Elem(u);
if (Equal(elem->GetKey(), key)) {
return elem;
}
}
}
return nil;
}
开发者ID:PNCG,项目名称:neuron,代码行数:15,代码来源:uhash.cpp
示例19: if
MultiLineObj::~MultiLineObj() {
#ifdef LEAKCHECK
_leakchecker->destroy();
#endif
if (_ulist) {
UList* head = _pts_by_n[count()];
head->Remove(_ulist);
delete _ulist;
delete _x;
delete _y;
} else if (_pts_made) {
delete _x;
delete _y;
}
}
开发者ID:barak,项目名称:ivtools-cvs,代码行数:15,代码来源:geomobjs.c
示例20: DrawIdrawComp
Component* DrawIdrawComp::Copy () {
DrawIdrawComp* comps = new DrawIdrawComp(GetPathName());
if (attrlist()) comps->SetAttributeList(new AttributeList(attrlist()));
Iterator i;
First(i);
while (!Done(i)) {
comps->Append((GraphicComp*)GetComp(i)->Copy());
Next(i);
}
for (UList* u = _graphedges->First(); u != _graphedges->End(); u = u->Next()) {
EdgeComp* edgecomp = (EdgeComp*) (*u)();
comps->AppendEdge(edgecomp);
}
return comps;
}
开发者ID:barak,项目名称:ivtools-cvs,代码行数:15,代码来源:drawcomps.c
注:本文中的UList类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论