Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImgFtorRuleBase Class Reference

Rule base for storage and retrieval of existing image types in instantiated image functors. More...

#include <HxImgFtorRuleBase.h>

List of all members.

Public Types

typedef HxIfRbPair QueryResultType
 The type of the result of a query. More...


Public Methods

void setResultType (HxString resultType, HxString ftorClass, HxString srcType, HxString opName)
 Insert ftorClass<srcType,opName>=resultType under [/imagefunctor/rulebase/resulttype]. More...

void setResultType (HxString resultType, HxString ftorClass, HxString src1Type, HxString src2Type, HxString opName)
 Insert ftorClass<src1Type,src2Type,opName>=resultType under [/imagefunctor/rulebase/resulttype]. More...

QueryResultType getResultType (HxImageSignature defaultResult, HxString ftorClass, HxString srcType, HxString opName)
 Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/resulttype]. More...

QueryResultType getResultType (HxImageSignature defaultResult, HxString ftorClass, HxString src1Type, HxString src2Type, HxString opName)
 Get value for ftorClass<src1Type,src2Type,opName> from [/imagefunctor/rulebase/resulttype]. More...

void setArgumentType (HxString argumentType, HxString ftorClass, HxString srcType, HxString opName)
 Insert ftorClass<srcType,opName>=argumentType under [/imagefunctor/rulebase/argumenttype]. More...

QueryResultType getArgumentType (HxImageSignature defaultArgument, HxString ftorClass, HxString srcType, HxString opName)
 Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/argumenttype]. More...

void setKernelType (HxString kernelType, HxString ftorClass, HxString srcType, HxString opName)
 Insert ftorClass<srcType,opName>=kernelType under [/imagefunctor/rulebase/kerneltype]. More...

QueryResultType getKernelType (HxImageSignature defaultKernel, HxString ftorClass, HxString srcType, HxString opName)
 Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/kerneltype]. More...

void setExtraType (HxString extraType, HxString ftorClass, HxString srcType, HxString opName)
 Insert ftorClass<srcType,opName>=extraType under [/imagefunctor/rulebase/extratype]. More...

QueryResultType getExtraType (HxImageSignature defaultExtra, HxString ftorClass, HxString srcType, HxString opName)
 Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/extratype]. More...

void setExtra2Type (HxString extra2Type, HxString ftorClass, HxString srcType, HxString opName)
 Insert ftorClass<srcType,opName>=extra2Type under [/imagefunctor/rulebase/extra2type]. More...

QueryResultType getExtra2Type (HxImageSignature defaultExtra2, HxString ftorClass, HxString srcType, HxString opName)
 Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/extra2type]. More...

void setIsModifying (HxString ftorClass, HxString opName, bool f=true)
 Insert ftorClass<opName>=f under [/imagefunctor/rulebase/isModifying]. More...

bool getIsModifying (HxString ftorClass, HxString opName)
 Get value for ftorClass<opName> from [/imagefunctor/rulebase/isModifying]. More...

 ~HxImgFtorRuleBase ()
 Destructor. More...


Static Public Methods

HxImgFtorRuleBase & instance ()
 Access to this singleton class. More...


Detailed Description

Rule base for storage and retrieval of existing image types in instantiated image functors.

Rules are stored in the registry under key ["/imagefunctor/rulebase"]. Current list:


Member Typedef Documentation

typedef HxIfRbPair HxImgFtorRuleBase::QueryResultType
 

The type of the result of a query.


Constructor & Destructor Documentation

HxImgFtorRuleBase::~HxImgFtorRuleBase  
 

Destructor.

00024 {
00025 }


Member Function Documentation

HxImgFtorRuleBase & HxImgFtorRuleBase::instance   [static]
 

Access to this singleton class.

00029 {
00030     static HxImgFtorRuleBase theRuleBase;
00031     return theRuleBase;
00032 }

void HxImgFtorRuleBase::setResultType HxString    resultType,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Insert ftorClass<srcType,opName>=resultType under [/imagefunctor/rulebase/resulttype].

00080 {
00081     HxStringList argList;
00082     argList << srcType << opName;
00083     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00084     setRule("resulttype", key, resultType);
00085 }

void HxImgFtorRuleBase::setResultType HxString    resultType,
HxString    ftorClass,
HxString    src1Type,
HxString    src2Type,
HxString    opName
 

Insert ftorClass<src1Type,src2Type,opName>=resultType under [/imagefunctor/rulebase/resulttype].

00091 {
00092     HxStringList argList;
00093     argList << src1Type << src2Type << opName;
00094     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00095     setRule("resulttype", key, resultType);
00096 }

HxIfRbPair HxImgFtorRuleBase::getResultType HxImageSignature    defaultResult,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/resulttype].

Return defaultResult if not found.

00102 {
00103     HxStringList argList;
00104     argList << srcType << opName;
00105     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00106 
00107     HxString result = getRule("resulttype", key);
00108     if (result != HxString(""))
00109         return HxImageSignature::NameToSignature(result);
00110     else
00111         return HxIfRbPair(defaultResult, false);
00112 }

