本文整理汇总了C++中PatchData::update_mesh方法的典型用法代码示例。如果您正苦于以下问题:C++ PatchData::update_mesh方法的具体用法?C++ PatchData::update_mesh怎么用?C++ PatchData::update_mesh使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PatchData
的用法示例。
在下文中一共展示了PatchData::update_mesh方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loop_over_mesh
//.........这里部分代码省略.........
this->initialize_mesh_iteration(patch, err);
if (MSQ_CHKERR(err)) goto ERROR;
obj_func.reset();
outer_crit->reset_patch( patch, err );
if (MSQ_CHKERR(err)) goto ERROR;
inner_crit->reset_inner( patch, obj_func, err );
if (MSQ_CHKERR(err)) goto ERROR;
inner_crit->reset_patch( patch, err );
if (MSQ_CHKERR(err)) goto ERROR;
// Don't even call optimizer if inner termination
// criterion has already been met.
if (!inner_crit->terminate())
{
did_some = true;
// Call optimizer - should loop on inner_crit->terminate()
this->optimize_vertex_positions( patch, err );
if (MSQ_CHKERR(err)) goto ERROR;
// Update for changes during inner iteration
// (during optimizer loop)
outer_crit->accumulate_patch( patch, err );
if (MSQ_CHKERR(err)) goto ERROR;
inner_crit->cull_vertices( patch, obj_func, err );
if (MSQ_CHKERR(err)) goto ERROR;
patch.update_mesh( err );
if (MSQ_CHKERR(err)) goto ERROR;
}
}
helper->communicate_first_independent_set(err);
if (MSQ_CHKERR(err)) goto ERROR;
///*** smooth the boundary ***////
while (helper->compute_next_independent_set())
{
// Loop over all boundary elements
while(helper->get_next_partition_boundary_vertex(vertex_handle))
{
patch_vertices.clear();
patch_vertices.push_back(vertex_handle);
patch_elements.clear();
mesh->vertices_get_attached_elements( &vertex_handle,
1,
patch_elements,
junk, err );
all_culled = false;
patch.set_mesh_entities( patch_elements, patch_vertices, err );
if (MSQ_CHKERR(err)) goto ERROR;
// Initialize for inner iteration
this->initialize_mesh_iteration(patch, err);
if (MSQ_CHKERR(err)) goto ERROR;