Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccTagEmbeddedHeightImage Class Reference

Class: CIccTagEmbeddedHeightImage. More...

#include <IccTagBasic.h>

+ Inheritance diagram for CIccTagEmbeddedHeightImage:
+ Collaboration diagram for CIccTagEmbeddedHeightImage:

Public Member Functions

 CIccTagEmbeddedHeightImage (const CIccTagEmbeddedHeightImage &IEHI)
 Name: CIccTagEmbeddedHeightImage::CIccTagEmbeddedHeightImage.
 
 CIccTagEmbeddedHeightImage (int nSize=1)
 Name: CIccEmbeddedHeightImage::CIccEmbeddedHeightImage.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagEmbeddedHeightImage::Describe.
 
virtual const icCharGetClassName () const
 
icUInt8NumberGetData (icUInt32Number index=0)
 
icUInt32Number GetSize () const
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagEmbeddedHeightImageoperator= (const CIccTagEmbeddedHeightImage &HeightTag)
 Name: CIccTagEmbeddedHeightImage::operator=.
 
icUInt8Numberoperator[] (icUInt32Number index)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagEmbeddedHeightImage::Read.
 
bool SetSize (icUInt32Number nSize, bool bZeroNew=true)
 Name: CIccTagEmbeddedHeightImage::SetSize.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Name: CIccTagEmbeddedHeightImage::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagEmbeddedHeightImage::Write.
 
virtual ~CIccTagEmbeddedHeightImage ()
 Name: CIccTagEmbeddedHeightImage::~CIccTagEmbeddedHeightImage.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual IIccExtensionTagGetExtension ()
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
virtual bool IsNumArrayType () const
 
virtual bool IsSupported ()
 Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 Function: Read(size, pIO) - Read tag from file.
 
virtual bool ReadAll ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual ~CIccTag ()
 Name: CIccTag::CIccTag.
 

Public Attributes

icFloatNumber m_fMetersMaxPixelValue
 
icFloatNumber m_fMetersMinPixelValue
 
icImageEncodingType m_nEncodingFormat
 
icUInt32Number m_nSeamlesIndicator
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 

Protected Attributes

icUInt32Number m_nSize
 
icUInt8Numberm_pData
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 

Detailed Description

Class: CIccTagEmbeddedHeightImage.

Purpose: The Embedded Height map tag

Definition at line 1751 of file IccTagBasic.h.

Constructor & Destructor Documentation

◆ CIccTagEmbeddedHeightImage() [1/2]

CIccTagEmbeddedHeightImage::CIccTagEmbeddedHeightImage ( int nSize = 1)

Name: CIccEmbeddedHeightImage::CIccEmbeddedHeightImage.

Purpose: Constructor

Args: nSize =size of embedded image

Definition at line 11639 of file IccTagBasic.cpp.

11640{
11641 m_nSize = nSize;
11642 if (m_nSize <1)
11643 m_nSize = 1;
11644 m_pData = (icUInt8Number*)calloc(nSize, sizeof(icUInt8Number));
11649}
icUInt32Number m_nSeamlesIndicator
icFloatNumber m_fMetersMaxPixelValue
icImageEncodingType m_nEncodingFormat
icFloatNumber m_fMetersMinPixelValue
unsigned char icUInt8Number
Number definitions.
@ icPngImageType

References icPngImageType.

◆ CIccTagEmbeddedHeightImage() [2/2]

CIccTagEmbeddedHeightImage::CIccTagEmbeddedHeightImage ( const CIccTagEmbeddedHeightImage & IEHI)

Name: CIccTagEmbeddedHeightImage::CIccTagEmbeddedHeightImage.

Purpose: Copy Constructor

Args: ITD = The CIccEmbeddedHeightImage object to be copied

Definition at line 11662 of file IccTagBasic.cpp.

11663{
11668 m_nSize = IEHI.m_nSize;
11669
11670 m_pData = (icUInt8Number*)calloc(m_nSize, sizeof(icUInt8Number));
11671 memcpy(m_pData, IEHI.m_pData, sizeof(icUInt8Number)*m_nSize);
11672}

