File: //var/www/aspa/three/addons/nodes/utils/RotateUVNode.js
import TempNode from '../core/TempNode.js';
import { addNodeClass } from '../core/Node.js';
import { addNodeElement, nodeProxy, vec2 } from '../shadernode/ShaderNode.js';
class RotateUVNode extends TempNode {
	constructor( uvNode, rotationNode, centerNode = vec2( 0.5 ) ) {
		super( 'vec2' );
		this.uvNode = uvNode;
		this.rotationNode = rotationNode;
		this.centerNode = centerNode;
	}
	setup() {
		const { uvNode, rotationNode, centerNode } = this;
		const vector = uvNode.sub( centerNode );
		return vector.rotate( rotationNode ).add( centerNode );
	}
}
export default RotateUVNode;
export const rotateUV = nodeProxy( RotateUVNode );
addNodeElement( 'rotateUV', rotateUV );
addNodeClass( 'RotateUVNode', RotateUVNode );