Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorRuleBase.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Edo Poll                (poll@wins.uva.nl)
00007  *  Dennis Koelma           (koelma@wins.uva.nl)
00008  */
00009 
00010 #ifndef HxImgFtorRuleBase_h
00011 #define HxImgFtorRuleBase_h
00012 
00013 #include "HxString.h"
00014 #include "HxImageSignature.h"
00015 
00016 class HxImgFtorKey;
00017 
00018 class L_HXIMAGEREP HxIfRbPair
00019 {
00020 public:
00021                                 HxIfRbPair() {}
00022                                 HxIfRbPair(
00023                                     HxImageSignature s, bool f = true)
00024                                     : sig(s), found(f) {}
00025 
00026     bool                        found;
00027     HxImageSignature            sig;
00028 
00029                                 operator int() { return found ? 1 : 0; }
00030                                 operator HxImageSignature() { return sig; }
00031 };
00032 
00033 
00036 class L_HXIMAGEREP HxImgFtorRuleBase
00037 {
00038 public:
00039     typedef HxIfRbPair          QueryResultType;
00040 
00041     static HxImgFtorRuleBase&   instance();
00042 
00043     void                        setResultType(
00044                                     HxString resultType,
00045                                     HxString ftorClass, HxString srcType,
00046                                     HxString opName);
00047 
00048     void                        setResultType(
00049                                     HxString resultType,
00050                                     HxString ftorClass,
00051                                     HxString src1Type, HxString src2Type,
00052                                     HxString opName);
00053 
00054     QueryResultType             getResultType(
00055                                     HxImageSignature defaultResult,
00056                                     HxString ftorClass, HxString srcType,
00057                                     HxString opName);
00058 
00059     QueryResultType             getResultType(
00060                                     HxImageSignature defaultResult,
00061                                     HxString ftorClass,
00062                                     HxString src1Type, HxString src2Type,
00063                                     HxString opName);
00064 
00065     void                        setArgumentType(
00066                                     HxString argumentType,
00067                                     HxString ftorClass, HxString srcType,
00068                                     HxString opName);
00069 
00070     QueryResultType             getArgumentType(
00071                                     HxImageSignature defaultArgument,
00072                                     HxString ftorClass, HxString srcType,
00073                                     HxString opName);
00074 
00075     void                        setKernelType(
00076                                     HxString kernelType,
00077                                     HxString ftorClass, HxString srcType,
00078                                     HxString opName);
00079 
00080     QueryResultType             getKernelType(
00081                                     HxImageSignature defaultKernel,
00082                                     HxString ftorClass, HxString srcType,
00083                                     HxString opName);
00084 
00085     void                        setIsModifying(
00086                                     HxString ftorClass, HxString opName,
00087                                     bool f = true);
00088 
00089     bool                        getIsModifying(
00090                                     HxString ftorClass, HxString opName);
00091 
00092                                 ~HxImgFtorRuleBase();
00093 
00094 private:
00095                                 HxImgFtorRuleBase();
00096                                 HxImgFtorRuleBase(const HxImgFtorRuleBase&);
00097 
00098     HxString                    getRule(
00099                                     HxString ruleType,
00100                                     const HxImgFtorKey& key);
00101     void                        setRule(
00102                                     HxString ruleType, const HxImgFtorKey& key,
00103                                     HxString ruleValue);
00104     bool                        getFlagRule(
00105                                     HxString ruleType,
00106                                     const HxImgFtorKey& key);
00107     void                        setFlagRule(
00108                                     HxString ruleType, const HxImgFtorKey& key,
00109                                     bool ruleValue);
00110 };
00111 
00112 #endif

Generated on Tue Jan 8 13:59:14 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001