References m_fMetersMaxPixelValue, m_fMetersMinPixelValue, m_nEncodingFormat, m_nSeamlesIndicator, m_nSize, and m_pData.

◆ ~CIccTagEmbeddedHeightImage()

CIccTagEmbeddedHeightImage::~CIccTagEmbeddedHeightImage ( )
virtual

Name: CIccTagEmbeddedHeightImage::~CIccTagEmbeddedHeightImage.

Purpose: Destructor

Definition at line 11713 of file IccTagBasic.cpp.

11714{
11715 if (m_pData)
11716 free(m_pData);
11717}

Member Function Documentation

◆ Describe()

void CIccTagEmbeddedHeightImage::Describe ( std::string & sDescription,
int nVerboseness )
virtual

Name: CIccTagEmbeddedHeightImage::Describe.

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

Definition at line 11836 of file IccTagBasic.cpp.

11837{
11838 icChar buf[128];
11839
11840 sprintf(buf, "\nSeamlessIndicater: %d\n", m_nSeamlesIndicator);
11841 sDescription += buf;
11842
11843 switch (m_nEncodingFormat) {
11844 case icPngImageType:
11845 strcpy(buf, "EncodingFormat: PNG\n");
11846 break;
11847 case icTiffImageType:
11848 strcpy(buf, "EncodingFormat: TIFF\n");
11849 break;
11850 default:
11851 sprintf(buf, "EncodingFormat: %d", m_nEncodingFormat);
11852 break;
11853 }
11854 sDescription += buf;
11855
11856 sprintf(buf, "Height minimum pixel: %.4fmeters\n", m_fMetersMinPixelValue);
11857 sprintf(buf, "Height maximum pixel: %.4fmeters\n", m_fMetersMaxPixelValue);
11858
11859 sDescription += "\nImage Data:\n";
11860
11861 for (int i = 0; i<(int)m_nSize; i++) {
11862 if (!(i & 0x1f))
11863 sDescription += "\n";
11864 sprintf(buf, "%02X", m_pData[i]);
11865 sDescription += buf;
11866 }
11867 sDescription += "\n";
11868}
char icChar
Definition IccDefs.h:109
@ icTiffImageType

References icPngImageType, and icTiffImageType.

◆ GetClassName()

virtual const icChar * CIccTagEmbeddedHeightImage::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTag.

Definition at line 1761 of file IccTagBasic.h.

1761{ return "CIccTagEmbeddedHeightImage"; }

◆ GetData()

icUInt8Number * CIccTagEmbeddedHeightImage::GetData ( icUInt32Number index = 0)
inline

Definition at line 1771 of file IccTagBasic.h.

1771{ return &m_pData[index]; }

◆ GetSize()

icUInt32Number CIccTagEmbeddedHeightImage::GetSize ( ) const
inline

Definition at line 1768 of file IccTagBasic.h.

1768{ return m_nSize; }

◆ GetType()

virtual icTagTypeSignature CIccTagEmbeddedHeightImage::GetType ( ) const
inlinevirtual

Function: GetType()

Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.

Reimplemented from CIccTag.

Definition at line 1760 of file IccTagBasic.h.

@ icSigEmbeddedHeightImageType

References icSigEmbeddedHeightImageType.

◆ NewCopy()

virtual CIccTag * CIccTagEmbeddedHeightImage::NewCopy ( ) const
inlinevirtual

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 from CIccTag.

Definition at line 1757 of file IccTagBasic.h.

1757{ return new CIccTagEmbeddedHeightImage(*this); }
CIccTagEmbeddedHeightImage(int nSize=1)
Name: CIccEmbeddedHeightImage::CIccEmbeddedHeightImage.

◆ operator=()

CIccTagEmbeddedHeightImage & CIccTagEmbeddedHeightImage::operator= ( const CIccTagEmbeddedHeightImage & HeightImageTag)

Name: CIccTagEmbeddedHeightImage::operator=.

Purpose: Copy Operator

Args: DataTag = The CIccTagData object to be copied

