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

#include <OpenColorTransforms.h>

+ Inheritance diagram for OCIO_NAMESPACE::GradingRGBCurveTransform:

Public Member Functions

TransformType getTransformType () const noexceptoverride
virtual const FormatMetadatagetFormatMetadata () const noexcept=0
virtual FormatMetadatagetFormatMetadata () noexcept=0
virtual bool equals (const GradingRGBCurveTransform &other) const noexcept=0
 Checks if this equals other. More...
virtual GradingStyle getStyle () const noexcept=0
 Adjusts the behavior of the transform for log, linear, or video color space encodings. More...
virtual void setStyle (GradingStyle style) noexcept=0
 Will reset value to style's defaults if style is not the current style. More...
virtual const
getValue () const =0
virtual void setValue (const ConstGradingRGBCurveRcPtr &values)=0
 Throws if value is not valid. More...
virtual float getSlope (RGBCurveType c, size_t index) const =0
virtual void setSlope (RGBCurveType c, size_t index, float slope)=0
virtual bool slopesAreDefault (RGBCurveType c) const =0
virtual bool getBypassLinToLog () const =0
virtual void setBypassLinToLog (bool bypass)=0
virtual bool isDynamic () const noexcept=0
virtual void makeDynamic () noexcept=0
virtual void makeNonDynamic () noexcept=0
 GradingRGBCurveTransform (const GradingRGBCurveTransform &)=delete
GradingRGBCurveTransformoperator= (const GradingRGBCurveTransform &)=delete
virtual ~GradingRGBCurveTransform ()=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

Create (GradingStyle style)
 Creates an instance of GradingPrimaryTransform. More...

Protected Member Functions

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

Detailed Description

RGB curve color correction controls.

This transform allows for modifying tone reproduction via B-spline curves.

There is an R, G, and B curve along with a Master curve (that applies to R, G, and B). Each curve is specified via the x and y coordinates of its control points. A monotonic spline is fit to the control points. The x coordinates must be non-decreasing. When the grading style is linear, the units for the control points are photographic stops relative to 0.18.

The control points are dynamic, so they may be adjusted even after the Transform is included in a Processor.

Definition at line 1197 of file OpenColorTransforms.h.

Constructor & Destructor Documentation

OCIO_NAMESPACE::GradingRGBCurveTransform::GradingRGBCurveTransform ( const GradingRGBCurveTransform )
virtual OCIO_NAMESPACE::GradingRGBCurveTransform::~GradingRGBCurveTransform ( )

Do not use (needed only for pybind11).

OCIO_NAMESPACE::GradingRGBCurveTransform::GradingRGBCurveTransform ( )

Member Function Documentation

static GradingRGBCurveTransformRcPtr OCIO_NAMESPACE::GradingRGBCurveTransform::Create ( GradingStyle  style)

Creates an instance of GradingPrimaryTransform.

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

Checks if this equals other.

virtual bool OCIO_NAMESPACE::GradingRGBCurveTransform::getBypassLinToLog ( ) const
pure virtual

The scene-linear grading style applies a lin-to-log transform to the pixel values before going through the curve. However, in some cases (e.g. drawing curves in a UI) it may be useful to bypass the lin-to-log. Default value is false.

virtual const FormatMetadata& OCIO_NAMESPACE::GradingRGBCurveTransform::getFormatMetadata ( ) const
pure virtualnoexcept
virtual FormatMetadata& OCIO_NAMESPACE::GradingRGBCurveTransform::getFormatMetadata ( )
pure virtualnoexcept
virtual float OCIO_NAMESPACE::GradingRGBCurveTransform::getSlope ( RGBCurveType  c,
size_t  index 
) const
pure virtual

It is possible to provide a desired slope value for each control point. The number of slopes is always the same as the number of control points and so the control points must be set before setting the slopes. The slopes are primarily intended for use by config authors looking to match a specific shape with as few control points as possible, they are not intended to be exposed to a user interface for direct manipulation. When a curve is being generated for creative purposes it is better to let OCIO calculate the slopes automatically.

virtual GradingStyle OCIO_NAMESPACE::GradingRGBCurveTransform::getStyle ( ) const
pure virtualnoexcept

Adjusts the behavior of the transform for log, linear, or video color space encodings.

TransformType OCIO_NAMESPACE::GradingRGBCurveTransform::getTransformType ( ) const

Implements OCIO_NAMESPACE::Transform.

Definition at line 1203 of file OpenColorTransforms.h.

virtual const ConstGradingRGBCurveRcPtr OCIO_NAMESPACE::GradingRGBCurveTransform::getValue ( ) const
pure virtual
virtual bool OCIO_NAMESPACE::GradingRGBCurveTransform::isDynamic ( ) const
pure virtualnoexcept

Parameters can be made dynamic so the values can be changed through the CPU or GPU processor, but if there are several GradingRGBCurveTransform only one can have dynamic parameters.

virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::makeDynamic ( )
pure virtualnoexcept
virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::makeNonDynamic ( )
pure virtualnoexcept
GradingRGBCurveTransform& OCIO_NAMESPACE::GradingRGBCurveTransform::operator= ( const GradingRGBCurveTransform )
virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::setBypassLinToLog ( bool  bypass)
pure virtual
virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::setSlope ( RGBCurveType  c,
size_t  index,
float  slope 
pure virtual
virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::setStyle ( GradingStyle  style)
pure virtualnoexcept

Will reset value to style's defaults if style is not the current style.

virtual void OCIO_NAMESPACE::GradingRGBCurveTransform::setValue ( const ConstGradingRGBCurveRcPtr values)
pure virtual

Throws if value is not valid.

virtual bool OCIO_NAMESPACE::GradingRGBCurveTransform::slopesAreDefault ( RGBCurveType  c) const
pure virtual

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