Source code for pyleecan.Methods.Geometry.SurfLine.get_patches

# -*- coding: utf-8 -*-
from matplotlib.patches import Polygon

from ....definitions import config_dict

PATCH_COLOR = config_dict["PLOT"]["COLOR_DICT"]["PATCH_COLOR"]
PATCH_EDGE = config_dict["PLOT"]["COLOR_DICT"]["PATCH_EDGE"]
PATCH_COLOR_ALPHA = config_dict["PLOT"]["COLOR_DICT"]["PATCH_COLOR_ALPHA"]
PATCH_EDGE_ALPHA = config_dict["PLOT"]["COLOR_DICT"]["PATCH_EDGE_ALPHA"]


[docs]def get_patches( self, color=PATCH_COLOR, edgecolor=None, is_edge_only=False, linestyle=None, hatch=None, ): """Returns the PolarArc Patch to be display in matplotlib Parameters ---------- self : SurfLine a SurfLine object color : the color of the patch (Default value = PATCH_COLOR) edgecolor : the edge color of the patch (Default value = PATCH_EDGE) is_edge_only: bool To set the transparancy of the face color to 0 and 1 for the edge color linestyle : str Line style of the edge {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} hatch : str Set the hatching pattern: {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} Returns ------- patch_list : list of matplotlib.patches.Polygon List of patches corresponding to the surface """ # Set default color if edgecolor is None and not is_edge_only: edgecolor = PATCH_EDGE elif edgecolor is None and is_edge_only: edgecolor = PATCH_EDGE_ALPHA if is_edge_only: color = PATCH_COLOR_ALPHA if "--" in edgecolor: edgecolor = edgecolor.replace("-", "") linestyle = "--" # check if the SurfLine is correct self.check() line_list = self.get_lines() if len(line_list) == 0: return Polygon([], facecolor=color, edgecolor=edgecolor, hatch=hatch) Z_list = list() # For each Line discretize for line in line_list: Z_list += list(line.discretize()) # abscissa coordinate Zr_list = list() # ordinate coordinate Zi_list = list() for ii in range(len(Z_list)): Zr_list.append(Z_list[ii].real) Zi_list.append(Z_list[ii].imag) point_list = list(zip(Zr_list, Zi_list)) return [ Polygon( point_list, facecolor=color, edgecolor=edgecolor, linestyle=linestyle, hatch=hatch, ) ]