瀏覽代碼

SVGLoader: Gracefully handle empty paths. (#25550)

Michael Herzog 2 年之前
父節點
當前提交
0926a670b6
共有 3 個文件被更改,包括 6 次插入0 次删除
  1. 2 0
      examples/jsm/loaders/SVGLoader.js
  2. 3 0
      examples/models/svg/emptyPath.svg
  3. 1 0
      examples/webgl_loader_svg.html

+ 2 - 0
examples/jsm/loaders/SVGLoader.js

@@ -218,6 +218,8 @@ class SVGLoader extends Loader {
 
 
 			const d = node.getAttribute( 'd' );
 			const d = node.getAttribute( 'd' );
 
 
+			if ( d === '' || d === 'none' ) return null;
+
 			// console.log( d );
 			// console.log( d );
 
 
 			const commands = d.match( /[a-df-z][^a-df-z]*/ig );
 			const commands = d.match( /[a-df-z][^a-df-z]*/ig );

+ 3 - 0
examples/models/svg/emptyPath.svg

@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+  <path d=""/>
+</svg>

+ 1 - 0
examples/webgl_loader_svg.html

@@ -124,6 +124,7 @@
 					'singlePointTest': 'models/svg/singlePointTest.svg',
 					'singlePointTest': 'models/svg/singlePointTest.svg',
 					'singlePointTest2': 'models/svg/singlePointTest2.svg',
 					'singlePointTest2': 'models/svg/singlePointTest2.svg',
 					'singlePointTest3': 'models/svg/singlePointTest3.svg',
 					'singlePointTest3': 'models/svg/singlePointTest3.svg',
+					'emptyPath': 'models/svg/emptyPath.svg',
 
 
 				} ).name( 'SVG File' ).onChange( update );
 				} ).name( 'SVG File' ).onChange( update );