.. role:: module :class: module .. role:: code :class: code :module:`C3D PolyShaper` =========================== .. _C3D_POLYSHAPER_MODULE_: The C3D PolyShaper module is designed for analyzing, healing, and editing polygonal models (meshes), and for converting them to smooth surfaces. Polygonal representation is a description of geometry by a set of vertices, edges, and planar facets combined into a polyhedral three-dimensional object. Polygonal modeling is used in reverse engineering, topology optimization, engineering simulations, medicine, and preparation of models for 3D printing. The module is based on a topological representation of a mesh in the form of a doubly linked list of edges, or a :blue:`Halfedge` structure. Logical division of the mesh into parts, or segmentation, is also supported in the form of :blue:`Halfedge` and is essentially an analog of the solid boundary representation. The module can be used via the API. The API includes the :blue:`MbPolymesh` and :blue:`MbPolymeshTopo` classes, which represent a polygonal object, and a set of functions and classes for working with them. The :blue:`MbPolymesh` object can be constructed manually, obtained from the :blue:`MbMesh` object, or from the :blue:`MbSolid` object by linearization. The :blue:`MbPolymesh` object can also be converted back to the :blue:`MbMesh` object (note that this conversion results in a loss of topological data), which may be necessary if the rendering process uses the :blue:`MbMesh` object. Most of the module functionality is designed to work with :blue:`MbPolymesh`, but some features are also available for :blue:`MbMesh`. For license activation of the module, call the :code:`EnableMathModules`\() function with the appropriate parameters. .. toctree:: subsections/EN/Features_of_Implementing_a_Doubly_Linked_List_of_Edges subsections/EN/Mesh_Iterators subsections/EN/Segmentation_and_Segmentation_Iterators subsections/EN/The_Topology_of_the_MbPolymeshTopo_Polygon_Object subsections/EN/Mesh_and_Segmentation_Attributes subsections/EN/Edge-Dependent_Attributes