DD::Image::PlanarI Class Reference

Inherited by DD::Image::NukeWrapper [private], and DD::Image::PlanarIop.

List of all members.

Public Types

enum  PackedPreference { ePackedPreferenceNone, ePackedPreferencePacked, ePackedPreferenceUnpacked }
typedef ChannelSet PlaneID
typedef std::set< PlaneIDPlaneSet

Public Member Functions

virtual PackedPreference packedPreference () const =0
virtual size_t getStripeCount () const =0
virtual Box getStripeBox (int idx) const =0
virtual size_t rowToStripeIndex (int y) const =0
virtual PlaneID getPlaneFromChannel (Channel chan)
PlaneSet getAllPlanes (ChannelSet channelSet)
ChannelSet getAllChannels (ChannelSet channelSet)

Static Public Member Functions

static PlaneID GetPlaneFromChannel (Channel chan)

Detailed Description

PlanarI is a mix-in class to be implemented by Iops which prefer to be accessed in a planar way (i.e. with fetchPlane)

It is not itself an Iop because the subclasses might want to inherit from some other subclass of Iop.


Member Function Documentation

virtual PackedPreference DD::Image::PlanarI::packedPreference ( ) const [pure virtual]

whether the Iop prefers to output packed or unpacked data. If the Iop is neutral it should return ePackedPreferenceNone and then the decision will be made on whether other criteria, such as what the downstream ops prefer to consume

Implemented in DD::Image::Read.

Referenced by DD::Image::GeneralTile::GeneralTile().

virtual size_t DD::Image::PlanarI::getStripeCount ( ) const [pure virtual]

get the number of blocks

Referenced by DD::Image::GeneralTile::GeneralTile().

virtual Box DD::Image::PlanarI::getStripeBox ( int  idx) const [pure virtual]

get the size of box /idx/

Referenced by DD::Image::GeneralTile::GeneralTile().

virtual size_t DD::Image::PlanarI::rowToStripeIndex ( int  y) const [pure virtual]
PlanarI::PlaneID DD::Image::PlanarI::getPlaneFromChannel ( Channel  chan) [virtual]

override this if you want your planes to be different to the default.

by default Nuke will call renderStripe()/doFetchPlane() once for each layer. You define its belief about what a 'layer' is here. for example, if you return info().channels(), it will render all your channels at once; if you return chan it will render each channel seperately.

Reimplemented in DD::Image::Read.

References GetPlaneFromChannel().

Referenced by getAllChannels(), getAllPlanes(), DD::Image::ImagePlaneCache::getPlane(), and DD::Image::ImagePlaneCache::lookupLine().

PlanarI::PlaneID DD::Image::PlanarI::GetPlaneFromChannel ( Channel  chan) [static]

The default implementation of GetPlaneFromChannel; each nuke layer forms a separate plane.

Static for use in Reader::getPlaneFromChannel.

References DD::Image::ChannelSet::addBrothers(), DD::Image::Chan_DeepBack, DD::Image::Chan_Mask_PlanarTrack, and DD::Image::Chan_U.

Referenced by getPlaneFromChannel().

PlanarI::PlaneSet DD::Image::PlanarI::getAllPlanes ( ChannelSet  channelSet)

Get all the planes that go to make up channelSet, as a PlaneSet

References getPlaneFromChannel().

Referenced by DD::Image::GeneralTile::GeneralTile().

ChannelSet DD::Image::PlanarI::getAllChannels ( ChannelSet  channelSet)

Get all the channels that are included in planes that go to make up channelSet

References getPlaneFromChannel().