Definition at line 11685 of file IccTagBasic.cpp.

11686{
11687 if (&HeightImageTag == this)
11688 return *this;
11689
11691 m_nEncodingFormat = HeightImageTag.m_nEncodingFormat;
11694 m_nSize = HeightImageTag.m_nSize;
11695
11696 if (m_pData)
11697 free(m_pData);
11698 m_pData = (icUInt8Number*)calloc(m_nSize, sizeof(icUInt8Number));
11699 memcpy(m_pData, HeightImageTag.m_pData, sizeof(icUInt8Number)*m_nSize);
11700
11701 return *this;
11702}

References m_fMetersMaxPixelValue, m_fMetersMinPixelValue, m_nEncodingFormat, m_nSeamlesIndicator, m_nSize, and m_pData.

◆ operator[]()

icUInt8Number & CIccTagEmbeddedHeightImage::operator[] ( icUInt32Number index)
inline

Definition at line 1770 of file IccTagBasic.h.

1770{ return m_pData[index]; }

◆ Read()

bool CIccTagEmbeddedHeightImage::Read ( icUInt32Number size,
CIccIO * pIO )
virtual

Name: CIccTagEmbeddedHeightImage::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.

Definition at line 11734 of file IccTagBasic.cpp.

11735{
11737
11738 if (sizeof(icTagTypeSignature) +
11739 sizeof(icUInt32Number) +
11740 sizeof(icUInt32Number) +
11741 sizeof(icUInt32Number) +
11742 sizeof(icFloat32Number) +
11743 sizeof(icFloat32Number) +
11744 sizeof(icUInt8Number) > size)
11745 return false;
11746
11747 if (!pIO) {
11748 return false;
11749 }
11750
11751 if (!pIO->Read32(&sig))
11752 return false;
11753
11754 if (!pIO->Read32(&m_nReserved))
11755 return false;
11756
11757 if (!pIO->Read32(&m_nSeamlesIndicator))
11758 return false;
11759
11760 if (!pIO->Read32(&m_nEncodingFormat))
11761 return false;
11762
11764 return false;
11765
11767 return false;
11768
11769 icUInt32Number nNum = size - 6 * sizeof(icUInt32Number);
11770
11771 if (!SetSize(nNum))
11772 return false;
11773
11774 if (pIO->Read8(m_pData, nNum) != (icInt32Number)nNum)
11775 return false;
11776
11777 return true;
11778}
icArraySignature sig
icTagTypeSignature
unsigned int icUInt32Number
icInt32Number ReadFloat32Float(void *pBufFloat, icInt32Number nNum=1)
Definition IccIO.cpp:302
virtual icInt32Number Read8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:104
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
bool SetSize(icUInt32Number nSize, bool bZeroNew=true)
Name: CIccTagEmbeddedHeightImage::SetSize.
icUInt32Number m_nReserved
float icFloat32Number
long icInt32Number

References CIccIO::Read32(), CIccIO::Read8(), CIccIO::ReadFloat32Float(), and sig.

+ Here is the call graph for this function:

◆ SetSize()

bool CIccTagEmbeddedHeightImage::SetSize ( icUInt32Number nSize,
bool bZeroNew = true )

Name: CIccTagEmbeddedHeightImage::SetSize.

Purpose: Sets the size of the data array.

Args: nSize - number of data entries, bZeroNew - flag to zero newly formed values

Definition at line 11881 of file IccTagBasic.cpp.

11882{
11883 if (m_nSize == nSize)
11884 return true;
11885
11886 m_pData = (icUInt8Number*)icRealloc(m_pData, nSize * sizeof(icUInt8Number));
11887
11888 if (!m_pData) {
11889 m_nSize = 0;
11890 return false;
11891 }
11892
11893 if (bZeroNew && nSize > m_nSize) {
11894 memset(&m_pData[m_nSize], 0, (nSize - m_nSize) * sizeof(icUInt8Number));
11895 }
11896 m_nSize = nSize;
11897
11898 return true;
11899}
void * icRealloc(void *ptr, size_t size)
Name: icRealloc.
Definition IccUtil.cpp:111

