Предположим, у меня есть очень уточненный мною sh, чего можно добиться, используя код перестановки в CGAL.
PMP :: isotropic_remeshing (face (me sh), target_edge_length, me sh, PMP :: parameters :: number_of_iterations (nb_iter) .protect_constraints (true) // т.е. защищать границу, здесь);
Теперь, если я хочу использовать функцию сжатия краев в CGAL, чтобы выборочно свернуть только те области, которые я хотел использовать с помощью этой функции,
int r = edge_collapse (surface_mesh, stop_predicate, vertex_index_map (vimap) .edge_index_map (eimap) .edge_is_border_map (ebmap) .get_cost (cf) .get_placement (pf) .visitor (vis));
Я понимаю, что существует "get_cost (cf)", где я мог бы увеличить стоит в одной области me sh, чтобы снизить количество обвалов краев в этой области.
Может кто-нибудь показать мне, как это сделать?
В частности, предположим, что у меня есть сфера размером 1 с изотропией c me sh длины ребра 0,001. Я хотел постепенно уменьшать длину ребра до go от 0,01 на одном конце до 0,1 на другой противоположной стороне сферы. Как мне добиться этого с помощью двух функций?
q