|
@@ -512,7 +512,9 @@ THREE.VRMLLoader.prototype = {
|
|
|
|
|
|
}
|
|
|
|
|
|
- node[ fieldName ] = property;
|
|
|
+ // VRMLLoader does not support text so it can't process the "string" property yet
|
|
|
+
|
|
|
+ if ( fieldName !== 'string' ) node[ fieldName ] = property;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -825,6 +827,16 @@ THREE.VRMLLoader.prototype = {
|
|
|
|
|
|
parent.geometry = new THREE.SphereBufferGeometry( data.radius );
|
|
|
|
|
|
+ } else if ( data.nodeType === 'IndexedLineSet' ) {
|
|
|
+
|
|
|
+ console.warn( 'THREE.VRMLLoader: IndexedLineSet not supported yet.' );
|
|
|
+ parent.parent.remove( parent ); // since the loader is not able to parse the geometry, remove the respective 3D object
|
|
|
+
|
|
|
+ } else if ( data.nodeType === 'Text' ) {
|
|
|
+
|
|
|
+ console.warn( 'THREE.VRMLLoader: Text not supported yet.' );
|
|
|
+ parent.parent.remove( parent );
|
|
|
+
|
|
|
} else if ( data.nodeType === 'IndexedFaceSet' ) {
|
|
|
|
|
|
var geometry = new THREE.BufferGeometry();
|
|
@@ -1244,13 +1256,13 @@ THREE.VRMLLoader.prototype = {
|
|
|
|
|
|
// some lines do not have breaks
|
|
|
|
|
|
- for ( var i = lines.length - 1; i > - 1; i -- ) {
|
|
|
-
|
|
|
- var line = lines[ i ];
|
|
|
+ for ( var i = lines.length - 1; i > 0; i -- ) {
|
|
|
|
|
|
// The # symbol indicates that all subsequent text, until the end of the line is a comment,
|
|
|
// and should be ignored. (see http://gun.teipir.gr/VRML-amgem/spec/part1/grammar.html)
|
|
|
- line = line.replace( /(#.*)/, '' );
|
|
|
+ lines[ i ] = lines[ i ].replace( /(#.*)/, '' );
|
|
|
+
|
|
|
+ var line = lines[ i ];
|
|
|
|
|
|
// split lines with {..{ or {..[ - some have both
|
|
|
if ( /{.*[{\[]/.test( line ) ) {
|
|
@@ -1270,6 +1282,8 @@ THREE.VRMLLoader.prototype = {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ line = lines[ i ];
|
|
|
+
|
|
|
if ( /}.*}/.test( line ) ) {
|
|
|
|
|
|
// split lines with }..}
|
|
@@ -1280,6 +1294,8 @@ THREE.VRMLLoader.prototype = {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ line = lines[ i ];
|
|
|
+
|
|
|
if ( /^\b[^\s]+\b$/.test( line.trim() ) ) {
|
|
|
|
|
|
// prevent lines with single words like "coord" or "geometry", see #12209
|