Browse Source

Removed unused function & added more typing

Jaime van Kessel 6 years ago
parent
commit
76cfb19dfb
2 changed files with 13 additions and 16 deletions
  1. 0 7
      cura/LayerDataBuilder.py
  2. 13 9
      cura/LayerPolygon.py

+ 0 - 7
cura/LayerDataBuilder.py

@@ -21,13 +21,6 @@ class LayerDataBuilder(MeshBuilder):
         if layer not in self._layers:
             self._layers[layer] = Layer(layer)
 
-    def addPolygon(self, layer: int, polygon_type, data, line_width, line_thickness, line_feedrate):
-        if layer not in self._layers:
-            self.addLayer(layer)
-
-        p = LayerPolygon(self, polygon_type, data, line_width, line_thickness, line_feedrate)
-        self._layers[layer].polygons.append(p)
-
     def getLayer(self, layer: int) -> Optional[Layer]:
         return self._layers.get(layer)
 

+ 13 - 9
cura/LayerPolygon.py

@@ -2,7 +2,7 @@
 # Cura is released under the terms of the LGPLv3 or higher.
 
 from UM.Application import Application
-from typing import Any
+from typing import Any, Optional
 import numpy
 
 from UM.Logger import Logger
@@ -26,13 +26,13 @@ class LayerPolygon:
     __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType)
 
     ##  LayerPolygon, used in ProcessSlicedLayersJob
-    #   \param extruder
+    #   \param extruder The position of the extruder
     #   \param line_types array with line_types
     #   \param data new_points
     #   \param line_widths array with line widths
     #   \param line_thicknesses: array with type as index and thickness as value
     #   \param line_feedrates array with line feedrates
-    def __init__(self, extruder, line_types, data, line_widths, line_thicknesses, line_feedrates):
+    def __init__(self, extruder: int, line_types: numpy.ndarray, data: numpy.ndarray, line_widths: numpy.ndarray, line_thicknesses: numpy.ndarray, line_feedrates: numpy.ndarray) -> None:
         self._extruder = extruder
         self._types = line_types
         for i in range(len(self._types)):
@@ -57,16 +57,16 @@ class LayerPolygon:
         # Buffering the colors shouldn't be necessary as it is not 
         # re-used and can save alot of memory usage.
         self._color_map = LayerPolygon.getColorMap()
-        self._colors = self._color_map[self._types]
+        self._colors = self._color_map[self._types]  # type: numpy.ndarray
         
         # When type is used as index returns true if type == LayerPolygon.InfillType or type == LayerPolygon.SkinType or type == LayerPolygon.SupportInfillType
         # Should be generated in better way, not hardcoded.
         self._isInfillOrSkinTypeMap = numpy.array([0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1], dtype=numpy.bool)
         
-        self._build_cache_line_mesh_mask = None
-        self._build_cache_needed_points = None
+        self._build_cache_line_mesh_mask = None  # type: Optional[numpy.ndarray]
+        self._build_cache_needed_points = None  # type: Optional[numpy.ndarray]
         
-    def buildCache(self):
+    def buildCache(self) -> None:
         # For the line mesh we do not draw Infill or Jumps. Therefore those lines are filtered out.
         self._build_cache_line_mesh_mask = numpy.ones(self._jump_mask.shape, dtype=bool)
         mesh_line_count = numpy.sum(self._build_cache_line_mesh_mask)
@@ -94,10 +94,14 @@ class LayerPolygon:
     #   \param extruders : vertex numpy array to be filled
     #   \param line_types : vertex numpy array to be filled
     #   \param indices : index numpy array to be filled
-    def build(self, vertex_offset, index_offset, vertices, colors, line_dimensions, feedrates, extruders, line_types, indices):
+    def build(self, vertex_offset: int, index_offset: int, vertices: numpy.ndarray, colors: numpy.ndarray, line_dimensions: numpy.ndarray, feedrates: numpy.ndarray, extruders: numpy.ndarray, line_types: numpy.ndarray, indices: numpy.ndarray) -> None:
         if self._build_cache_line_mesh_mask is None or self._build_cache_needed_points is None:
             self.buildCache()
-            
+
+        if self._build_cache_line_mesh_mask is None or self._build_cache_needed_points is None:
+            Logger.log("w", "Failed to build cache for layer polygon")
+            return
+
         line_mesh_mask = self._build_cache_line_mesh_mask
         needed_points_list = self._build_cache_needed_points