.. role:: module :class: module .. role:: code :class: code :module:`C3D PolyShaper` ========================== .. _C3D_POLYSHAPER_MODULE: Модуль C3D PolyShaper предназначен для редактирования, анализа и устранения дефектов полигональных моделей (сеток), а также для их преобразования в гладкие поверхности. Полигональное представление — это описание геометрии совокупностью вершин, ребер и плоских фасетов, объединенных в многогранный трехмерный объект. Полигональное моделирование применяется в реверс-инжиниринге, топологической оптимизации, при проведении инженерных расчетов, в медицине, при подготовке моделей к 3D-печати. В основе модуля лежит топологическое представление сетки в виде двусвязного списка рёбер, или :blue:`Halfedge` структуры. Логическое разбиение сетки на части, или сегментация, поддерживается тоже в виде :blue:`Halfedge` и по сути является аналогом граничного представления тел. Работа с модулем осуществляется через API. API включает в себя классы :blue:`MbPolymesh` и :blue:`MbPolymeshTopo`, являющиеся представлением полигонального объекта, и набор функций и классов для работы с ними. Объект :blue:`MbPolymesh` может быть сконструирован вручную, получен из объекта :blue:`MbMesh` или из объекта :blue:`MbSolid` путём линеаризации. Также возможно обратное преобразование в :blue:`MbMesh` (с потерей топологических данных). Обратное преобразование нужно в случае, если отрисовка реализована через объект :blue:`MbMesh`. Большая часть функционала модуля предназначена для работы с :blue:`MbPolymesh`, но некоторые функции доступны также для :blue:`MbMesh`. Для активации лицензии на модуль необходимо вызвать функцию :code:`EnableMathModules`\() с соответствующими параметрами. .. toctree:: subsections/RU/Features_of_Implementing_a_Doubly_Linked_List_of_Edges subsections/RU/Mesh_Iterators subsections/RU/Segmentation_and_Segmentation_Iterators subsections/RU/The_Topology_of_the_MbPolymeshTopo_Polygon_Object subsections/RU/Mesh_and_Segmentation_Attributes subsections/RU/Edge-Dependent_Attributes