def __init__(self, tolerance, target_size): # parsed path data, paths by color # {'#ff0000': [[[x,y], [x,y], ...], [], ..], '#0000ff':[]} # Each path is a list of vertices which is a list of two floats. self.boundarys = {} # the conversion factor to physical dimensions # applied to all coordinates in the SVG self.px2mm = None # what the svg size (typically page dimensions) should be mapped to self._target_size = target_size # tolerance settings, used in tessalation, path simplification, etc self.tolerance = tolerance self.tolerance2 = tolerance**2 self.tolerance2_half = (0.5 * tolerance)**2 self.tolerance2_px = None # init helper object for tag reading self._tagReader = SVGTagReader(self) # lasersaur cut setting from SVG file # list of triplets ... [(pass#, key, value), ...] # pass# designates the pass this lasertag controls # key is the kind of setting (one of: intensity, feedrate, color) # value is the actual value to use self.lasertags = []