Преглед изворни кода

Update SVGLoader.js

These changes parse SVG transforms without basing them on spaces.  For instance

     transform="translate(200,200)
rotate(0,10,0)" wouldn't split properly because it only has a LF instead of a space.  Also translate(200, 200) would split improperly because it has a space between the comma and the 2.
OmarJay1 пре 6 година
родитељ
комит
94d8e9e515
1 измењених фајлова са 5 додато и 3 уклоњено
  1. 5 3
      examples/js/loaders/SVGLoader.js

+ 5 - 3
examples/js/loaders/SVGLoader.js

@@ -804,13 +804,15 @@ THREE.SVGLoader.prototype = {
 
 			var transform = new THREE.Matrix3();
 			var currentTransform = tempTransform0;
-			var transformsTexts = node.getAttribute( 'transform' ).split( ' ' );
+			var transformsTexts = node.getAttribute( 'transform' ).split( ')' );
 
 			for ( var tIndex = transformsTexts.length - 1; tIndex >= 0; tIndex -- ) {
 
-				var transformText = transformsTexts[ tIndex ];
+				var transformText = transformsTexts[ tIndex ].trim();
+				if (transformText == "")
+					continue;				
 				var openParPos = transformText.indexOf( "(" );
-				var closeParPos = transformText.indexOf( ")" );
+				var closeParPos = transformText.length;
 
 				if ( openParPos > 0 && openParPos < closeParPos ) {