本文整理汇总了C++中ProblemDomain::intersects方法的典型用法代码示例。如果您正苦于以下问题:C++ ProblemDomain::intersects方法的具体用法?C++ ProblemDomain::intersects怎么用?C++ ProblemDomain::intersects使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProblemDomain
的用法示例。
在下文中一共展示了ProblemDomain::intersects方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: define
//.........这里部分代码省略.........
for (LayoutIterator from(a_level.layoutIterator()); from.ok(); ++from)
{
vectorLevelDI.push_back(DataIndex(from()));
if (myprocID == level.procID(from()))
{
vectorLevelOnProcDI.push_back(DataIndex(from()));
}
}
#else
// in serial, it's not very interesting as it's all of them.
vector<DataIndex> vectorDestOnProcDI;
vector<DataIndex> vectorLevelDI;
for (LayoutIterator to(a_dest.layoutIterator()); to.ok(); ++to)
{
vectorDestOnProcDI.push_back(DataIndex(to()));
}
for (LayoutIterator from(a_level.layoutIterator()); from.ok(); ++from)
{
vectorLevelDI.push_back(DataIndex(from()));
}
#endif
// loop over all dest/to DI's on my processor
for (vector<DataIndex>::iterator vdi=vectorDestOnProcDI.begin();
vdi != vectorDestOnProcDI.end(); ++vdi)
{
// at this point, i know myprocID == toProcID
const DataIndex todi(*vdi);
Box ghost(dest[todi]);
// don't do anything if ghost is entirely outside domain
// may need to revisit this in the periodic case
if (a_domain.intersects(ghost))
{
// this is somewhat different from the "normal" Copier. We only want
// to look at ghost cells if they're outside the domain.
// note that we don't want to do this for domain ghost cells in the
// transverse (spreading) directions.
for (int dir=0; dir<SpaceDim; dir++)
{
bool isTransverseDir = false;
for (int n=0; n<m_transverseDir.size(); n++)
{
if (dir == m_transverseDir[n]) isTransverseDir = true;
}
// only need to do this if we specify a ghost radius
if (!isTransverseDir && a_ghost[dir] != 0)
{
if (ghost.bigEnd(dir) == domainBox.bigEnd(dir))
{
ghost.growHi(dir, a_ghost[dir]);
}
if (ghost.smallEnd(dir) == domainBox.smallEnd(dir))
{
ghost.growLo(dir, a_ghost[dir]);
}
}
}
Box destBox(ghost);
// for this Copier, we want to grow the "dest" region to cover the
// entire domain in the transverse direction. In that way, we