IccMAX 2.1.27
Color Profile Tools
|
#include <IccTagBasic.h>
Public Member Functions | |
CIccTagSparseMatrixArray (const CIccTagSparseMatrixArray &ITSMA) | |
CIccTagSparseMatrixArray (int nNumMatrices=1, int nChannelsPerMatrix=4) | |
virtual | ~CIccTagSparseMatrixArray () |
virtual void | Describe (std::string &sDescription, int nVerboseness) |
virtual void | DetachIO () |
icUInt32Number | GetBytesPerMatrix () const |
icUInt32Number | GetChannelsPerMatrix () const |
virtual const icChar * | GetClassName () const |
virtual IIccExtensionTag * | GetExtension () |
icSparseMatrixType | GetMatrixType () const |
icUInt32Number | GetNumMatrices () const |
Returns the number of matrices in the array. | |
virtual icUInt32Number | GetNumValues () const |
bool | GetSparseMatrix (CIccSparseMatrix &mtx, int nIndex, bool bInitFromData=true) |
virtual icArraySignature | GetTagArrayType () const |
virtual icStructSignature | GetTagStructType () const |
virtual icTagTypeSignature | GetType () const |
virtual bool | GetValues (icFloatNumber *DstVector, icUInt32Number nStart=0, icUInt32Number nVectorSize=1) const |
virtual bool | Interpolate (icFloatNumber *DstVector, icFloatNumber val, icUInt32Number nVectorSize=1, icFloatNumber *zeroVals=NULL) const |
virtual bool | IsArrayType () |
virtual bool | IsMatrixArray () const |
virtual bool | IsMBBType () |
virtual bool | IsNumArrayType () const |
virtual bool | IsSupported () |
virtual CIccTag * | NewCopy () |
virtual CIccTag * | NewCopy () const |
CIccTagSparseMatrixArray & | operator= (const CIccTagSparseMatrixArray &ITSMA) |
virtual bool | Read (icUInt32Number size, CIccIO *pIO) |
virtual bool | Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile) |
virtual bool | ReadAll () |
bool | Reset (icUInt32Number nNumMatrices, icUInt16Number nChannelsPerMatrix) |
void | SetMatrixType (icSparseMatrixType nType) |
virtual icValidateStatus | Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const |
virtual bool | ValuePos (icFloatNumber &DstPos, icFloatNumber val, bool &bNoZero) const |
virtual bool | Write (CIccIO *pIO) |
Static Public Member Functions | |
static CIccTag * | Create (icTagTypeSignature sig) |
Data Fields | |
icUInt32Number | m_nReserved |
Protected Attributes | |
bool | m_bNonZeroPadding |
icUInt16Number | m_nChannelsPerMatrix |
icSparseMatrixType | m_nMatrixType |
icUInt32Number | m_nSize |
icUInt8Number * | m_RawData |
Class: CIccTagSparseMatrixArray
Purpose: A template class for arrays of Fixed point numbers
Derived Tags: CIccTagS15Fixed16 and CIccTagU16Fixed16
CIccTagSparseMatrixArray::CIccTagSparseMatrixArray | ( | int | nNumMatrices = 1 , |
int | nChannelsPerMatrix = 4 |
||
) |
Name: CIccTagSparseMatrixArray::CIccTagSparseMatrixArray
Purpose: CIccTagSparseMatrixArray Constructor
Args: nSize = number of data entries
References GetBytesPerMatrix(), icSparseMatrixFloat32, m_bNonZeroPadding, m_nChannelsPerMatrix, m_nMatrixType, m_nSize, and m_RawData.
CIccTagSparseMatrixArray::CIccTagSparseMatrixArray | ( | const CIccTagSparseMatrixArray & | ITSMA | ) |
Name: CIccTagSparseMatrixArray::CIccTagSparseMatrixArray
Purpose: Copy Constructor
Args: ITFN = The CIccTagFixedNum object to be copied
References GetBytesPerMatrix(), m_bNonZeroPadding, m_nChannelsPerMatrix, m_nMatrixType, m_nSize, and m_RawData.
Referenced by NewCopy().
|
virtual |
|
staticinherited |
Name: CIccTag::Create
Purpose: This is a static tag creator based upon tag signature type
Args: sig = tag type signature
Return: Pointer to Allocated tag
References CIccTagCreator::CreateTag().
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccTagStruct::LoadElem(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeTintArray::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), and CIccProfileDescText::SetType().
|
virtual |
Name: CIccTagSparseMatrixArray::Describe
Purpose: Dump data associated with the tag to a string
Args: sDescription - string to concatenate tag dump to
Reimplemented from CIccTag.
References CIccSparseMatrix::CIccSparseMatrix(), IIccSparseMatrixEntry::get(), CIccSparseMatrix::GetColumnsForRow(), CIccSparseMatrix::GetData(), CIccSparseMatrix::GetRowStart(), m_nChannelsPerMatrix, m_nMatrixType, m_nSize, m_RawData, and CIccSparseMatrix::Rows().
|
inlinevirtualinherited |
Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
|
inline |
References m_nChannelsPerMatrix.
Referenced by CIccTagSparseMatrixArray(), CIccTagSparseMatrixArray(), GetSparseMatrix(), GetValues(), Interpolate(), operator=(), CIccTagXmlSparseMatrixArray::ParseXml(), Read(), Reset(), and CIccTagXmlSparseMatrixArray::ToXml().
|
inline |
References m_nChannelsPerMatrix.
Referenced by CIccArrayNamedColor::Validate().
|
inlinevirtual |
Reimplemented from CIccTag.
Reimplemented in CIccTagXmlSparseMatrixArray.
|
inlinevirtualinherited |
Reimplemented in CIccTagXmlUnknown, CIccTagXmlText, CIccTagXmlUtf8Text, CIccTagXmlZipUtf8Text, CIccTagXmlZipXml, CIccTagXmlUtf16Text, CIccTagXmlTextDescription, CIccTagXmlSignature, CIccTagXmlNamedColor2, CIccTagXmlXYZ, CIccTagXmlChromaticity, CIccTagXmlCicp, CIccTagXmlSparseMatrixArray, CIccTagXmlFixedNum< T, Tsig >, CIccTagXmlNum< T, A, Tsig >, CIccTagXmlFloatNum< T, A, Tsig >, CIccTagXmlMeasurement, CIccTagXmlMultiLocalizedUnicode, CIccTagXmlTagData, CIccTagXmlDateTime, CIccTagXmlColorantOrder, CIccTagXmlColorantTable, CIccTagXmlViewingConditions, CIccTagXmlSpectralDataInfo, CIccTagXmlSpectralViewingConditions, CIccTagXmlProfileSeqDesc, CIccTagXmlResponseCurveSet16, CIccTagXmlCurve, CIccTagXmlParametricCurve, CIccTagXmlSegmentedCurve, CIccTagXmlLutAtoB, CIccTagXmlLutBtoA, CIccTagXmlLut8, CIccTagXmlLut16, CIccTagXmlMultiProcessElement, CIccTagXmlProfileSequenceId, CIccTagXmlDict, CIccTagXmlStruct, CIccTagXmlArray, CIccTagXmlGamutBoundaryDesc, CIccTagXmlEmbeddedHeightImage, CIccTagXmlEmbeddedNormalImage, and CIccTagXmlEmbeddedProfile.
Referenced by icCurvesFromXml(), icCurvesToXml(), icProfDescToXml(), icXmlParseProfDesc(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeXmlTintArray::ToXml(), CIccTagXmlStruct::ToXml(), CIccTagXmlArray::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
|
inline |
References m_nMatrixType.
|
inline |
Returns the number of matrices in the array.
References m_nSize.
Referenced by GetNumValues().
|
inlinevirtual |
Implements CIccTagNumArray.
References GetNumMatrices().
bool CIccTagSparseMatrixArray::GetSparseMatrix | ( | CIccSparseMatrix & | mtx, |
int | nIndex, | ||
bool | bInitFromData = true |
||
) |
Name: CIccTagSparseMatrixArray::GetValues
Purpose: Gets values from the num array tag as floating point numbers
Args: nSize - number of data entries, bZeroNew - flag to zero newly formed values
References GetBytesPerMatrix(), m_nSize, m_RawData, and CIccSparseMatrix::Reset().
|
inlinevirtualinherited |
Reimplemented in CIccTagArray.
References icSigUndefinedArray.
Referenced by icGetTagArrayHandlerOfType(), and CIccProfileXml::ParseTag().
|
inlinevirtualinherited |
Reimplemented in CIccTagStruct.
References icSigUndefinedStruct.
Referenced by icGetTagStructHandlerOfType(), CIccArrayColorantInfo::Validate(), and CIccArrayNamedColor::Validate().
|
inlinevirtual |
Function: GetType()
Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.
Reimplemented from CIccTag.
References icSigSparseMatrixArrayType.
Referenced by Write().
|
virtual |
Implements CIccTagNumArray.
References GetBytesPerMatrix(), m_nSize, and m_RawData.
|
virtual |
Name: CIccTagSparseMatrixArray::Interpolate
Purpose: Gets values from the num array tag as floating point numbers
Args: nSize - number of data entries, bZeroNew - flag to zero newly formed values
Implements CIccTagNumArray.
References CIccSparseMatrix::CIccSparseMatrix(), CIccSparseMatrix::Cols(), GetBytesPerMatrix(), CIccSparseMatrix::Interp(), m_nSize, m_RawData, and CIccSparseMatrix::Rows().
|
inlinevirtual |
|
inlinevirtual |
Implements CIccTagNumArray.
|
inlinevirtualinherited |
Reimplemented in CIccMBB.
Referenced by CIccProfileXml::ParseTag().
|
inlinevirtual |
Reimplemented from CIccTag.
|
inlinevirtualinherited |
Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes. By Default inherited classes are supported. Unknown tag types are not supported.
Returns true if tag type is supported.
Reimplemented in CIccTagUnknown, CIccTagEmbeddedProfile, and CIccTagMultiProcessElement.
|
inlinevirtual |
References CIccTagSparseMatrixArray().
|
inlinevirtualinherited |
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
Parameter(s): none
Returns a new CIccTag object that is a copy of this object.
Reimplemented in CIccTagUnknown, CIccTagText, CIccTagUtf8Text, CIccTagZipUtf8Text, CIccTagZipXml, CIccTagUtf16Text, CIccTagTextDescription, CIccTagSignature, CIccTagNamedColor2, CIccTagXYZ, CIccTagChromaticity, CIccTagCicp, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagData, CIccTagDateTime, CIccTagColorantOrder, CIccTagColorantTable, CIccTagViewingConditions, CIccTagProfileSeqDesc, CIccTagResponseCurveSet16, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagStruct, CIccTagArray, CIccTagDict, CIccTagEmbeddedProfile, CIccCurve, CIccTagCurve, CIccTagParametricCurve, CIccTagSegmentedCurve, CIccMBB, CIccTagLutAtoB, CIccTagLutBtoA, CIccTagLut8, CIccTagLut16, CIccTagGamutBoundaryDesc, CIccTagMultiProcessElement, CIccTagProfileSequenceId, CIccTagXmlText, CIccTagXmlUtf8Text, CIccTagXmlZipUtf8Text, CIccTagXmlZipXml, CIccTagXmlUtf16Text, CIccTagXmlTextDescription, and CIccTagXmlMultiLocalizedUnicode.
Referenced by CIccMpeTintArray::CIccMpeTintArray(), CIccProfileDescText::CIccProfileDescText(), CIccTagArray::CIccTagArray(), CIccTagStruct::CIccTagStruct(), CDevLinkWriter::begin(), icConvertEncodingProfile(), CIccMpeTintArray::operator=(), CIccProfileDescText::operator=(), CIccTagArray::operator=(), and CIccTagStruct::operator=().
CIccTagSparseMatrixArray & CIccTagSparseMatrixArray::operator= | ( | const CIccTagSparseMatrixArray & | ITSMA | ) |
Name: CIccTagSparseMatrixArray::operator=
Purpose: Copy Operator
Args: ITFN = The CIccTagSparseMatrixArray object to be copied
References GetBytesPerMatrix(), m_bNonZeroPadding, m_nChannelsPerMatrix, m_nSize, and m_RawData.
|
virtual |
Name: CIccTagSparseMatrixArray::Read
Purpose: Read in the tag contents into a data block
Args: size - # of bytes in tag, pIO - IO object to read tag from
Return: true = successful, false = failure
Reimplemented from CIccTag.
References GetBytesPerMatrix(), CIccSparseMatrix::GetColumnsForRow(), CIccSparseMatrix::GetData(), CIccSparseMatrix::GetNumEntries(), IIccSparseMatrixEntry::getPtr(), icSparseMatrixFloat16, icSparseMatrixFloat32, icSparseMatrixUInt16, icSparseMatrixUInt8, m_bNonZeroPadding, m_nMatrixType, CIccTag::m_nReserved, m_nSize, m_RawData, CIccSparseMatrix::MaxEntries(), CIccIO::Read16(), CIccIO::Read32(), CIccIO::Read8(), CIccIO::ReadFloat16Float(), CIccIO::ReadFloat32Float(), CIccIO::ReadUInt16Float(), CIccIO::ReadUInt8Float(), Reset(), CIccSparseMatrix::Reset(), and CIccSparseMatrix::Rows().
|
inlinevirtualinherited |
Function: Read(size, pIO) - Read tag from file. Each derived tag will implement it's own Read() function.
Parameter(s): size - number of bytes in tag including the type signature. pIO - IO object used to read in tag. The IO object should already be initialized to point to the begining of the tag.
Returns true if Read is successful.
Reimplemented in CIccTagEmbeddedProfile.
References CIccTag::Read().
|
inlinevirtualinherited |
Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
Reimplemented in CIccTagEmbeddedProfile.
bool CIccTagSparseMatrixArray::Reset | ( | icUInt32Number | nNumMatrices, |
icUInt16Number | nChannelsPerMatrix | ||
) |
Name: CIccTagSparseMatrixArray::Reset
Purpose: Sets the size of the data array erasing all previous values
Args: nNumMatrices - number of matrices numChannelsPerMatrix - Equivalent number of output channels that determines the fixed block size for each matrix
References GetBytesPerMatrix(), icRealloc(), m_nChannelsPerMatrix, m_nSize, and m_RawData.
Referenced by CIccTagXmlSparseMatrixArray::ParseXml(), and Read().
|
inline |
References m_nMatrixType.
|
virtual |
Name: CIccTagSparseMatrixArray::Validate
Purpose: Validates tag data
Args: sigPath - signature path of tag in profile to validate sReport - string to put validation report results profile - pointer to profile that contains the tag
Reimplemented from CIccTag.
References CIccSparseMatrix::CIccSparseMatrix(), CIccSparseMatrix::Cols(), CIccSparseMatrix::GetNumEntries(), CIccInfo::GetSigPathName(), icGetFirstSigPathSig(), icGetSecondSigPathSig(), icGetSpaceSamples(), icMaxStatus(), icMsgValidateCriticalError, icMsgValidateNonCompliant, icMsgValidateWarning, icSigSparseMatrixReflectanceData, icSigSpectralWhitePointTag, icSparseMatrixFloat16, icSparseMatrixFloat32, icSparseMatrixUInt16, icSparseMatrixUInt8, icValidateCriticalError, icValidateNonCompliant, icValidateOK, icValidateWarning, CIccSparseMatrix::Init(), CIccSparseMatrix::IsValid(), m_bNonZeroPadding, m_nChannelsPerMatrix, m_nMatrixType, m_nSize, m_RawData, CIccSparseMatrix::MaxEntries(), CIccSparseMatrix::Reset(), CIccSparseMatrix::Rows(), icHeader::spectralPCS, and CIccSparseMatrix::Union().
|
virtual |
Name: CIccTagSparseMatrixArray::ValuePos
Purpose: Gets position of a value int the num array tag
Args: DstPos - position of val in array val - value to look for in array. bNoZero - flag indicating whether first entry is zero
Implements CIccTagNumArray.
|
virtual |
Name: CIccTagSparseMatrixArray::Write
Purpose: Write the tag to a file
Args: pIO - The IO object to write tag to.
Return: true = succesful, false = failure
Reimplemented from CIccTag.
References CIccIO::Align32(), CIccSparseMatrix::GetColumnsForRow(), CIccSparseMatrix::GetData(), CIccSparseMatrix::GetNumEntries(), IIccSparseMatrixEntry::getPtr(), GetType(), icSparseMatrixFloat16, icSparseMatrixFloat32, icSparseMatrixUInt16, icSparseMatrixUInt8, m_nChannelsPerMatrix, m_nMatrixType, CIccTag::m_nReserved, m_nSize, m_RawData, CIccSparseMatrix::Reset(), CIccSparseMatrix::Rows(), CIccIO::Write16(), CIccIO::Write32(), CIccIO::WriteFloat16Float(), CIccIO::WriteFloat32Float(), CIccIO::WriteUInt16Float(), and CIccIO::WriteUInt8Float().
|
protected |
Referenced by CIccTagSparseMatrixArray(), CIccTagSparseMatrixArray(), operator=(), Read(), and Validate().
|
protected |
|
protected |
|
inherited |
Referenced by CIccTag::CIccTag(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::operator=(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagText::Read(), CIccTagUtf8Text::Read(), CIccTagZipUtf8Text::Read(), CIccTagUtf16Text::Read(), CIccTagTextDescription::Read(), CIccTagSignature::Read(), CIccTagNamedColor2::Read(), CIccTagXYZ::Read(), CIccTagChromaticity::Read(), CIccTagCicp::Read(), Read(), CIccTagFixedNum< T, Tsig >::Read(), CIccTagNum< T, Tsig >::Read(), CIccTagFloatNum< T, Tsig >::Read(), CIccTagMeasurement::Read(), CIccTagMultiLocalizedUnicode::Read(), CIccTagData::Read(), CIccTagDateTime::Read(), CIccTagColorantOrder::Read(), CIccTagColorantTable::Read(), CIccTagViewingConditions::Read(), CIccTagProfileSeqDesc::Read(), CIccTagResponseCurveSet16::Read(), CIccTagSpectralDataInfo::Read(), CIccTagSpectralViewingConditions::Read(), CIccTagEmbeddedHeightImage::Read(), CIccTagEmbeddedNormalImage::Read(), CIccTagStruct::Read(), CIccTagArray::Read(), CIccTagDict::Read(), CIccTagCurve::Read(), CIccTagParametricCurve::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagGamutBoundaryDesc::Read(), CIccTagMultiProcessElement::Read(), CIccTagProfileSequenceId::Read(), CIccTagEmbeddedProfile::Read(), CIccTag::Validate(), CIccTagText::Write(), CIccTagUtf8Text::Write(), CIccTagZipUtf8Text::Write(), CIccTagUtf16Text::Write(), CIccTagTextDescription::Write(), CIccTagSignature::Write(), CIccTagNamedColor2::Write(), CIccTagXYZ::Write(), CIccTagChromaticity::Write(), CIccTagCicp::Write(), Write(), CIccTagFixedNum< T, Tsig >::Write(), CIccTagNum< T, Tsig >::Write(), CIccTagFloatNum< T, Tsig >::Write(), CIccTagMeasurement::Write(), CIccTagMultiLocalizedUnicode::Write(), CIccTagData::Write(), CIccTagDateTime::Write(), CIccTagColorantOrder::Write(), CIccTagColorantTable::Write(), CIccTagViewingConditions::Write(), CIccTagProfileSeqDesc::Write(), CIccTagResponseCurveSet16::Write(), CIccTagSpectralDataInfo::Write(), CIccTagSpectralViewingConditions::Write(), CIccTagEmbeddedHeightImage::Write(), CIccTagEmbeddedNormalImage::Write(), CIccTagStruct::Write(), CIccTagArray::Write(), CIccTagDict::Write(), CIccTagEmbeddedProfile::Write(), CIccTagCurve::Write(), CIccTagParametricCurve::Write(), CIccTagLutAtoB::Write(), CIccTagLut8::Write(), CIccTagLut16::Write(), CIccTagGamutBoundaryDesc::Write(), CIccTagMultiProcessElement::Write(), and CIccTagProfileSequenceId::Write().
|
protected |
|
protected |