本文整理汇总了C++中MeshEntity::index方法的典型用法代码示例。如果您正苦于以下问题:C++ MeshEntity::index方法的具体用法?C++ MeshEntity::index怎么用?C++ MeshEntity::index使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MeshEntity
的用法示例。
在下文中一共展示了MeshEntity::index方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: build_mesh_domains
//-----------------------------------------------------------------------------
void MeshPartitioning::build_mesh_domains(Mesh& mesh,
const LocalMeshData& local_data)
{
// Local domain data
const std::map<std::size_t, std::vector<
std::pair<std::pair<std::size_t, std::size_t>, std::size_t> > >&
domain_data = local_data.domain_data;
if (domain_data.empty())
return;
// Initialse mesh domains
const std::size_t D = mesh.topology().dim();
mesh.domains().init(D);
std::map<std::size_t, std::vector<
std::pair<std::pair<std::size_t, std::size_t>,
std::size_t> > >::const_iterator dim_data;
for (dim_data = domain_data.begin(); dim_data != domain_data.end();
++dim_data)
{
// Get mesh value collection used for marking
const std::size_t dim = dim_data->first;
// Initialise mesh
mesh.init(dim);
// Create empty MeshValueCollection
MeshValueCollection<std::size_t> mvc(mesh, dim);
// Get domain data
const std::vector<std::pair<std::pair<std::size_t, std::size_t>,
std::size_t> >& local_value_data
= dim_data->second;
// Build mesh value vollection
build_mesh_value_collection(mesh, local_value_data, mvc);
// Get data from mesh value collection
const std::map<std::pair<std::size_t, std::size_t>, std::size_t>& values
= mvc.values();
// Get map from mes domains
std::map<std::size_t, std::size_t>& markers = mesh.domains().markers(dim);
std::map<std::pair<std::size_t, std::size_t>,
std::size_t>::const_iterator it;
for (it = values.begin(); it != values.end(); ++it)
{
const std::size_t cell_index = it->first.first;
const std::size_t local_entity_index = it->first.second;
const Cell cell(mesh, cell_index);
const MeshEntity e(mesh, dim, cell.entities(dim)[local_entity_index]);
markers[e.index()] = it->second;
}
}
}