def next(self): if self._current_height >= self._height: raise StopIteration points = self._points(self._radius(), self._start_angle()) commands = [ LateralDraw(points[index - 1], points[index], self._speed) for index in range(1, len(points)) ] layer = Layer(self._current_height, commands=commands) self._current_height = self._current_height + self._layer_height return layer
def next(self): if self._current_height >= self._height: raise StopIteration points = self._points(self._last_angle) commands = [ LateralDraw(points[index - 1], points[index], self._speed) for index in range(1, len(points)) ] layer = Layer(self._current_height, commands=commands) self._current_height = self._current_height + self._layer_height self._last_angle = self._last_angle + self._angle_varience return layer
def next(self): if self._current_height >= self._height: raise StopIteration commands = [] for i in range(1, self._rings + 1): radius = self._max_radius / self._rings * i points = self._points(0, radius) commands += [LateralMove(points[0], points[0], self._speed)] commands += [ LateralDraw(points[index - 1], points[index], self._speed) for index in range(1, len(points)) ] layer = Layer(self._current_height, commands=commands) self._current_height = self._current_height + self._layer_height self._last_angle = self._last_angle + self._angle_varience return layer
def _layer_from_points(self, points): commands = [ LateralDraw(points[index - 1], points[index], self._speed) for index in range(1, len(points)) ] return Layer(self._current_height, commands=commands)