Changeset View
Changeset View
Standalone View
Standalone View
source/blender/compositor/nodes/COM_HueSaturationValueNode.cpp
| Show All 31 Lines | |||||
| HueSaturationValueNode::HueSaturationValueNode(bNode *editorNode) : Node(editorNode) | HueSaturationValueNode::HueSaturationValueNode(bNode *editorNode) : Node(editorNode) | ||||
| { | { | ||||
| /* pass */ | /* pass */ | ||||
| } | } | ||||
| void HueSaturationValueNode::convertToOperations(NodeConverter &converter, const CompositorContext &/*context*/) const | void HueSaturationValueNode::convertToOperations(NodeConverter &converter, const CompositorContext &/*context*/) const | ||||
| { | { | ||||
| NodeInput *valueSocket = this->getInputSocket(0); | NodeInput *colorSocket = this->getInputSocket(0); | ||||
| NodeInput *colorSocket = this->getInputSocket(1); | NodeInput *hueSocket = this->getInputSocket(1); | ||||
| NodeInput *saturationSocket = this->getInputSocket(2); | |||||
| NodeInput *valueSocket = this->getInputSocket(3); | |||||
| NodeInput *facSocket = this->getInputSocket(4); | |||||
| NodeOutput *outputSocket = this->getOutputSocket(0); | NodeOutput *outputSocket = this->getOutputSocket(0); | ||||
| bNode *editorsnode = getbNode(); | bNode *editorsnode = getbNode(); | ||||
| NodeHueSat *storage = (NodeHueSat *)editorsnode->storage; | NodeHueSat *storage = (NodeHueSat *)editorsnode->storage; | ||||
| ConvertRGBToHSVOperation *rgbToHSV = new ConvertRGBToHSVOperation(); | ConvertRGBToHSVOperation *rgbToHSV = new ConvertRGBToHSVOperation(); | ||||
| converter.addOperation(rgbToHSV); | converter.addOperation(rgbToHSV); | ||||
| ConvertHSVToRGBOperation *hsvToRGB = new ConvertHSVToRGBOperation(); | ConvertHSVToRGBOperation *hsvToRGB = new ConvertHSVToRGBOperation(); | ||||
| converter.addOperation(hsvToRGB); | converter.addOperation(hsvToRGB); | ||||
| ChangeHSVOperation *changeHSV = new ChangeHSVOperation(); | ChangeHSVOperation *changeHSV = new ChangeHSVOperation(); | ||||
| changeHSV->setHue(storage->hue); | converter.mapInputSocket(hueSocket, changeHSV->getInputSocket(1)); | ||||
| changeHSV->setSaturation(storage->sat); | converter.mapInputSocket(saturationSocket, changeHSV->getInputSocket(2)); | ||||
| changeHSV->setValue(storage->val); | converter.mapInputSocket(valueSocket, changeHSV->getInputSocket(3)); | ||||
| converter.addOperation(changeHSV); | converter.addOperation(changeHSV); | ||||
| MixBlendOperation *blend = new MixBlendOperation(); | MixBlendOperation *blend = new MixBlendOperation(); | ||||
| blend->setResolutionInputSocketIndex(1); | blend->setResolutionInputSocketIndex(1); | ||||
| converter.addOperation(blend); | converter.addOperation(blend); | ||||
| converter.mapInputSocket(colorSocket, rgbToHSV->getInputSocket(0)); | converter.mapInputSocket(colorSocket, rgbToHSV->getInputSocket(0)); | ||||
| converter.addLink(rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0)); | converter.addLink(rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0)); | ||||
| converter.addLink(changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0)); | converter.addLink(changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0)); | ||||
| converter.addLink(hsvToRGB->getOutputSocket(), blend->getInputSocket(2)); | converter.addLink(hsvToRGB->getOutputSocket(), blend->getInputSocket(2)); | ||||
| converter.mapInputSocket(colorSocket, blend->getInputSocket(1)); | converter.mapInputSocket(colorSocket, blend->getInputSocket(1)); | ||||
| converter.mapInputSocket(valueSocket, blend->getInputSocket(0)); | converter.mapInputSocket(facSocket, blend->getInputSocket(0)); | ||||
| converter.mapOutputSocket(outputSocket, blend->getOutputSocket()); | converter.mapOutputSocket(outputSocket, blend->getOutputSocket()); | ||||
| } | } | ||||