| 309 | } |
| 310 | |
| 311 | static bool |
| 312 | isRotoPaintNodeInputRecursive(Node* node, |
| 313 | const NodePtr& rotoPaintNode) |
| 314 | { |
| 315 | if ( node == rotoPaintNode.get() ) { |
| 316 | return true; |
| 317 | } |
| 318 | int maxInputs = node->getNInputs(); |
| 319 | for (int i = 0; i < maxInputs; ++i) { |
| 320 | NodePtr input = node->getInput(i); |
| 321 | if (input) { |
| 322 | if (input == rotoPaintNode) { |
| 323 | return true; |
| 324 | } else { |
| 325 | bool ret = isRotoPaintNodeInputRecursive(input.get(), rotoPaintNode); |
| 326 | if (ret) { |
| 327 | return true; |
| 328 | } |
| 329 | } |
| 330 | } |
| 331 | } |
| 332 | |
| 333 | return false; |
| 334 | } |
| 335 | |
| 336 | static void |
| 337 | updateLastStrokeDataRecursively(Node* node, |
no test coverage detected