IccMAX 2.1.27
Color Profile Tools
|
#include <IccMatrixMath.h>
Public Member Functions | |
CIccMatrixMath (const CIccMatrixMath &mat) | |
CIccMatrixMath (icUInt16Number nRows, icUInt16Number nCols, bool bInitIdentity=false) | |
virtual | ~CIccMatrixMath () |
virtual void | dumpMtx (std::string &str) const |
icFloatNumber * | entry (icUInt16Number nRow, icUInt16Number nCol=0) |
const icFloatNumber * | entry (icUInt16Number nRow, icUInt16Number nCol=0) const |
virtual icUInt16Number | GetCols () const |
virtual icUInt16Number | GetRows () const |
bool | Invert () |
virtual bool | isIdentityMtx () const |
CIccMatrixMath * | Mult (const CIccMatrixMath *matrix) const |
icFloatNumber | RowSum (icUInt16Number nRow) const |
void | Scale (icFloatNumber v) |
bool | SetRange (const icSpectralRange &from, const icSpectralRange &to) |
virtual void | VectorMult (icFloatNumber *pDst, const icFloatNumber *pSrc) const |
void | VectorScale (const icFloatNumber *vec) |
Static Public Member Functions | |
static CIccMatrixMath * | rangeMap (const icSpectralRange &from, const icSpectralRange &to) |
Protected Attributes | |
icUInt16Number | m_nCols |
icUInt16Number | m_nRows |
icFloatNumber * | m_vals |
Type: Class
Purpose: Object for performing matrix/vector math
CIccMatrixMath::CIccMatrixMath | ( | icUInt16Number | nRows, |
icUInt16Number | nCols, | ||
bool | bInitIdentity = false |
||
) |
Name: CIccMatrixMath::CIccMatrixMath
Purpose: Constructor
References entry(), m_nCols, m_nRows, and m_vals.
Referenced by CIccMpeEmissionMatrix::Begin(), CIccMpeInvEmissionMatrix::Begin(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccMpeEmissionObserver::Begin(), CIccMpeReflectanceObserver::Begin(), IIccProfileConnectionConditions::getEmissiveObserver(), CIccTagSpectralViewingConditions::getObserverMatrix(), Mult(), and rangeMap().
CIccMatrixMath::CIccMatrixMath | ( | const CIccMatrixMath & | matrix | ) |
Name: CIccMatrixMath::CIccMatrixMath
Purpose: Copy Constructor
References m_nCols, m_nRows, and m_vals.
Referenced by CIccMpeReflectanceObserver::Begin().
|
virtual |
|
virtual |
Name: CIccMatrixMath::dump
Purpose: dumps the context of the step
References entry(), m_nCols, and m_nRows.
|
inline |
References m_nCols, and m_vals.
Referenced by CIccMatrixMath(), CIccMpeEmissionMatrix::Begin(), CIccMpeInvEmissionMatrix::Begin(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccMpeEmissionObserver::Begin(), CIccMpeReflectanceObserver::Begin(), IIccProfileConnectionConditions::getEmissiveObserver(), CIccTagSpectralViewingConditions::getObserverMatrix(), Mult(), Scale(), SetRange(), and VectorScale().
|
inline |
References m_nCols, and m_vals.
Referenced by dumpMtx(), isIdentityMtx(), Mult(), RowSum(), and VectorMult().
|
inlinevirtual |
|
inlinevirtual |
bool CIccMatrixMath::Invert | ( | ) |
Name: CIccMatrixMath::Invert
Purpose: Inverts the matrix
References icMatrixInvert3x3(), m_nCols, m_nRows, and m_vals.
Referenced by CIccMpeInvEmissionMatrix::Begin().
|
virtual |
Name: CIccMatrixMath::isIdentityMtx
Purpose: Determines if applying this step will result in negligible change in data
References entry(), m_nCols, and m_nRows.
CIccMatrixMath * CIccMatrixMath::Mult | ( | const CIccMatrixMath * | matrix | ) | const |
Name: CIccMatrixMath::Mult
Purpose: Creates a new CIccMatrixMath that is the result of concatentating another matrix with this matrix. (IE result = matrix * this).
References CIccMatrixMath(), entry(), entry(), m_nCols, and m_nRows.
Referenced by CIccMpeReflectanceCLUT::Begin(), CIccMpeReflectanceObserver::Begin(), and IIccProfileConnectionConditions::getReflectanceObserver().
|
static |
Name: CIccMatrixMath::rangeMap
Purpose: This helper function generates a matrix math object that can be used to convert spectral vectors from one spectral range to another using linear interpolation.
References CIccMatrixMath(), icSpectralRange::end, SetRange(), icSpectralRange::start, and icSpectralRange::steps.
Referenced by CIccTagSpectralViewingConditions::applyRangeToObserver(), CIccMpeReflectanceCLUT::Begin(), CIccMpeReflectanceObserver::Begin(), IIccProfileConnectionConditions::getEmissiveObserver(), IIccProfileConnectionConditions::getObserverIlluminantScaleFactor(), IIccProfileConnectionConditions::getObserverWhiteScaleFactor(), and IIccProfileConnectionConditions::getReflectanceObserver().
icFloatNumber CIccMatrixMath::RowSum | ( | icUInt16Number | nRow | ) | const |
Name: CIccMatrixMath::RowSum
Purpose: Creates a new CIccMatrixMath step that is the result of multiplying the matrix of this object to the scale of another object.
References entry(), and m_nCols.
Referenced by IIccProfileConnectionConditions::getReflectanceObserver().
void CIccMatrixMath::Scale | ( | icFloatNumber | v | ) |
Name: CIccMatrixMath::Scale
Purpose: Multiplies all values in matrix by a single scale factor
References entry(), m_nCols, and m_nRows.
Referenced by IIccProfileConnectionConditions::getReflectanceObserver().
bool CIccMatrixMath::SetRange | ( | const icSpectralRange & | srcRange, |
const icSpectralRange & | dstRange | ||
) |
Name: CIccMatrixMath::SetRange
Purpose: Fills a matrix math object that can be used to convert spectral vectors from one spectral range to another using linear interpolation.
References icSpectralRange::end, entry(), icF16toF(), m_nCols, m_nRows, icSpectralRange::start, and icSpectralRange::steps.
Referenced by rangeMap().
|
virtual |
Name: CIccMatrixMath::VectorMult
Purpose: Multiplies pSrc vector passed by a matrix resulting in a pDst vector
References entry(), m_nCols, and m_nRows.
Referenced by CIccMpeEmissionMatrix::Apply(), CIccMpeInvEmissionMatrix::Apply(), CIccMpeSpectralObserver::Apply(), CIccTagSpectralViewingConditions::applyRangeToObserver(), CIccMpeEmissionMatrix::Begin(), CIccMpeInvEmissionMatrix::Begin(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccMpeEmissionObserver::Begin(), CIccMpeReflectanceObserver::Begin(), IIccProfileConnectionConditions::getEmissiveObserver(), IIccProfileConnectionConditions::getObserverIlluminantScaleFactor(), CIccTagSpectralViewingConditions::getObserverMatrix(), and IIccProfileConnectionConditions::getObserverWhiteScaleFactor().
void CIccMatrixMath::VectorScale | ( | const icFloatNumber * | vec | ) |
Name: CIccMatrixMath::VectorScale
Purpose: Multiplies each row by values of vector passed in
References entry(), m_nCols, and m_nRows.
Referenced by IIccProfileConnectionConditions::getReflectanceObserver().
|
protected |
Referenced by CIccMatrixMath(), CIccMatrixMath(), dumpMtx(), entry(), entry(), GetCols(), Invert(), isIdentityMtx(), Mult(), RowSum(), Scale(), SetRange(), VectorMult(), and VectorScale().
|
protected |
Referenced by CIccMatrixMath(), CIccMatrixMath(), dumpMtx(), GetRows(), Invert(), isIdentityMtx(), Mult(), Scale(), SetRange(), VectorMult(), and VectorScale().
|
protected |
Referenced by CIccMatrixMath(), CIccMatrixMath(), ~CIccMatrixMath(), entry(), entry(), and Invert().