HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OCIO_NAMESPACE::RangeTransform Class Referenceabstract

#include <OpenColorTransforms.h>

+ Inheritance diagram for OCIO_NAMESPACE::RangeTransform:

Public Member Functions

TransformType getTransformType () const noexceptoverride
 
virtual RangeStyle getStyle () const noexcept=0
 
virtual void setStyle (RangeStyle style) noexcept=0
 Set the Range style to clamp or not input values. More...
 
virtual const FormatMetadatagetFormatMetadata () const noexcept=0
 
virtual FormatMetadatagetFormatMetadata () noexcept=0
 
virtual bool equals (const RangeTransform &other) const noexcept=0
 Checks if this equals other. More...
 
virtual BitDepth getFileInputBitDepth () const noexcept=0
 
virtual void setFileInputBitDepth (BitDepth bitDepth) noexcept=0
 
virtual BitDepth getFileOutputBitDepth () const noexcept=0
 
virtual void setFileOutputBitDepth (BitDepth bitDepth) noexcept=0
 
virtual double getMinInValue () const noexcept=0
 Get the minimum value for the input. More...
 
virtual void setMinInValue (double val) noexcept=0
 Set the minimum value for the input. More...
 
virtual bool hasMinInValue () const noexcept=0
 Is the minimum value for the input set? More...
 
virtual void unsetMinInValue () noexcept=0
 Unset the minimum value for the input. More...
 
virtual void setMaxInValue (double val) noexcept=0
 Set the maximum value for the input. More...
 
virtual double getMaxInValue () const noexcept=0
 Get the maximum value for the input. More...
 
virtual bool hasMaxInValue () const noexcept=0
 Is the maximum value for the input set? More...
 
virtual void unsetMaxInValue () noexcept=0
 Unset the maximum value for the input. More...
 
virtual void setMinOutValue (double val) noexcept=0
 Set the minimum value for the output. More...
 
virtual double getMinOutValue () const noexcept=0
 Get the minimum value for the output. More...
 
virtual bool hasMinOutValue () const noexcept=0
 Is the minimum value for the output set? More...
 
virtual void unsetMinOutValue () noexcept=0
 Unset the minimum value for the output. More...
 
virtual void setMaxOutValue (double val) noexcept=0
 Set the maximum value for the output. More...
 
virtual double getMaxOutValue () const noexcept=0
 Get the maximum value for the output. More...
 
virtual bool hasMaxOutValue () const noexcept=0
 Is the maximum value for the output set? More...
 
virtual void unsetMaxOutValue () noexcept=0
 Unset the maximum value for the output. More...
 
 RangeTransform (const RangeTransform &)=delete
 
RangeTransformoperator= (const RangeTransform &)=delete
 
virtual ~RangeTransform ()=default
 Do not use (needed only for pybind11). More...
 
- Public Member Functions inherited from OCIO_NAMESPACE::Transform
virtual TransformRcPtr createEditableCopy () const =0
 
virtual TransformDirection getDirection () const noexcept=0
 
virtual void setDirection (TransformDirection dir) noexcept=0
 Note that this only affects the evaluation and not the values stored in the object. More...
 
virtual void validate () const
 Will throw if data is not valid. More...
 
 Transform (const Transform &)=delete
 
Transformoperator= (const Transform &)=delete
 
virtual ~Transform ()=default
 Do not use (needed only for pybind11). More...
 

Static Public Member Functions

static RangeTransformRcPtr Create ()
 Creates an instance of RangeTransform. More...
 

Protected Member Functions

 RangeTransform ()=default
 
- Protected Member Functions inherited from OCIO_NAMESPACE::Transform
 Transform ()=default
 

Detailed Description

Represents a range transform

The Range is used to apply an affine transform (scale & offset) and clamps values to min/max bounds on all color components except the alpha. The scale and offset values are computed from the input and output bounds.

Refer to section 7.2.4 in specification S-2014-006 "A Common File Format for Look-Up Tables" from the Academy of Motion Picture Arts and Sciences and the American Society of Cinematographers.

Note
The "noClamp" style described in the specification S-2014-006 becomes a MatrixOp at the processor level.
Changing the transform direction does not modify the in/out values – they are always specified with respect to the "forward" direction.

Definition at line 1888 of file OpenColorTransforms.h.

Constructor & Destructor Documentation

OCIO_NAMESPACE::RangeTransform::RangeTransform ( const RangeTransform )
delete
virtual OCIO_NAMESPACE::RangeTransform::~RangeTransform ( )
virtualdefault

Do not use (needed only for pybind11).

OCIO_NAMESPACE::RangeTransform::RangeTransform ( )
protecteddefault

Member Function Documentation

static RangeTransformRcPtr OCIO_NAMESPACE::RangeTransform::Create ( )
static

Creates an instance of RangeTransform.

virtual bool OCIO_NAMESPACE::RangeTransform::equals ( const RangeTransform other) const
pure virtualnoexcept

Checks if this equals other.

virtual BitDepth OCIO_NAMESPACE::RangeTransform::getFileInputBitDepth ( ) const
pure virtualnoexcept

File bit-depth

In a format such as CLF, the range values are scaled to take pixels at the specified inBitDepth to pixels at the specified outBitDepth. This complicates the interpretation of the range values and so this object always holds normalized values and scaling is done on the way from or to file formats such as CLF.Get the bit-depths associated with the range values read from a file or set the bit-depths of values to be written to a file (for file formats such as CLF that support multiple bit-depths).

virtual BitDepth OCIO_NAMESPACE::RangeTransform::getFileOutputBitDepth ( ) const
pure virtualnoexcept
virtual const FormatMetadata& OCIO_NAMESPACE::RangeTransform::getFormatMetadata ( ) const
pure virtualnoexcept
virtual FormatMetadata& OCIO_NAMESPACE::RangeTransform::getFormatMetadata ( )
pure virtualnoexcept
virtual double OCIO_NAMESPACE::RangeTransform::getMaxInValue ( ) const
pure virtualnoexcept

Get the maximum value for the input.

virtual double OCIO_NAMESPACE::RangeTransform::getMaxOutValue ( ) const
pure virtualnoexcept

Get the maximum value for the output.

virtual double OCIO_NAMESPACE::RangeTransform::getMinInValue ( ) const
pure virtualnoexcept

Get the minimum value for the input.

Range values

These values are normalized relative to what may be stored in file formats such as CLF. For example in a CLF file using a "10i" input depth, a MaxInValue of 1023 in the file is normalized to 1.0. Likewise, for an output depth of "12i", a MaxOutValue of 4095 in the file is normalized to 1.0. The values here are unclamped and may extend outside [0,1].

virtual double OCIO_NAMESPACE::RangeTransform::getMinOutValue ( ) const
pure virtualnoexcept

Get the minimum value for the output.

virtual RangeStyle OCIO_NAMESPACE::RangeTransform::getStyle ( ) const
pure virtualnoexcept
TransformType OCIO_NAMESPACE::RangeTransform::getTransformType ( ) const
inlineoverridevirtualnoexcept

Implements OCIO_NAMESPACE::Transform.

Definition at line 1894 of file OpenColorTransforms.h.

virtual bool OCIO_NAMESPACE::RangeTransform::hasMaxInValue ( ) const
pure virtualnoexcept

Is the maximum value for the input set?

virtual bool OCIO_NAMESPACE::RangeTransform::hasMaxOutValue ( ) const
pure virtualnoexcept

Is the maximum value for the output set?

virtual bool OCIO_NAMESPACE::RangeTransform::hasMinInValue ( ) const
pure virtualnoexcept

Is the minimum value for the input set?

virtual bool OCIO_NAMESPACE::RangeTransform::hasMinOutValue ( ) const
pure virtualnoexcept

Is the minimum value for the output set?

RangeTransform& OCIO_NAMESPACE::RangeTransform::operator= ( const RangeTransform )
delete
virtual void OCIO_NAMESPACE::RangeTransform::setFileInputBitDepth ( BitDepth  bitDepth)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::RangeTransform::setFileOutputBitDepth ( BitDepth  bitDepth)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::RangeTransform::setMaxInValue ( double  val)
pure virtualnoexcept

Set the maximum value for the input.

virtual void OCIO_NAMESPACE::RangeTransform::setMaxOutValue ( double  val)
pure virtualnoexcept

Set the maximum value for the output.

virtual void OCIO_NAMESPACE::RangeTransform::setMinInValue ( double  val)
pure virtualnoexcept

Set the minimum value for the input.

virtual void OCIO_NAMESPACE::RangeTransform::setMinOutValue ( double  val)
pure virtualnoexcept

Set the minimum value for the output.

virtual void OCIO_NAMESPACE::RangeTransform::setStyle ( RangeStyle  style)
pure virtualnoexcept

Set the Range style to clamp or not input values.

virtual void OCIO_NAMESPACE::RangeTransform::unsetMaxInValue ( )
pure virtualnoexcept

Unset the maximum value for the input.

virtual void OCIO_NAMESPACE::RangeTransform::unsetMaxOutValue ( )
pure virtualnoexcept

Unset the maximum value for the output.

virtual void OCIO_NAMESPACE::RangeTransform::unsetMinInValue ( )
pure virtualnoexcept

Unset the minimum value for the input.

virtual void OCIO_NAMESPACE::RangeTransform::unsetMinOutValue ( )
pure virtualnoexcept

Unset the minimum value for the output.


The documentation for this class was generated from the following file: