From d7b2614aa0d7dc43141f671009fee54f0b38ab3e Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Tue, 17 Apr 2018 13:28:41 -0700 Subject: [PATCH] SVGLoader: Basic A/a command handling to avoid path breakage --- examples/js/loaders/SVGLoader.js | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/examples/js/loaders/SVGLoader.js b/examples/js/loaders/SVGLoader.js index efa6949573..5530a1674c 100644 --- a/examples/js/loaders/SVGLoader.js +++ b/examples/js/loaders/SVGLoader.js @@ -220,7 +220,19 @@ THREE.SVGLoader.prototype = { point.y = numbers[ 1 ]; break; - // case 'A': break; + case 'A': + console.warn( command ); + var numbers = parseFloats( data ); + for ( var j = 0, jl = numbers.length; j < jl; j += 7 ) { + // TODO + point.x = numbers[ j + 5 ]; + point.y = numbers[ j + 6 ]; + control.x = point.x; + control.y = point.y; + } + break; + + // case 'm': var numbers = parseFloats( data ); @@ -328,7 +340,19 @@ THREE.SVGLoader.prototype = { point.y = point.y + numbers[ 1 ]; break; - // case 'a': break; + case 'a': + console.warn( command ); + var numbers = parseFloats( data ); + for ( var j = 0, jl = numbers.length; j < jl; j += 7 ) { + // TODO + point.x += numbers[ j + 5 ]; + point.y += numbers[ j + 6 ]; + control.x = point.x; + control.y = point.y; + } + break; + + // case 'Z': case 'z': -- GitLab