.. role:: blue :class: blue Constructing Polygonal Projections of Bodies ============================================ .. _Constructing_Polygonal_Projections_of_Bodies_: .. kernel version: The method .. code-block:: cpp void HiddenLinesMapping( const RPArray< MbLump > & lumps, const MbPlacement3D & place, double znear, double sag, RPArray< MbPolygon3DSolid > & visibleEdges, RPArray< MbPolygon3DSolid > & hiddenEdges, RPArray< MbPolygon3DSolid > & visibleTangs, RPArray< MbPolygon3DSolid > & hiddenTangs ); constructs a polygonal projection of a set of bodies onto a given plane. The input parameters of the method are: - **lumps** – bodies projected in local coordinate systems, - **place** – projection plane, - **znear** – observation point parameter, - **sag** – maximum allowable deflection. The output parameters of the method are: - visibleEdges – polygons of visible non-smooth edges, - hiddenEdges – polygons of invisible non-smooth edges, - visibleTangs – polygons of visible smooth edges, - hiddenTangs – polygons of invisible smooth edges. The method does not return a value. The method is declared in the *map_create.h* file. The projection plane is the XY plane of the **place** local coordinate system. The **lumps** parameter contains bodies and matrices that transform them from the local coordinate system. The *znear* parameter determines the type of image. When *znear* = 0, a parallel projection of objects is constructed. The MbPolygon3DSolid class contains a component number and a pointer to a polygon consisting of a set of points whose sequential connection approximates the projection of an edge onto the plane. The *sag* parameter defines the approximation accuracy. The visibleEdges and hiddenEdges polygons represent visible and invisible polygonal projections of non-smooth edges onto the XY plane of the **place** local coordinate system, respectively. The **visibleTangs** and **hiddenTangs** polygons represent visible and invisible polygonal projections of smooth edges onto the XY plane of the **place** local coordinate system, respectively. The method .. code-block:: cpp void VisualLinesMapping( const RPArray< MbLump > & lumps, const MbPlacement3D & place, double znear, double sag, RPArray< MbPolygon3DSolid > & visibleEdges, RPArray< MbPolygon3DSolid > & visibleTangs ); constructs only the visible polygonal projection of a set of bodies onto a given plane. This method performs the same constructions as the HiddenLinesMapping\() method, with the difference that it constructs only visible projections. In some cases, the VisualLinesMapping\() method runs noticeably faster than the HiddenLinesMapping\() method.