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

Class: CIccTagSegmentedCurve. More...

#include <IccTagLut.h>

+ Inheritance diagram for CIccTagSegmentedCurve:
+ Collaboration diagram for CIccTagSegmentedCurve:

Public Member Functions

virtual icFloatNumber Apply (icFloatNumber v) const
 Name: CIccTagSegmentedCurve::Apply.
 
virtual void Begin ()
 Name: CIccTagSegmentedCurve::Begin.
 
 CIccTagSegmentedCurve ()
 Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.
 
 CIccTagSegmentedCurve (const CIccTagSegmentedCurve &ITCurve)
 Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagSegmentedCurve::Describe.
 
virtual void DumpLut (std::string &sDescription, const icChar *szName, icColorSpaceSignature csSig, int nIndex, int nVerboseness)
 Name: CIccTagSegmentedCurve::DumpLut.
 
virtual const icCharGetClassName () const
 
CIccSegmentedCurveGetCurve ()
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual bool IsIdentity ()
 Name: CIccTagSegmentedCurve::IsIdentity.
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagSegmentedCurveoperator= (const CIccTagSegmentedCurve &CurveTag)
 Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagSegmentedCurve::Read.
 
void SetCurve (CIccSegmentedCurve *pCurve)
 Name: CIccTagSegmentedCurve::SetCurve.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Name: CIccTagSegmentedCurve::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagSegmentedCurve::Write.
 
virtual ~CIccTagSegmentedCurve ()
 Name: CIccTagSegmentedCurve::~CIccTagSegmentedCurve.
 
- Public Member Functions inherited from CIccCurve
 CIccCurve ()
 
icFloatNumber Find (icFloatNumber v)
 
virtual ~CIccCurve ()
 
- 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.
 

Protected Attributes

CIccSegmentedCurvem_pCurve
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 
- Protected Member Functions inherited from CIccCurve
icFloatNumber Find (icFloatNumber v, icFloatNumber p0, icFloatNumber v0, icFloatNumber p1, icFloatNumber v1)
 Name: CIccCurve::Find.
 

Detailed Description

Class: CIccTagSegmentedCurve.

Purpose: The Segmented curveType tag

Definition at line 220 of file IccTagLut.h.

Constructor & Destructor Documentation

◆ CIccTagSegmentedCurve() [1/2]

CIccTagSegmentedCurve::CIccTagSegmentedCurve ( )

Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.

Purpose: Constructor

Definition at line 1181 of file IccTagLut.cpp.

1182{
1183 m_pCurve = NULL;
1184}
CIccSegmentedCurve * m_pCurve
Definition IccTagLut.h:248

◆ CIccTagSegmentedCurve() [2/2]

CIccTagSegmentedCurve::CIccTagSegmentedCurve ( const CIccTagSegmentedCurve & ITSCurve)

Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.

Purpose: Constructor

Definition at line 1194 of file IccTagLut.cpp.

1195{
1196 if (ITSCurve.m_pCurve)
1198 else
1199 m_pCurve = NULL;
1200}
Class: CIccSegmentedCurve.
virtual CIccCurveSetCurve * NewCopy() const

References m_pCurve, and CIccSegmentedCurve::NewCopy().

+ Here is the call graph for this function:

◆ ~CIccTagSegmentedCurve()

CIccTagSegmentedCurve::~CIccTagSegmentedCurve ( )
virtual

Name: CIccTagSegmentedCurve::~CIccTagSegmentedCurve.

Purpose: Destructor

Definition at line 1231 of file IccTagLut.cpp.

1232{
1233 if (m_pCurve)
1234 delete m_pCurve;
1235}

Member Function Documentation

◆ Apply()

icFloatNumber CIccTagSegmentedCurve::Apply ( icFloatNumber v) const
virtual

Name: CIccTagSegmentedCurve::Apply.

Purpose: convert input to output values using segmented curve

Reimplemented from CIccCurve.

Definition at line 1348 of file IccTagLut.cpp.

1349{
1350 if (m_pCurve)
1351 return m_pCurve->Apply(v);
1352
1353 return v;
1354}
virtual icFloatNumber Apply(icFloatNumber v) const
Name: CIccSegmentedCurve::Apply.

◆ Begin()

void CIccTagSegmentedCurve::Begin ( )
virtual

Name: CIccTagSegmentedCurve::Begin.

Purpose: Get ready to call apply

Reimplemented from CIccCurve.

Definition at line 1334 of file IccTagLut.cpp.

1335{
1336 if (m_pCurve)
1338}
@ icElemInterpLinear
Definition IccTagMPE.h:94
virtual bool Begin(icElemInterp nInterp, CIccTagMultiProcessElement *pMPE)
Name: CIccSegmentedCurve::Begin.

References CIccSegmentedCurve::Begin(), and icElemInterpLinear.

+ Here is the call graph for this function:

◆ Describe()

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

Name: CIccTagSegmentedCurve::Describe.

Purpose: gets information about the segmented curve

Reimplemented from CIccTag.

Definition at line 1245 of file IccTagLut.cpp.

1246{
1247 if (m_pCurve) {
1248 m_pCurve->Describe(sDescription, nVerboseness);
1249 }
1250 else {
1251 sDescription += "TagSegmentedCurve is undefined\n";
1252 }
1253}
virtual void Describe(std::string &sDescription, int nVerboseness)
Name: CIccSegmentedCurve::Describe.

