Accueil / npm / three@0.186.1 / examples / jsm / loaders / materialx / MaterialXLog.js

MaterialXLog.js

const MaterialXLogCodes = {
	UNSUPPORTED_NODE: {
		label: 'unsupported-node',
		severity: 'error',
	},
	IGNORED_SURFACE_INPUT: {
		label: 'ignored-surface-input',
		severity: 'warning',
	},
	MISSING_REFERENCE: {
		label: 'missing-reference',
		severity: 'error',
	},
	MISSING_MATERIAL: {
		label: 'missing-material',
		severity: 'error',
	},
	INVALID_VALUE: {
		label: 'invalid-value',
		severity: 'error',
	},
	UNKNOWN_INPUT: {
		label: 'unknown-input',
		severity: 'error',
	},
	INVALID_OUTPUT_CONNECTION: {
		label: 'invalid-output-connection',
		severity: 'error',
	},
	TYPE_MISMATCH: {
		label: 'type-mismatch',
		severity: 'error',
	},
};

class MaterialXLog {

	constructor() {

		this.entries = [];

	}

	get errors() {

		return this.entries.filter( ( entry ) => entry.severity === 'error' );

	}

	get warnings() {

		return this.entries.filter( ( entry ) => entry.severity === 'warning' );

	}

	add( code, message, nodeName ) {

		const entry = {
			code: code.label,
			severity: code.severity,
			message,
		};
		if ( nodeName !== undefined && nodeName !== null ) {

			entry.nodeName = nodeName;

		}

		this.entries.push( entry );

	}

}

export { MaterialXLogCodes, MaterialXLog };