File: //var/www/aspa/three/addons/nodes/utils/PackingNode.js
import TempNode from '../core/TempNode.js';
import { addNodeClass } from '../core/Node.js';
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
class PackingNode extends TempNode {
	constructor( scope, node ) {
		super();
		this.scope = scope;
		this.node = node;
	}
	getNodeType( builder ) {
		return this.node.getNodeType( builder );
	}
	setup() {
		const { scope, node } = this;
		let result = null;
		if ( scope === PackingNode.DIRECTION_TO_COLOR ) {
			result = node.mul( 0.5 ).add( 0.5 );
		} else if ( scope === PackingNode.COLOR_TO_DIRECTION ) {
			result = node.mul( 2.0 ).sub( 1 );
		}
		return result;
	}
}
PackingNode.DIRECTION_TO_COLOR = 'directionToColor';
PackingNode.COLOR_TO_DIRECTION = 'colorToDirection';
export default PackingNode;
export const directionToColor = nodeProxy( PackingNode, PackingNode.DIRECTION_TO_COLOR );
export const colorToDirection = nodeProxy( PackingNode, PackingNode.COLOR_TO_DIRECTION );
addNodeElement( 'directionToColor', directionToColor );
addNodeElement( 'colorToDirection', colorToDirection );
addNodeClass( 'PackingNode', PackingNode );