parseImages method
dynamic
parseImages()
Implementation
parseImages() {
var images = {};
var blobs = {};
if ( fbxTree.Objects["Video"] != null ) {
var videoNodes = fbxTree.Objects["Video"];
for ( var nodeID in videoNodes.keys ) {
var videoNode = videoNodes[ nodeID ];
var id = parseInt( nodeID );
images[ id ] = videoNode["RelativeFilename"] ?? videoNode["Filename"];
// raw image data is in videoNode.Content
if ( videoNode["Content"] != null ) {
// var arrayBufferContent = ( videoNode["Content"] is ArrayBuffer ) && ( videoNode["Content"].byteLength > 0 );
var arrayBufferContent = ( videoNode["Content"] is TypedData ) && ( videoNode["Content"].byteLength > 0 );
var base64Content = ( videoNode["Content"] is String ) && ( videoNode["Content"] != '' );
if ( arrayBufferContent || base64Content ) {
var image = this.parseImage( videoNodes[ nodeID ] );
blobs[ videoNode.RelativeFilename ?? videoNode.Filename ] = image;
}
}
}
}
for ( var id in images.keys ) {
var filename = images[ id ];
if ( blobs[ filename ] != null ) images[ id ] = blobs[ filename ];
else images[ id ] = images[ id ].split( '\\' ).removeLast();
}
return images;
}