Browse Source

SVGLoader: Gracefully handle empty paths. (#25550)

Michael Herzog 2 years ago
parent
commit
0926a670b6

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

@@ -218,6 +218,8 @@ class SVGLoader extends Loader {
 
 			const d = node.getAttribute( 'd' );
 
+			if ( d === '' || d === 'none' ) return null;
+
 			// console.log( d );
 
 			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',
 					'singlePointTest2': 'models/svg/singlePointTest2.svg',
 					'singlePointTest3': 'models/svg/singlePointTest3.svg',
+					'emptyPath': 'models/svg/emptyPath.svg',
 
 				} ).name( 'SVG File' ).onChange( update );