本文整理汇总了C++中NodeMap::IsIdentityMap方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeMap::IsIdentityMap方法的具体用法?C++ NodeMap::IsIdentityMap怎么用?C++ NodeMap::IsIdentityMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeMap
的用法示例。
在下文中一共展示了NodeMap::IsIdentityMap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateParticlesAfterReMesh
void NodeBasedCellPopulation<DIM>::UpdateMapsAfterRemesh(NodeMap& map)
{
if (!map.IsIdentityMap())
{
UpdateParticlesAfterReMesh(map);
// Update the mappings between cells and location indices
///\todo we want to make mCellLocationMap private - we need to find a better way of doing this
std::map<Cell*, unsigned> old_map = this->mCellLocationMap;
// Remove any dead pointers from the maps (needed to avoid archiving errors)
this->mLocationCellMap.clear();
this->mCellLocationMap.clear();
for (std::list<CellPtr>::iterator it = this->mCells.begin();
it != this->mCells.end();
++it)
{
unsigned old_node_index = old_map[(*it).get()];
// This shouldn't ever happen, as the cell vector only contains living cells
assert(!map.IsDeleted(old_node_index));
unsigned new_node_index = map.GetNewIndex(old_node_index);
this->SetCellUsingLocationIndex(new_node_index,*it);
}
this->Validate();
}
}