IccMAX 2.1.27
Color Profile Tools
|
#include <IccMpeCalc.h>
Public Member Functions | |
CIccCalculatorFunc (CIccMpeCalculator *pCalc) | |
CIccCalculatorFunc (const CIccCalculatorFunc &ICF) | |
virtual | ~CIccCalculatorFunc () |
virtual bool | Apply (CIccApplyMpeCalculator *pApply) const |
virtual bool | Begin (const CIccMpeCalculator *pChannelMux, CIccTagMultiProcessElement *pMPE) |
int | CheckUnderflowOverflow (SIccCalcOp *op, icUInt32Number nOps, int nArgs, bool bCheckUnderflow, std::string &sReport) const |
virtual void | Describe (std::string &sDescription, int nVerboseness=0, int nBlanks=0) |
bool | DoesOverflowInput (icUInt16Number nInputChannels) const |
bool | DoesOverflowOutput (icUInt16Number nOutputChannels) const |
icFuncParseStatus | DoesStackUnderflowOverflow (std::string &sReport) const |
virtual const icChar * | GetClassName () const |
icUInt32Number | GetMaxTemp () const |
virtual icChannelFuncSignature | GetType () const |
bool | HasUnsupportedOperations (std::string &sReport, const CIccProfile *pProfile) const |
bool | HasValidOperations (std::string &sReport) const |
bool | NeedTempReset (icUInt8Number *tempUsage, icUInt32Number nMaxTemp) |
virtual CIccCalculatorFunc * | NewCopy () const |
CIccCalculatorFunc & | operator= (const CIccCalculatorFunc &ICF) |
virtual bool | Read (icUInt32Number size, CIccIO *pIO) |
icFuncParseStatus | SetFunction (CIccCalcOpList &opList, std::string &sReport) |
icFuncParseStatus | SetFunction (const char *szFuncDef, std::string &sReport) |
bool | SetOpDefs () |
virtual icValidateStatus | Validate (std::string sigPath, std::string &sReport, const CIccMpeCalculator *pChannelCalc=NULL, const CIccProfile *pProfile=NULL) const |
virtual bool | Write (CIccIO *pIO) |
Protected Member Functions | |
bool | ApplySequence (CIccApplyMpeCalculator *pApply, icUInt32Number nOps, SIccCalcOp *op) const |
void | DescribeSequence (std::string &sDescription, icUInt32Number nOps, SIccCalcOp *op, int nBlanks) |
bool | InitSelectOp (SIccCalcOp *ops, icUInt32Number nOps) |
bool | InitSelectOps () |
void | InsertBlanks (std::string &sDescription, int nBlanks) |
const char * | ParseFuncDef (const char *szFuncDef, CIccCalcOpList &m_list, std::string &sReport) |
bool | SequenceNeedTempReset (SIccCalcOp *op, icUInt32Number nOps, icUInt8Number *tempUsage, icUInt32Number nMaxTemp) |
Protected Attributes | |
icUInt32Number | m_nOps |
icUInt32Number | m_nReserved |
SIccCalcOp * | m_Op |
CIccMpeCalculator * | m_pCalc |
Class: CIccCalculatorFunc
Purpose: The Calculator function sequence
CIccCalculatorFunc::CIccCalculatorFunc | ( | CIccMpeCalculator * | pCalc | ) |
Name: CIccCalculatorFunc::CIccCalculatorFunc
Purpose:
Args:
Return:
References m_nOps, m_nReserved, m_Op, and m_pCalc.
Referenced by CIccMpeCalculator::Read(), and CIccMpeCalculator::SetCalcFunc().
CIccCalculatorFunc::CIccCalculatorFunc | ( | const CIccCalculatorFunc & | func | ) |
Name: CIccCalculatorFunc::CIccCalculatorFunc
Purpose:
Args:
Return:
References m_nOps, m_nReserved, m_Op, and m_pCalc.
Referenced by NewCopy().
|
virtual |
|
virtual |
Name: CIccCalculatorFunc::Apply
Purpose:
Args:
Return:
References ApplySequence(), CIccApplyMpeCalculator::GetOutput(), CIccApplyMpeCalculator::GetStack(), m_nOps, m_Op, m_pCalc, and CIccMultiProcessElement::NumOutputChannels().
Referenced by CIccMpeCalculator::Apply().
|
protected |
Name: CIccCalculatorFunc::ApplySequence
Purpose:
Args:
Return:
References IIccCalcDebugger::AfterOp(), ApplySequence(), IIccCalcDebugger::BeforeOp(), SIccCalcOp::def, IIccOpDef::Exec(), SIccCalcOp::extra, g_pDebugger, CIccApplyMpeCalculator::GetInput(), CIccApplyMpeCalculator::GetOutput(), CIccApplyMpeCalculator::GetScratch(), CIccApplyMpeCalculator::GetStack(), CIccApplyMpeCalculator::GetTemp(), icSigDefaultOp, icSigElseOp, icSigIfOp, icSigSelectOp, SIccOpState::idx, SIccOpState::nOps, SIccOpState::output, SIccOpState::pApply, SIccOpState::pixel, SIccOpState::pScratch, SIccOpState::pStack, SIccCalcOp::sig, and SIccOpState::temp.
Referenced by Apply(), and ApplySequence().
|
virtual |
Name: CIccCalculatorFunc::Begin
Purpose:
Args:
Return:
References DoesOverflowInput(), DoesOverflowOutput(), DoesStackUnderflowOverflow(), HasValidOperations(), icFuncParseNoError, InitSelectOps(), CIccMultiProcessElement::NumInputChannels(), CIccMultiProcessElement::NumOutputChannels(), and SetOpDefs().
Referenced by CIccMpeCalculator::Begin().
int CIccCalculatorFunc::CheckUnderflowOverflow | ( | SIccCalcOp * | op, |
icUInt32Number | nOps, | ||
int | nArgs, | ||
bool | bCheckUnderflow, | ||
std::string & | sReport | ||
) | const |
Name: CIccCalculatorFunc::CheckUnderflow
Purpose:
Args:
Return:
References SIccCalcOp::ArgsPushed(), SIccCalcOp::ArgsUsed(), CheckUnderflowOverflow(), SIccCalcOp::Describe(), icIntMax(), icIntMin(), icSigCaseOp, icSigDefaultOp, icSigElseOp, icSigIfOp, icSigSelectOp, m_pCalc, and SIccCalcOp::sig.
Referenced by CheckUnderflowOverflow(), and DoesStackUnderflowOverflow().
|
virtual |
Name: CIccCalculatorFunc::Describe
Purpose:
Args:
Return:
References DescribeSequence(), m_nOps, and m_Op.
Referenced by CIccMpeCalculator::Describe(), and CIccMpeXmlCalculator::ToXml().
|
protected |
References SIccCalcOp::Describe(), DescribeSequence(), icIntMin(), icSigCaseOp, icSigDefaultOp, icSigElseOp, icSigIfOp, icSigSelectOp, InsertBlanks(), and SIccCalcOp::sig.
Referenced by Describe(), and DescribeSequence().
bool CIccCalculatorFunc::DoesOverflowInput | ( | icUInt16Number | nInputChannels | ) | const |
Name: CIccChannelFunc::DoesOverflowInput
Purpose:
Args:
Return:
References icSigInputChanOp, m_nOps, m_Op, and SIccCalcOp::sig.
Referenced by Begin(), and Validate().
bool CIccCalculatorFunc::DoesOverflowOutput | ( | icUInt16Number | nOutputChannels | ) | const |
Name: CIccChannelFunc::DoesOverflowOutput
Purpose:
Args:
Return:
References icSigOutputChanOp, m_nOps, m_Op, and SIccCalcOp::sig.
Referenced by Begin(), and Validate().
icFuncParseStatus CIccCalculatorFunc::DoesStackUnderflowOverflow | ( | std::string & | sReport | ) | const |
Name: CIccCalculatorFunc::DoesStackUnderflowOverflow
Purpose:
Args:
Return:
References CheckUnderflowOverflow(), icFuncParseNoError, icFuncParseStackOverflow, icFuncParseStackUnderflow, m_nOps, and m_Op.
Referenced by Begin(), SetFunction(), and Validate().
|
inlinevirtual |
icUInt32Number CIccCalculatorFunc::GetMaxTemp | ( | ) | const |
Name: CIccCalculatorFunc::GetMaxTemp
Purpose:
Args:
Return:
References icSigTempGetChanOp, icSigTempPutChanOp, icSigTempSaveChanOp, m_nOps, m_Op, and SIccCalcOp::sig.
Referenced by CIccMpeCalculator::Begin(), and Validate().
|
inlinevirtual |
References icSigChannelFunction.
Referenced by Read(), and Write().
bool CIccCalculatorFunc::HasUnsupportedOperations | ( | std::string & | sReport, |
const CIccProfile * | pProfile | ||
) | const |
Name: CIccCalculatorFunc::HasUnsupportedOperations
Purpose:
Args:
Return:
References SIccCalcOp::Describe(), icSigNotEqualOp, icSigNotOp, m_nOps, m_Op, SIccCalcOp::sig, and icHeader::version.
Referenced by Validate().
bool CIccCalculatorFunc::HasValidOperations | ( | std::string & | sReport | ) | const |
Name: CIccCalculatorFunc::HasValidOperations
Purpose:
Args:
Return:
References SIccCalcOp::Describe(), icSigCaseOp, icSigDefaultOp, icSigElseOp, icSigIfOp, icSigSelectOp, SIccCalcOp::IsValidOp(), m_nOps, m_Op, m_pCalc, and SIccCalcOp::sig.
Referenced by Begin(), SetFunction(), and Validate().
|
protected |
Name: CIccCalculatorFunc::InitSelectOp
Purpose:
Args:
Return:
References SIccCalcOp::extra, icSigCaseOp, icSigDefaultOp, icSigSelectOp, and SIccCalcOp::sig.
Referenced by InitSelectOps().
|
protected |
Name: CIccCalculatorFunc::InitSelectOps
Purpose:
Args:
Return:
References icSigSelectOp, InitSelectOp(), m_nOps, m_Op, and SIccCalcOp::sig.
Referenced by Begin().
|
protected |
Referenced by DescribeSequence().
bool CIccCalculatorFunc::NeedTempReset | ( | icUInt8Number * | tempUsage, |
icUInt32Number | nMaxTemp | ||
) |
Name: CIccCalculatorFunc::NeedTempReset
Purpose:
Args:
Return:
References m_nOps, m_Op, and SequenceNeedTempReset().
Referenced by CIccMpeCalculator::Begin().
|
inlinevirtual |
References CIccCalculatorFunc().
Referenced by CIccMpeCalculator::CIccMpeCalculator(), and CIccMpeCalculator::operator=().
CIccCalculatorFunc & CIccCalculatorFunc::operator= | ( | const CIccCalculatorFunc & | func | ) |
Name: &CIccCalculatorFunc::operator=
Purpose:
Args:
Return:
References m_nOps, m_nReserved, m_Op, and m_pCalc.
|
protected |
Name: CIccCalculatorFunc::ParseFuncDef
Purpose:
Args:
Return:
References CIccFuncTokenizer::CIccFuncTokenizer(), AppendOpList(), SIccCalcOp::def, SIccCalcOp::Describe(), SIccCalcOp::extra, CIccFuncTokenizer::GetEnvSig(), CIccFuncTokenizer::GetIndex(), CIccFuncTokenizer::GetNext(), CIccFuncTokenizer::GetPos(), CIccFuncTokenizer::GetSig(), CIccFuncTokenizer::GetValue(), icSigAbsoluteValOp, icSigAddOp, icSigAndOp, icSigApplyCalcOp, icSigApplyCLutOp, icSigApplyCurvesOp, icSigApplyElemOp, icSigApplyFromJabOp, icSigApplyMatrixOp, icSigApplyTintOp, icSigApplyToJabOp, icSigArcCosineOp, icSigArcSineOp, icSigArcTan2Op, icSigArcTangentOp, icSigCartesianToPolarOp, icSigCaseOp, icSigCeilingOp, icSigCopyOp, icSigCosineOp, icSigCubeOp, icSigCubeRootOp, icSigDataOp, icSigDefaultOp, icSigDivideOp, icSigElseOp, icSigEnvVarOp, icSigEqualOp, icSigExpOp, icSigFlipOp, icSigFloorOp, icSigGammaOp, icSigGreaterThanEqualOp, icSigGreaterThanOp, icSigIfOp, icSigInputChanOp, icSigLessThanEqualOp, icSigLessThanOp, icSigLogrithmOp, icSigMaximumOp, icSigMinimumOp, icSigModulusOp, icSigMultiplyOp, icSigNaturalLogOp, icSigNearOp, icSigNegOp, icSigNotEqualOp, icSigNotOp, icSigOrOp, icSigOutputChanOp, icSigPolarToCartesianOp, icSigPopOp, icSigPositionDupOp, icSigPowOp, icSigProductOp, icSigRealNumberOp, icSigRotateLeftOp, icSigRotateRightOp, icSigRoundOp, icSigScalarAddOp, icSigScalarDivideOp, icSigScalarMultiplyOp, icSigScalarSubtractOp, icSigSelectOp, icSigSignOp, icSigSineOp, icSigSolveOp, icSigSquareOp, icSigSquareRootOp, icSigSubtractOp, icSigSumOp, icSigTangentOp, icSigTempGetChanOp, icSigTempPutChanOp, icSigTempSaveChanOp, icSigToLabOp, icSigToXYZOp, icSigTransposeOp, icSigTruncateOp, icSigVectorAndOp, icSigVectorMaximumOp, icSigVectorMinimumOp, icSigVectorOrOp, SIccCalcOp::IsValidOp(), ParseFuncDef(), CIccFuncTokenizer::SetPos(), and SIccCalcOp::sig.
Referenced by ParseFuncDef(), and SetFunction().
|
virtual |
Name: CIccCalculatorFunc::Read
Purpose:
Args:
Return:
References GetType(), m_nOps, m_nReserved, m_Op, CIccIO::Read32(), and SIccCalcOp::sig.
Referenced by CIccMpeCalculator::Read().
|
protected |
Name: CIccCalculatorFunc::SequenceNeedTempReset
Purpose:
Args:
Return:
References icIntMin(), icSigElseOp, icSigIfOp, icSigTempGetChanOp, icSigTempPutChanOp, icSigTempSaveChanOp, SequenceNeedTempReset(), and SIccCalcOp::sig.
Referenced by NeedTempReset(), and SequenceNeedTempReset().
icFuncParseStatus CIccCalculatorFunc::SetFunction | ( | CIccCalcOpList & | opList, |
std::string & | sReport | ||
) |
Name: CIccCalculatorFunc::SetFunction
Purpose:
Args:
Return:
References DoesStackUnderflowOverflow(), HasValidOperations(), icFuncParseEmptyFunction, icFuncParseInvalidOperation, m_nOps, and m_Op.
Referenced by SetFunction().
icFuncParseStatus CIccCalculatorFunc::SetFunction | ( | const char * | szFuncDef, |
std::string & | sReport | ||
) |
Name: CIccCalculatorFunc::SetFunction
Purpose:
Args:
Return:
References icFuncParseSyntaxError, ParseFuncDef(), and SetFunction().
Referenced by CIccMpeCalculator::SetCalcFunc().
bool CIccCalculatorFunc::SetOpDefs | ( | ) |
Name: CIccCalculatorFunc::SetOpDefs
Purpose:
Args:
Return:
References SIccCalcOp::def, CIccCalcOpMgr::getOpDef(), m_nOps, m_Op, and SIccCalcOp::sig.
Referenced by Begin().
|
virtual |
Name: CIccCalculatorFunc::Validate
Purpose:
Args:
Return:
References DoesOverflowInput(), DoesOverflowOutput(), DoesStackUnderflowOverflow(), GetMaxTemp(), CIccInfo::GetSigPathName(), HasUnsupportedOperations(), HasValidOperations(), icFuncParseNoError, icFuncParseStackUnderflow, icMsgValidateCriticalError, icMsgValidateWarning, icValidateCriticalError, icValidateOK, icValidateWarning, m_nReserved, CIccMultiProcessElement::NumInputChannels(), and CIccMultiProcessElement::NumOutputChannels().
Referenced by CIccMpeCalculator::Validate().
|
virtual |
Name: CIccCalculatorFunc::Write
Purpose:
Args:
Return:
References GetType(), m_nOps, m_nReserved, m_Op, SIccCalcOp::sig, and CIccIO::Write32().
Referenced by CIccMpeCalculator::Write().
|
protected |
Referenced by CIccCalculatorFunc(), CIccCalculatorFunc(), Apply(), Describe(), DoesOverflowInput(), DoesOverflowOutput(), DoesStackUnderflowOverflow(), GetMaxTemp(), HasUnsupportedOperations(), HasValidOperations(), InitSelectOps(), NeedTempReset(), operator=(), Read(), SetFunction(), SetOpDefs(), and Write().
|
protected |
Referenced by CIccCalculatorFunc(), CIccCalculatorFunc(), operator=(), Read(), Validate(), and Write().
|
protected |
Referenced by CIccCalculatorFunc(), CIccCalculatorFunc(), ~CIccCalculatorFunc(), Apply(), Describe(), DoesOverflowInput(), DoesOverflowOutput(), DoesStackUnderflowOverflow(), GetMaxTemp(), HasUnsupportedOperations(), HasValidOperations(), InitSelectOps(), NeedTempReset(), operator=(), Read(), SetFunction(), SetOpDefs(), and Write().
|
protected |
Referenced by CIccCalculatorFunc(), CIccCalculatorFunc(), Apply(), CheckUnderflowOverflow(), HasValidOperations(), and operator=().