HxIfRbPair HxImgFtorRuleBase::getResultType HxImageSignature    defaultResult,
HxString    ftorClass,
HxString    src1Type,
HxString    src2Type,
HxString    opName
 

Get value for ftorClass<src1Type,src2Type,opName> from [/imagefunctor/rulebase/resulttype].

Return defaultResult if not found.

00118 {
00119     HxStringList argList;
00120     argList << src1Type << src2Type << opName;
00121     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00122 
00123     HxString result = getRule("resulttype", key);
00124     if (result != HxString(""))
00125         return HxImageSignature::NameToSignature(result);
00126     else
00127         return HxIfRbPair(defaultResult, false);
00128 }

void HxImgFtorRuleBase::setArgumentType HxString    argumentType,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Insert ftorClass<srcType,opName>=argumentType under [/imagefunctor/rulebase/argumenttype].

00134 {
00135     HxStringList argList;
00136     argList << srcType << opName;
00137     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00138     setRule("argumenttype", key, argumentType);
00139 }

HxIfRbPair HxImgFtorRuleBase::getArgumentType HxImageSignature    defaultArgument,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/argumenttype].

Return defaultResult if not found.

00145 {
00146     HxStringList argList;
00147     argList << srcType << opName;
00148     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00149 
00150     HxString argument = getRule("argumenttype", key);
00151     if (argument != HxString(""))
00152         return HxImageSignature::NameToSignature(argument);
00153     else
00154         return HxIfRbPair(defaultArgument, false);
00155 }

void HxImgFtorRuleBase::setKernelType HxString    kernelType,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Insert ftorClass<srcType,opName>=kernelType under [/imagefunctor/rulebase/kerneltype].

00161 {
00162     HxStringList argList;
00163     argList << srcType << opName;
00164     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00165     setRule("kerneltype", key, kernelType);
00166 }

HxIfRbPair HxImgFtorRuleBase::getKernelType HxImageSignature    defaultKernel,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/kerneltype].

Return defaultResult if not found.

00172 {
00173     HxStringList argList;
00174     argList << srcType << opName;
00175     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00176 
00177     HxString result = getRule("kerneltype", key);
00178     if (result != HxString(""))
00179         return HxImageSignature::NameToSignature(result);
00180     else
00181         return HxIfRbPair(defaultKernel, false);
00182 }

void HxImgFtorRuleBase::setExtraType HxString    extraType,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Insert ftorClass<srcType,opName>=extraType under [/imagefunctor/rulebase/extratype].

00188 {
00189     HxStringList argList;
00190     argList << srcType << opName;
00191     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00192     setRule("extratype", key, extraType);
00193 }

HxIfRbPair HxImgFtorRuleBase::getExtraType HxImageSignature    defaultExtra,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/extratype].

Return defaultResult if not found.

00199 {
00200     HxStringList argList;
00201     argList << srcType << opName;
00202     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00203 
00204     HxString result = getRule("extratype", key);
00205     if (result != HxString(""))
00206         return HxImageSignature::NameToSignature(result);
00207     else
00208         return HxIfRbPair(defaultExtra, false);
00209 }

void HxImgFtorRuleBase::setExtra2Type HxString    extra2Type,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Insert ftorClass<srcType,opName>=extra2Type under [/imagefunctor/rulebase/extra2type].

00215 {
00216     HxStringList argList;
00217     argList << srcType << opName;
00218     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00219     setRule("extra2type", key, extra2Type);
00220 }

HxIfRbPair HxImgFtorRuleBase::getExtra2Type HxImageSignature    defaultExtra2,
HxString    ftorClass,
HxString    srcType,
HxString    opName
 

Get value for ftorClass<srcType,opName> from [/imagefunctor/rulebase/extra2type].

Return defaultResult if not found.

00226 {
00227     HxStringList argList;
00228     argList << srcType << opName;
00229     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00230 
00231     HxString result = getRule("extra2type", key);
00232     if (result != HxString(""))
00233         return HxImageSignature::NameToSignature(result);
00234     else
00235         return HxIfRbPair(defaultExtra2, false);
00236 }

void HxImgFtorRuleBase::setIsModifying HxString    ftorClass,
HxString    opName,
bool    f = true
 

Insert ftorClass<opName>=f under [/imagefunctor/rulebase/isModifying].

00241 {
00242     HxStringList argList;
00243     argList << opName;
00244     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00245     setFlagRule("isModifying", key, f);
00246 }

bool HxImgFtorRuleBase::getIsModifying HxString    ftorClass,
HxString    opName
 

Get value for ftorClass<opName> from [/imagefunctor/rulebase/isModifying].

00251 {
00252     HxStringList argList;
00253     argList << opName;
00254     HxImgFtorKey key(ftorClass, argList.begin(), argList.end());
00255     return getFlagRule("isModifying", key);
00256 }


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 14:19:00 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001