DD::Image::ReaderImpl Class Reference

Private, hidden implementation for DD::Image::Reader objects. More...

Inherits DD::Image::LUTInfo.

Public Member Functions

 ReaderImpl (Read *pOp, Reader *pReader)
 
virtual LUTdefaultLut () const
 
virtual std::string updateColorspaceDefaultValue ()
 Update overridden colorspace name and call updateColorspaceDefaultValue from the base class (LUTInfo)
 
void setOriginalDefaultLut (LUT *lut)
 
int rowPadMultiple () const noexcept
 Rows must be padded to be multiples of this value, in bytes. 0 means no padding.
 
void setRowPadMultiple (int rowPadMultiple) noexcept
 Rows must be padded to be multiples of this value, in bytes. 0 means no padding.
 
- Public Member Functions inherited from DD::Image::LUTInfo
 LUTInfo (Op *pOp)
 
void registerForCallbacks ()
 This must be called after the Reader/Writer is constructed.
 
void unregisterForCallbacks ()
 
void setLUTDataTypeHint (const LUT::DataType type) const
 
LUT::DataType lutDataTypeHint () const
 
std::string getBuiltinLUTName (std::string &mappedStringOut)
 
std::string updateColorspaceDefaultValue ()
 util function for calling updateColorspaceDefaultValue()
 
std::string stripCascadingPrefix (const std::string &) const
 strip off cascading menus prefix
 

Additional Inherited Members

- Protected Attributes inherited from DD::Image::LUTInfo
std::string _overrideColorspaceName
 

Detailed Description

Private, hidden implementation for DD::Image::Reader objects.

Member Function Documentation

void ReaderImpl::setOriginalDefaultLut ( LUT lut)

When Nuke is using OCIO color management, the reader's lut gets reset to linear in Read::make_reader(). This caused the problem that if updateColorspaceDefaultValue() is called after that it would determine the default colorspace mapping based on that, rather than what the reader actually specified for the default lut. This stores that original lut, and returns it from defaultLut() if set.



©2022 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk