Есть ли способ использовать CGAL для выполнения адаптивного ремешинга - PullRequest
1 голос
/ 23 апреля 2020

Предположим, у меня есть очень уточненный мною 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

...