ZMF.h

Go to the documentation of this file.
00001 
00022 #ifndef         ZMF_H_
00023 # define        ZMF_H_
00024 
00025 #include "MembershipFn.h"   // for MembershipFn
00026 
00027 namespace IRIS {
00028 
00029   using namespace std;
00030 
00031   namespace Fuzzy {
00032 
00034     class ZMF : public MembershipFn
00035     {
00036 
00037       public:
00038 
00040         static const unsigned NUM_PARMS = 2;
00041 
00042     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00043 
00049         ZMF( double a=0 , double b=0 );
00058         ZMF( const string& name , 
00059                double   a=0 , double   b=0 ,
00060                double min=0 , double max=0                );
00063         ZMF( const MembershipFn::parm_list& parm );
00064 
00065     //  DESTRUCTORS  //////////////////////////////////////////////////////
00066 
00068         ~ZMF( );
00069 
00070     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00071 
00075         void set ( double a=0 , double b=0 );
00076 
00077         // implemented virtual functions from IRIS::Fuzzy::Numeric
00078         virtual void discretize( unsigned degree );
00079 
00080     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00081 
00085         void get ( double &a , double &b );
00086 
00087         // implemented virtual functions from IRIS::Fuzzy::Numeric
00088         virtual double eval( double x ) const;
00089         virtual double operator() ( double val ) const;
00090 
00091         // implemented virtual functions from IRIS::Fuzzy::Set
00092         virtual void draw() const;
00093 
00094     }; // end of ZMF class
00095 
00096   } // end of Fuzzy namespace
00097 
00098 } // end of IRIS namespace
00099 
00100 #endif      /* !ZMF_H_ */

Generated on Tue Dec 12 13:41:39 2006 for IRIS Intelligent Systems Tools by  doxygen 1.4.6