#include <Execute.h>
Public Types | |
| typedef unsigned | ExecuteVersion |
Public Member Functions | |
| OpGraphLocation | generateOpGraphAt (Op *op, const OutputContext &outputContext) |
| OpGraphLocation | generateOpGraphForInput (Op *op, int nodeInputNumber, const OutputContext &outputContext) |
| Op * | generateOp (Op *op, int inputnumber, double frame, int view=0) |
| Op * | generateOp (Op *op, int inputnumber, const OutputContext &outputContext) |
| void | reset () |
| void | setVersion (int newVersion) |
| int | getVersion () const |
Friends | |
| class | ExecuteImplementation |
An "execution context". It is used to ask Nuke to generate a tree of Ops that will remain locked (ie not changed by any other execution contexts, though maybe shared by them) until the Execute is destroyed.
This is used to look at multiple frames (a "clip") of an operator's input. To do this a DD::Image::Op should: Unless you want to compare each frame to the current one, make Op::split_input() return -1. This indicates that Nuke should not lock ops for that input when building the tree, so they can be reused for this. If the output does not depend on the current frame (such as an operator that averages a fixed range together) you should also make Op::input_frame() return a constant. Otherwise the hash will vary depending on the frame number, causing it to recalculate as the user changes frames. To look at all the frames, the open() or execute() should create an Execute (usually as a local variable), then inside the loop it should call reset() and then generateOp() for each frame.
| OpGraphLocation Execute::generateOpGraphAt | ( | Op * | op, |
| const OutputContext & | outputContext | ||
| ) |
Generate an Op graph for the node that owns op at outputContext. This Op graph will be "locked" and will not be altered until the Execute is destroyed or reset() is called.
References DD::Image::Op::outputContext().
| OpGraphLocation Execute::generateOpGraphForInput | ( | Op * | op, |
| int | nodeInputNumber, | ||
| const OutputContext & | outputContext | ||
| ) |
Generate an Op graph for the input on the node that owns op at outputContext. This Op graph will be "locked" and will not be altered until the Execute is destroyed or reset() is called.
References DD::Image::Op::outputContext().
Referenced by DD::Image::GeomOpEngine::inputConnectionAt().
Produce input n of op at frame frame. This Op will be "locked" and will not be altered until the Execute is destroyed or reset() is called.
References DD::Image::OutputContext::setView(), and DD::Image::Op::uiContext().
|
inline |
|
inline |
Same as destroy+create of a new Execute, but slightly more efficient. All previous Ops from generateOp calls are unlocked and can be reused by this or other calls. In a typical loop you would call this after processing each frame number.
| ©2026 The Foundry Visionmongers, Ltd. All Rights Reserved. |