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 ..commands import find_commands
|
||||||
from ..debug import debug
|
from ..debug import debug
|
||||||
from ..i18n import _
|
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,
|
from ..svg import (PIXELS_PER_MM, apply_transforms, convert_length,
|
||||||
get_node_transform)
|
get_node_transform)
|
||||||
from ..svg.tags import INKSCAPE_LABEL, INKSTITCH_ATTRIBS
|
from ..svg.tags import INKSCAPE_LABEL, INKSTITCH_ATTRIBS
|
||||||
|
@ -422,6 +422,10 @@ class EmbroideryElement(object):
|
||||||
|
|
||||||
return params
|
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):
|
def _get_cache_key(self, previous_stitch):
|
||||||
cache_key_generator = CacheKeyGenerator()
|
cache_key_generator = CacheKeyGenerator()
|
||||||
cache_key_generator.update(self.__class__.__name__)
|
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(list(self._get_specified_style().items()))
|
||||||
cache_key_generator.update(previous_stitch)
|
cache_key_generator.update(previous_stitch)
|
||||||
cache_key_generator.update([(c.command, c.target_point) for c in self.commands])
|
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
|
# TODO: include commands and patterns that apply to this element
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,15 @@ from .stitch_plan import Stitch
|
||||||
from .utils import Point
|
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):
|
def apply_patterns(stitch_groups, node):
|
||||||
patterns = get_marker_elements(node, "pattern")
|
patterns = get_marker_elements(node, "pattern")
|
||||||
_apply_fill_patterns(patterns['fill'], stitch_groups)
|
_apply_fill_patterns(patterns['fill'], stitch_groups)
|
||||||
|
|
Ładowanie…
Reference in New Issue