def __init__(self, ctx: RenderContext, out: Backend): # RenderContext contains all information to resolve resources for a # specific DXF document. self.ctx = ctx # DrawingBackend is the interface to the render engine self.out = out # Transfer render context info to backend: ctx.update_backend_configuration(out) # Parents entities of current entity/sub-entity self.parent_stack: List[DXFGraphic] = [] # Approximate a full circle by `n` segments, arcs have proportional # less segments self.circle_approximation_count = 128 # The sagitta (also known as the versine) is a line segment drawn # perpendicular to a chord, between the midpoint of that chord and the # arc of the circle. https://en.wikipedia.org/wiki/Circle not used yet! # Could be used for all curves CIRCLE, ARC, ELLIPSE and SPLINE # self.approximation_max_sagitta = 0.01 # for drawing unit = 1m, max # sagitta = 1cm # set to None to disable nested polygon detection: self.nested_polygon_detection = nesting.fast_bbox_detection
def __init__(self, ctx: RenderContext, out: Backend, proxy_graphics: int = USE_PROXY_GRAPHICS): # RenderContext contains all information to resolve resources for a # specific DXF document. self.ctx = ctx # DrawingBackend is the interface to the render engine self.out = out # To get proxy graphics support proxy graphics have to be loaded: # Set the global option ezdxf.options.load_proxy_graphics to True. # How to handle proxy graphics: # 0 = ignore proxy graphics # 1 = use proxy graphics if no rendering support by ezdxf exist # 2 = prefer proxy graphics over ezdxf rendering self.proxy_graphics = proxy_graphics # Transfer render context info to backend: ctx.update_backend_configuration(out) # Parents entities of current entity/sub-entity self.parent_stack: List[DXFGraphic] = [] # Approximate a full circle by `n` segments, arcs have proportional # less segments self.circle_approximation_count = 128 # The sagitta (also known as the versine) is a line segment drawn # perpendicular to a chord, between the midpoint of that chord and the # arc of the circle. https://en.wikipedia.org/wiki/Circle not used yet! # Could be used for all curves CIRCLE, ARC, ELLIPSE and SPLINE # self.approximation_max_sagitta = 0.01 # for drawing unit = 1m, max # sagitta = 1cm # set to None to disable nested polygon detection: self.nested_polygon_detection = fast_bbox_detection self._dispatch = self._build_dispatch_table()