#c #cgal
#c #cgal
Вопрос:
В CGAL есть Surface_mesh<Point_3>
с. Surface_mesh::Property_map<Surface_mesh::Face_index, CGAL::Color>
Я использую CGAL::draw()
метод для рисования этой сетки, однако разные цвета граней не отражаются. Чего мне не хватает?
Комментарии:
1. Как минимум , вы должны показать соответствующий код и выходные данные вашей программы.
Ответ №1:
Текущая версия basic viewer для поверхностной сетки не учитывает цвет граней.
Однако изменить код легко.
- Посмотрите на файл draw_surface_mesh.h.
- Добавьте функтор MyColorFunctorSM (вдохновленный существующим DefaultColorFunctorSM), который возвращает цвет грани с учетом ее индекса
- Замените в функции рисования DefaultColorFunctorSM вашим новым функтором MyColorFunctorSM.
(Если вы не хотите изменять файл CGAL, вы можете определить свой функтор в своем коде и скопировать / вставить функцию рисования в свой код, прежде чем изменять его).
Ответ №2:
Я думаю, вы должны нажать M
клавишу один раз в средстве просмотра, чтобы активировать функцию «многоцветный».
Комментарии:
1. Спасибо. Это будет полезно для активации цветного представления, но в настоящее время это просто случайным образом окрашивает мои треугольники, а не цвет, который я назначил им в цветовой карте.
2. Хорошо, я подумал, что это может сработать, поскольку я попробовал это на цветном кубе, и, похоже, все в порядке, но тогда прав @gdamiand, это просто невозможно.