DD::Image::NoIop Class Reference

Inherits DD::Image::Iop.

Inherited by DD::Image::ToBuffer.

List of all members.

Public Member Functions

 NoIop (Node *node=0)
virtual void knobs (Knob_Callback)
bool pass_transform () const

Protected Member Functions

void _validate (bool)
void _request (int x, int y, int r, int t, ChannelMask, int count)
void engine (int y, int x, int r, ChannelMask channels, Row &row)

Detailed Description

This operator returns the input unchanged. You can use this as a base class for an Iop that does nothing to the image but changes some of the info_, such as the format, attributes, or set of channels. This avoids the need to write the pure virtual functions that a normal Iop needs.


Member Function Documentation

void NoIop::_validate ( bool  for_real) [protected, virtual]

This does set_out_channels(Mask_None), so _request() and engine() will not be called. If you subclass this you almost certainly need to override this function. You should call copy_info() and then modify the info in any way you want.

Reimplemented from DD::Image::Iop.

References DD::Image::Iop::copy_info(), and DD::Image::Iop::set_out_channels().

void NoIop::_request ( int  x,
int  y,
int  r,
int  t,
ChannelMask  m,
int  count 
) [protected, virtual]

Requests the same area and channels from the input. _request() will not be called unless you override _validate().

Reimplemented from DD::Image::Iop.

References DD::Image::Iop::input0(), and DD::Image::Iop::request().

void NoIop::engine ( int  y,
int  x,
int  r,
ChannelMask  channels,
Row row 
) [protected, virtual]

Returns the input unchanged. _engine() will not be called unless you override _validate() to not call disable().

Implements DD::Image::Iop.

References DD::Image::Iop::get(), and DD::Image::Iop::input0().

void NoIop::knobs ( Knob_Callback  ) [virtual]

No knobs.

Reimplemented from DD::Image::Op.

bool NoIop::pass_transform ( ) const [virtual]

Returns true.

Reimplemented from DD::Image::Iop.