References CIccCurveSetCurve::Describe().

+ Here is the call graph for this function:

◆ DumpLut()

void CIccTagSegmentedCurve::DumpLut ( std::string & sDescription,
const icChar * szName,
icColorSpaceSignature csSig,
int nIndex,
int nVerboseness )
virtual

Name: CIccTagSegmentedCurve::DumpLut.

Purpose: gets information about segmented curve

Reimplemented from CIccCurve.

Definition at line 1263 of file IccTagLut.cpp.

1265{
1266 icChar buf[128];
1267
1268 sprintf(buf, "BEGIN_SEGMENTED_CURVE %s\n", szName);
1269 sDescription += buf;
1270 Describe(sDescription, nVerboseness);
1271}
char icChar
Definition IccDefs.h:109
const icChar * szName
virtual void Describe(std::string &sDescription, int nVerboseness)
Name: CIccTagSegmentedCurve::Describe.

References szName.

◆ GetClassName()

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

Reimplemented from CIccTag.

Reimplemented in CIccTagXmlSegmentedCurve.

Definition at line 230 of file IccTagLut.h.

230{ return "CIccTagSegmentedCurve"; }

◆ GetCurve()

CIccSegmentedCurve * CIccTagSegmentedCurve::GetCurve ( )
inline

Definition at line 239 of file IccTagLut.h.

239{ return m_pCurve; }

Referenced by CIccDefaultEncProfileConverter::ConvertFromParams().

+ Here is the caller graph for this function:

◆ GetType()

virtual icTagTypeSignature CIccTagSegmentedCurve::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 229 of file IccTagLut.h.

229{ return icSigSegmentedCurveType; }
@ icSigSegmentedCurveType

References icSigSegmentedCurveType.

◆ IsIdentity()

bool CIccTagSegmentedCurve::IsIdentity ( )
virtual

Name: CIccTagSegmentedCurve::IsIdentity.

Purpose: Constructor

Reimplemented from CIccCurve.

Definition at line 1384 of file IccTagLut.cpp.

1385{
1386 if (!m_pCurve)
1387 return true;
1388
1389 return false;
1390}

◆ NewCopy()

virtual CIccTag * CIccTagSegmentedCurve::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 CIccCurve.

Definition at line 226 of file IccTagLut.h.

226{ return new CIccTagSegmentedCurve(*this);}
CIccTagSegmentedCurve()
Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.

◆ operator=()

CIccTagSegmentedCurve & CIccTagSegmentedCurve::operator= ( const CIccTagSegmentedCurve & CurveTag)

Name: CIccTagSegmentedCurve::CIccTagSegmentedCurve.

Purpose: copy operator

Definition at line 1210 of file IccTagLut.cpp.

1211{
1212 if (m_pCurve)
1213 delete m_pCurve;
1214
1215 if (CurveTag.m_pCurve)
1217 else
1218 m_pCurve = NULL;
1219
1220 return *this;
1221}

References m_pCurve, and CIccSegmentedCurve::NewCopy().

+ Here is the call graph for this function:

◆ Read()

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

Name: CIccTagSegmentedCurve::Read.

Purpose: read segmented curve from file

Reimplemented from CIccTag.

Definition at line 1281 of file IccTagLut.cpp.

1282{
1283 CIccSegmentedCurve *pCurve = new CIccSegmentedCurve();
1284
1285 if (pCurve->Read(size, pIO)) {
1286 SetCurve(pCurve);
1287
1288 return true;
1289 }
1290
1291 return false;
1292}
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Name: CIccSegmentedCurve::Read.
void SetCurve(CIccSegmentedCurve *pCurve)
Name: CIccTagSegmentedCurve::SetCurve.

References CIccSegmentedCurve::Read().

+ Here is the call graph for this function:

◆ SetCurve()

void CIccTagSegmentedCurve::SetCurve ( CIccSegmentedCurve * pCurve)

Name: CIccTagSegmentedCurve::SetCurve.

Purpose: set the current curve object

Definition at line 1318 of file IccTagLut.cpp.

1319{
1320 if (m_pCurve)
1321 delete m_pCurve;
1322
1323 m_pCurve = pCurve;
1324}

◆ Validate()

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

Name: CIccTagSegmentedCurve::Validate.

Purpose: Constructor

Reimplemented from CIccTag.

Definition at line 1364 of file IccTagLut.cpp.

1365{
1366 if (!m_pCurve) {
1367 sReport += "Invalid Segmented Curve Data!\n";
1368
1370 }
1371
1372 return m_pCurve->Validate(sigPath, sReport, NULL);
1373}
@ icValidateCriticalError
Definition IccDefs.h:122
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const
Name: CIccSegmentedCurve::Validate.

References icValidateCriticalError.

◆ Write()

bool CIccTagSegmentedCurve::Write ( CIccIO * pIO)
virtual

Name: CIccTagSegmentedCurve::Write.

Purpose: write segmented curve to file

Reimplemented from CIccTag.

Definition at line 1302 of file IccTagLut.cpp.

1303{
1304 if (!m_pCurve)
1305 return false;
1306
1307 return m_pCurve->Write(pIO);
1308}
virtual bool Write(CIccIO *pIO)
Name: CIccSegmentedCurve::Write.

Member Data Documentation

◆ m_pCurve

CIccSegmentedCurve* CIccTagSegmentedCurve::m_pCurve
protected

Definition at line 248 of file IccTagLut.h.

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


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