本文整理汇总了C++中NodeMap::GetNewIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeMap::GetNewIndex方法的具体用法?C++ NodeMap::GetNewIndex怎么用?C++ NodeMap::GetNewIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeMap
的用法示例。
在下文中一共展示了NodeMap::GetNewIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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();
}
}
示例2:
void MeshBasedCellPopulationWithGhostNodes<DIM>::UpdateGhostNodesAfterReMesh(NodeMap& rMap)
{
// Copy mIsGhostNode to a temporary vector
std::vector<bool> ghost_nodes_before_remesh = mIsGhostNode;
// Reinitialise mIsGhostNode
mIsGhostNode.clear();
mIsGhostNode.resize(this->GetNumNodes());
// Update mIsGhostNode using the node map
for (unsigned old_index=0; old_index<rMap.GetSize(); old_index++)
{
if (!rMap.IsDeleted(old_index))
{
unsigned new_index = rMap.GetNewIndex(old_index);
mIsGhostNode[new_index] = ghost_nodes_before_remesh[old_index];
}
}
}