#include <OpenColorTransforms.h>
|
static MatrixTransformRcPtr | Create () |
|
static void | Fit (double *m44, double *offset4, const double *oldmin4, const double *oldmax4, const double *newmin4, const double *newmax4) |
|
static void | Identity (double *m44, double *offset4) |
|
static void | Sat (double *m44, double *offset4, double sat, const double *lumaCoef3) |
|
static void | Scale (double *m44, double *offset4, const double *scale4) |
|
static void | View (double *m44, double *offset4, int *channelHot4, const double *lumaCoef3) |
|
Represents an MX+B Matrix transform.
- Note
- For singular matrices, an inverse direction will throw an exception during finalization.
Definition at line 1774 of file OpenColorTransforms.h.
virtual OCIO_NAMESPACE::MatrixTransform::~MatrixTransform |
( |
| ) |
|
|
virtualdefault |
Do not use (needed only for pybind11).
OCIO_NAMESPACE::MatrixTransform::MatrixTransform |
( |
| ) |
|
|
protecteddefault |
Checks if this exactly equals other.
static void OCIO_NAMESPACE::MatrixTransform::Fit |
( |
double * |
m44, |
|
|
double * |
offset4, |
|
|
const double * |
oldmin4, |
|
|
const double * |
oldmax4, |
|
|
const double * |
newmin4, |
|
|
const double * |
newmax4 |
|
) |
| |
|
static |
Convenience functions
Build the matrix and offset corresponding to higher-level concepts.
- Note
- These can throw an exception if for any component
oldmin == oldmax. (divide by 0)
virtual BitDepth OCIO_NAMESPACE::MatrixTransform::getFileInputBitDepth |
( |
| ) |
const |
|
pure virtualnoexcept |
Get the bit-depths associated with the matrix 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).
In a format such as CLF, the matrix values are scaled to take pixels at the specified inBitDepth to pixels at the specified outBitDepth. This complicates the interpretation of the matrix values and so this object always holds normalized values and scaling is done on the way from or to file formats such as CLF.
virtual BitDepth OCIO_NAMESPACE::MatrixTransform::getFileOutputBitDepth |
( |
| ) |
const |
|
pure virtualnoexcept |
virtual FormatMetadata& OCIO_NAMESPACE::MatrixTransform::getFormatMetadata |
( |
| ) |
|
|
pure virtualnoexcept |
virtual void OCIO_NAMESPACE::MatrixTransform::getMatrix |
( |
double * |
m44 | ) |
const |
|
pure virtual |
virtual void OCIO_NAMESPACE::MatrixTransform::getOffset |
( |
double * |
offset4 | ) |
const |
|
pure virtual |
TransformType OCIO_NAMESPACE::MatrixTransform::getTransformType |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
static void OCIO_NAMESPACE::MatrixTransform::Identity |
( |
double * |
m44, |
|
|
double * |
offset4 |
|
) |
| |
|
static |
static void OCIO_NAMESPACE::MatrixTransform::Sat |
( |
double * |
m44, |
|
|
double * |
offset4, |
|
|
double |
sat, |
|
|
const double * |
lumaCoef3 |
|
) |
| |
|
static |
static void OCIO_NAMESPACE::MatrixTransform::Scale |
( |
double * |
m44, |
|
|
double * |
offset4, |
|
|
const double * |
scale4 |
|
) |
| |
|
static |
virtual void OCIO_NAMESPACE::MatrixTransform::setFileInputBitDepth |
( |
BitDepth |
bitDepth | ) |
|
|
pure virtualnoexcept |
virtual void OCIO_NAMESPACE::MatrixTransform::setFileOutputBitDepth |
( |
BitDepth |
bitDepth | ) |
|
|
pure virtualnoexcept |
virtual void OCIO_NAMESPACE::MatrixTransform::setMatrix |
( |
const double * |
m44 | ) |
|
|
pure virtual |
Get or set the values of a Matrix. Expects 16 values, where the first four are the coefficients to generate the R output channel from R, G, B, A input channels.
The Matrix values are always for the "forward" Matrix, regardless of how the transform direction is set.
These values are normalized relative to what may be stored in file formats such as CLF. For example in a CLF file using a "32f" input depth and "10i" output depth, a value of 1023 in the file is normalized to 1.0. The values here are unclamped and may extend outside [0,1].
virtual void OCIO_NAMESPACE::MatrixTransform::setOffset |
( |
const double * |
offset4 | ) |
|
|
pure virtual |
Get or set the R, G, B, A offsets to be applied after the matrix.
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" output depth, a value of 1023 in the file is normalized to 1.0. The values here are unclamped and may extend outside [0,1].
static void OCIO_NAMESPACE::MatrixTransform::View |
( |
double * |
m44, |
|
|
double * |
offset4, |
|
|
int * |
channelHot4, |
|
|
const double * |
lumaCoef3 |
|
) |
| |
|
static |
The documentation for this class was generated from the following file: