MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / getSelectedLayerInternal

Method getSelectedLayerInternal

Engine/Node.cpp:5135–5166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5133}
5134
5135ImagePlaneDesc
5136Node::Implementation::getSelectedLayerInternal(int inputNb,
5137 const std::list<ImagePlaneDesc>& availableLayers,
5138 const ChannelSelector& selector) const
5139{
5140 NodePtr node;
5141
5142 assert(_publicInterface);
5143 if (!_publicInterface) {
5144 return ImagePlaneDesc();
5145 }
5146 if (inputNb == -1) {
5147 node = _publicInterface->shared_from_this();
5148 } else {
5149 node = _publicInterface->getInput(inputNb);
5150 }
5151
5152 KnobChoicePtr layerKnob = selector.layer.lock();
5153 if (!layerKnob) {
5154 return ImagePlaneDesc();
5155 }
5156 ChoiceOption layerID = layerKnob->getActiveEntry();
5157
5158 for (std::list<ImagePlaneDesc>::const_iterator it2 = availableLayers.begin(); it2 != availableLayers.end(); ++it2) {
5159
5160 const std::string& layerName = it2->getPlaneID();
5161 if (layerID.id == layerName) {
5162 return *it2;
5163 }
5164 }
5165 return ImagePlaneDesc();
5166} // Node::Implementation::getSelectedLayerInternal
5167
5168void
5169Node::Implementation::onLayerChanged(int inputNb,

Callers 1

getSelectedLayerMethod · 0.80

Calls 6

ImagePlaneDescClass · 0.85
getActiveEntryMethod · 0.80
getInputMethod · 0.45
lockMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected