void nuke_ld_3de4_base::_request(int x,int y,int r,int t,DD::Image::ChannelMask channels,int count) { // Since for image processing we *fetch* at pixel positions, // the inverse mapping is used (as often mentioned). DD::Image::Box box = bounds(_knob_direction == distort ? undistort : distort,x,y,r,t); // The original Weta-Node forms an intersection with input0's box, // makes sense, we do the same here. I guess, we shouldn't demand, // what input0 does not supply, that's why. box.intersect(input0().info()); input0().request(box.x(),box.y(),box.r(),box.t(),channels,count); }
Imath::Box2i convert( const DD::Image::Box &from ) { return Imath::Box2i( Imath::V2i( from.x(), from.y() ), Imath::V2i( from.r(), from.t() ) ); }