kopia lustrzana https://github.com/inkstitch/inkstitch
use patterns in cache key
rodzic
99efa5a7d5
commit
a0834e2e7c
|
@ -12,7 +12,7 @@ from inkex import bezier
|
|||
from ..commands import find_commands
|
||||
from ..debug import debug
|
||||
from ..i18n import _
|
||||
from ..patterns import apply_patterns
|
||||
from ..patterns import apply_patterns, get_patterns_cache_key_data
|
||||
from ..svg import (PIXELS_PER_MM, apply_transforms, convert_length,
|
||||
get_node_transform)
|
||||
from ..svg.tags import INKSCAPE_LABEL, INKSTITCH_ATTRIBS
|
||||
|
@ -422,6 +422,10 @@ class EmbroideryElement(object):
|
|||
|
||||
return params
|
||||
|
||||
@cache
|
||||
def _get_patterns_cache_key_data(self):
|
||||
return get_patterns_cache_key_data(self.node)
|
||||
|
||||
def _get_cache_key(self, previous_stitch):
|
||||
cache_key_generator = CacheKeyGenerator()
|
||||
cache_key_generator.update(self.__class__.__name__)
|
||||
|
@ -430,6 +434,7 @@ class EmbroideryElement(object):
|
|||
cache_key_generator.update(list(self._get_specified_style().items()))
|
||||
cache_key_generator.update(previous_stitch)
|
||||
cache_key_generator.update([(c.command, c.target_point) for c in self.commands])
|
||||
cache_key_generator.update(self._get_patterns_cache_key_data())
|
||||
|
||||
# TODO: include commands and patterns that apply to this element
|
||||
|
||||
|
|
|
@ -10,6 +10,15 @@ from .stitch_plan import Stitch
|
|||
from .utils import Point
|
||||
|
||||
|
||||
def get_patterns_cache_key_data(node):
|
||||
patterns = get_marker_elements(node, "pattern")
|
||||
data = []
|
||||
data.extend([fill.wkt for fill in patterns['fill']])
|
||||
data.extend([stroke.wkt for stroke in patterns['stroke']])
|
||||
|
||||
return data
|
||||
|
||||
|
||||
def apply_patterns(stitch_groups, node):
|
||||
patterns = get_marker_elements(node, "pattern")
|
||||
_apply_fill_patterns(patterns['fill'], stitch_groups)
|
||||
|
|
Ładowanie…
Reference in New Issue