References icRealloc().

+ Here is the call graph for this function:

◆ Validate()

icValidateStatus CIccTagEmbeddedHeightImage::Validate ( std::string sigPath,
std::string & sReport,
const CIccProfile * pProfile = NULL ) const
virtual

Name: CIccTagEmbeddedHeightImage::Validate.

Purpose: Check tag data validity.

Args: sig = signature of tag being validated, sReport = String to add report information to

Return: icValidateStatusOK if valid, or other error status.

Reimplemented from CIccTag.

Definition at line 11916 of file IccTagBasic.cpp.

11917{
11918 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
11919
11920 CIccInfo Info;
11921 std::string sSigPathName = Info.GetSigPathName(sigPath);
11922
11923 switch (m_nSeamlesIndicator) {
11924 case 0:
11925 case 1:
11926 break;
11927 default:
11928 sReport += icMsgValidateNonCompliant;
11929 sReport += sSigPathName;
11930 sReport += " - Invalid data flag Seamless Indicator.\n";
11932 }
11933
11934 switch (m_nEncodingFormat) {
11935 case icPngImageType:
11936 case icTiffImageType:
11937 break;
11938 default:
11939 sReport += icMsgValidateNonCompliant;
11940 sReport += sSigPathName;
11941 sReport += " - Invalid data flag Encoding Image Type.\n";
11943 }
11944
11945 return rv;
11946}
icValidateStatus
Definition IccDefs.h:118
@ icValidateNonCompliant
Definition IccDefs.h:121
icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Name: icMaxStatus.
Definition IccUtil.cpp:244
const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
Type: Class.
Definition IccUtil.h:303
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Function: Validate Each derived tag will implement it's own IsValid() function.

References CIccInfo::GetSigPathName(), icMaxStatus(), icMsgValidateNonCompliant, icPngImageType, icTiffImageType, icValidateNonCompliant, and CIccTag::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagEmbeddedHeightImage::Write ( CIccIO * pIO)
virtual

Name: CIccTagEmbeddedHeightImage::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.

Definition at line 11794 of file IccTagBasic.cpp.

11795{
11797
11798 if (!pIO)
11799 return false;
11800
11801 if (!pIO->Write32(&sig))
11802 return false;
11803
11804 if (!pIO->Write32(&m_nReserved))
11805 return false;
11806
11807 if (!pIO->Write32(&m_nSeamlesIndicator))
11808 return false;
11809
11810 if (!pIO->Write32(&m_nEncodingFormat))
11811 return false;
11812
11814 return false;
11815
11817 return false;
11818
11820 return false;
11821
11822 return true;
11823}
virtual icInt32Number Write8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:105
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
icInt32Number WriteFloat32Float(void *pBufFloat, icInt32Number nNum=1)
Definition IccIO.cpp:321
virtual icTagTypeSignature GetType() const
Function: GetType()

References sig, CIccIO::Write32(), CIccIO::Write8(), and CIccIO::WriteFloat32Float().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_fMetersMaxPixelValue

icFloatNumber CIccTagEmbeddedHeightImage::m_fMetersMaxPixelValue

Definition at line 1778 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().

◆ m_fMetersMinPixelValue

icFloatNumber CIccTagEmbeddedHeightImage::m_fMetersMinPixelValue

Definition at line 1777 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().

◆ m_nEncodingFormat

icImageEncodingType CIccTagEmbeddedHeightImage::m_nEncodingFormat

Definition at line 1776 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().

◆ m_nSeamlesIndicator

icUInt32Number CIccTagEmbeddedHeightImage::m_nSeamlesIndicator

Definition at line 1775 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().

◆ m_nSize

icUInt32Number CIccTagEmbeddedHeightImage::m_nSize
protected

Definition at line 1782 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().

◆ m_pData

icUInt8Number* CIccTagEmbeddedHeightImage::m_pData
protected

Definition at line 1781 of file IccTagBasic.h.

Referenced by CIccTagEmbeddedHeightImage(), and operator=().


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