pygerber.renderer package

Subpackages

Submodules

pygerber.renderer.aperture_manager module

class pygerber.renderer.aperture_manager.ApertureManager(apertureSet: ApertureSet, renderer: Renderer)[source]

Bases: object

apertureSet: ApertureSet
apertures: Dict[int, Aperture]
current_aperture: Aperture = None
define_aperture(type: str, name: str, ID: int, args: object)[source]
getApertureClass(name: Optional[str] = None, is_region: bool = False)[source]
get_aperture(id: int) Aperture[source]
get_current_aperture()[source]
renderer: Renderer
select_aperture(id: int)[source]
set_defaults()[source]

pygerber.renderer.apertureset module

class pygerber.renderer.apertureset.ApertureSet(circle: Type[pygerber.renderer.aperture.aperture.Aperture], rectangle: Type[pygerber.renderer.aperture.aperture.Aperture], obround: Type[pygerber.renderer.aperture.aperture.Aperture], polygon: Type[pygerber.renderer.aperture.aperture.Aperture], custom: Type[pygerber.renderer.aperture.aperture.Aperture], region: Type[pygerber.renderer.aperture.region.RegionApertureManager])[source]

Bases: object

circle: Type[pygerber.renderer.aperture.aperture.Aperture]
custom: Type[pygerber.renderer.aperture.aperture.Aperture]
getApertureClass(name: Optional[str] = None, is_region: bool = False) pygerber.renderer.aperture.aperture.Aperture[source]
obround: Type[pygerber.renderer.aperture.aperture.Aperture]
polygon: Type[pygerber.renderer.aperture.aperture.Aperture]
rectangle: Type[pygerber.renderer.aperture.aperture.Aperture]
region: Type[pygerber.renderer.aperture.region.RegionApertureManager]

pygerber.renderer.arc_util_mixin module

class pygerber.renderer.arc_util_mixin.ArcUtilMixin[source]

Bases: object

static get_arc_co_functions(radius)[source]
static get_arc_length(radius) float[source]
get_arc_points(spec: pygerber.renderer.spec.ArcSpec, is_ccw: bool) pygerber.mathclasses.Vector2D[source]
static get_arc_ratio(relative_angle)[source]
get_arc_traverse_step_angle(begin_angle, end_angle, radius)[source]
get_begin_end_angles(spec: pygerber.renderer.spec.ArcSpec)[source]
static get_relative_angle(begin_angle, end_angle)[source]
property isCCW

pygerber.renderer.spec module

class pygerber.renderer.spec.ArcSpec(begin: 'Vector2D', end: 'Vector2D', center: 'Vector2D', is_region: 'bool' = False)[source]

Bases: pygerber.renderer.spec.Spec

bbox(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
begin: pygerber.mathclasses.Vector2D
center: pygerber.mathclasses.Vector2D
draw(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
end: pygerber.mathclasses.Vector2D
get_radius()[source]
is_region: bool = False
class pygerber.renderer.spec.FlashSpec(location: 'Vector2D', is_region: 'bool' = False)[source]

Bases: pygerber.renderer.spec.Spec

bbox(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
draw(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
is_region: bool = False
location: pygerber.mathclasses.Vector2D
class pygerber.renderer.spec.LineSpec(begin: 'Vector2D', end: 'Vector2D', is_region: 'bool' = False)[source]

Bases: pygerber.renderer.spec.Spec

bbox(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
begin: pygerber.mathclasses.Vector2D
draw(aperture: pygerber.renderer.aperture.aperture.Aperture)[source]
end: pygerber.mathclasses.Vector2D
is_region: bool = False
class pygerber.renderer.spec.Spec[source]

Bases: abc.ABC

abstract bbox(aperture)[source]
abstract draw(aperture)[source]

Module contents

class pygerber.renderer.Renderer(apertureSet: pygerber.renderer.apertureset.ApertureSet)[source]

Bases: object

apertures: pygerber.renderer.aperture_manager.ApertureManager
bbox_arc(end: pygerber.mathclasses.Vector2D, offset: pygerber.mathclasses.Vector2D) None[source]
bbox_flash(point: pygerber.mathclasses.Vector2D) pygerber.mathclasses.BoundingBox[source]
bbox_interpolated(end: pygerber.mathclasses.Vector2D, offset: pygerber.mathclasses.Vector2D) pygerber.mathclasses.BoundingBox[source]
bbox_line(end: pygerber.mathclasses.Vector2D) None[source]
current_point: pygerber.mathclasses.Vector2D
define_aperture(*args, **kwargs)[source]
draw_arc(end: pygerber.mathclasses.Vector2D, offset: pygerber.mathclasses.Vector2D) None[source]
draw_flash(point: pygerber.mathclasses.Vector2D) None[source]
draw_interpolated(end: pygerber.mathclasses.Vector2D, offset: pygerber.mathclasses.Vector2D) None[source]
draw_line(end: pygerber.mathclasses.Vector2D) None[source]
end_region()[source]
finish_drawing_region() Tuple[pygerber.renderer.aperture.region.RegionApertureManager, List[pygerber.renderer.spec.Spec]][source]
isCCW()[source]
move_pointer(location: pygerber.mathclasses.Vector2D) None[source]
region_bounds: List[pygerber.renderer.spec.Spec]
render(token_stack: Deque[pygerber.tokens.token.Token]) None[source]
replace_none_with_0(vector: pygerber.mathclasses.Vector2D)[source]
replace_none_with_current(vector: pygerber.mathclasses.Vector2D)[source]
select_aperture(id: int)[source]
set_defaults()[source]
state: pygerber.drawing_state.DrawingState
total_bounding_box(token_stack: Deque[pygerber.tokens.token.Token])[source]