本文整理汇总了C++中pointPatch::constraintType方法的典型用法代码示例。如果您正苦于以下问题:C++ pointPatch::constraintType方法的具体用法?C++ pointPatch::constraintType怎么用?C++ pointPatch::constraintType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pointPatch
的用法示例。
在下文中一共展示了pointPatch::constraintType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: patchTypeCstrIter
Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
(
const word& patchFieldType,
const word& actualPatchType,
const pointPatch& p,
const DimensionedField<Type, pointMesh>& iF
)
{
if (debug)
{
Info<< "PointPatchField<Type>::"
"New(const word&, const word&"
", const pointPatch&, const Field<Type>&) : "
"constructing pointPatchField<Type>"
<< endl;
}
typename pointPatchConstructorTable::iterator cstrIter =
pointPatchConstructorTablePtr_->find(patchFieldType);
if (cstrIter == pointPatchConstructorTablePtr_->end())
{
FatalErrorIn
(
"PointPatchField<Type>::New"
"(const word&, const word&, const pointPatch&, const Field<Type>&)"
) << "Unknown patchFieldType type "
<< patchFieldType << nl << nl
<< "Valid patchField types are :" << endl
<< pointPatchConstructorTablePtr_->sortedToc()
<< exit(FatalError);
}
autoPtr<pointPatchField<Type> > pfPtr(cstrIter()(p, iF));
if
(
actualPatchType == word::null
|| actualPatchType != p.type()
)
{
if (pfPtr().constraintType() != p.constraintType())
{
// Use default constraint type
typename pointPatchConstructorTable::iterator patchTypeCstrIter =
pointPatchConstructorTablePtr_->find(p.type());
if (patchTypeCstrIter == pointPatchConstructorTablePtr_->end())
{
FatalErrorIn
(
"PointPatchField<Type>::New"
"(const word&, const word&"
", const pointPatch&, const Field<Type>&)"
) << "inconsistent patch and patchField types for \n"
<< " patch type " << p.type()
<< " and patchField type " << patchFieldType
<< exit(FatalError);
}
return patchTypeCstrIter()(p, iF);
}
}
return pfPtr;
}
示例2: patchFieldType
Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
(
const pointPatch& p,
const DimensionedField<Type, pointMesh>& iF,
const dictionary& dict
)
{
if (debug)
{
Info<< "PointPatchField<Type>::"
"New(const pointPatch&, const Field<Type>&, const dictionary&)"
" : constructing pointPatchField<Type>"
<< endl;
}
word patchFieldType(dict.lookup("type"));
typename dictionaryConstructorTable::iterator cstrIter
= dictionaryConstructorTablePtr_->find(patchFieldType);
if (cstrIter == dictionaryConstructorTablePtr_->end())
{
if (!disallowGenericPointPatchField)
{
cstrIter = dictionaryConstructorTablePtr_->find("generic");
}
if (cstrIter == dictionaryConstructorTablePtr_->end())
{
FatalIOErrorIn
(
"PointPatchField<Type>::"
"New(const pointPatch&, const Field<Type>&, const dictionary&)",
dict
) << "Unknown patchField type " << patchFieldType
<< " for patch type " << p.type() << nl << nl
<< "Valid patchField types are :" << endl
<< dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalIOError);
}
}
// Construct (but not necesarily returned)
autoPtr<pointPatchField<Type> > pfPtr(cstrIter()(p, iF, dict));
if
(
!dict.found("patchType")
|| word(dict.lookup("patchType")) != p.type()
)
{
if (pfPtr().constraintType() == p.constraintType())
{
// Compatible (constraint-wise) with the patch type
return pfPtr;
}
else
{
// Use default constraint type
typename dictionaryConstructorTable::iterator patchTypeCstrIter
= dictionaryConstructorTablePtr_->find(p.type());
if (patchTypeCstrIter == pointPatchConstructorTablePtr_->end())
{
FatalIOErrorIn
(
"PointPatchField<Type>const pointPatch&, "
"const Field<Type>&, const dictionary&)",
dict
) << "inconsistent patch and patchField types for \n"
<< " patch type " << p.type()
<< " and patchField type " << patchFieldType
<< exit(FatalIOError);
}
return patchTypeCstrIter()(p, iF, dict);
}
}
return cstrIter()(p, iF, dict);
}