- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Generators/BFIG/CDBFIG/CDBFIG.h

    00001
    00002 //
    00003 // Copyright (c) 2004           Model-based Embedded and Robotic Systems Group
    00004 // All Rights Reserved          Massachusetts Institute of Technology
    00005 //
    00006 // This software is provided as is. Model-based Embedded and Robotic Systems
    00007 // (MERS) group does not assume any responsibility.
    00008 //
    00009 // Organization:        Model-based Embedded and Robotic Systems Group
    00010 //                                      Massachusetts Institute of Technology
    00011 //
    00013
    00014 #ifndef __CDBFIG__
    00015 #define __CDBFIG__
    00016
    00017 #include <cstdlib>
    00018 #include <vector>
    00019
    00020 #include <Mers/Utils/Lang/String.h>
    00021 #include <Mers/Utils/Logging/logger.h>
    00022
    00023 #include <Mers/Generators/BFIG/BFIG.h>
    00024
    00025 #include <Mers/Generators/BFIG/BFIGImplicantHeap.h>
    00026
    00027 namespace Mers {
    00028         namespace Generators {
    00029                 namespace BFIG {
    00030                         class BFIGImplicant;
    00031                         class BFIGConstraint;
    00032                         class BFIGVariable;
    00033                         class BFIGAssignment;
    00034
    00035                         namespace CDBFIG {
    00036
    00045                                 class CDBFIG : public Mers::Generators::BFIG::BFIG
    00046                                 {
    00047                                 public:
    00049                                         //      CONSTRUCTOR
    00051
    00064                                         CDBFIG(std::vector<BFIGVariable *> const & variableSet,
    00065                                                 double cutoffCost, BFIGObjectiveFunction const * of);
    00066
    00075                                         CDBFIG(std::vector<BFIGVariable *> const & variableSet,
    00076                                                 double cutoffCost);
    00077
    00084                                         CDBFIG(std::vector<BFIGVariable *> const & variableSet);
    00085
    00089                                         virtual ~CDBFIG();
    00090
    00091
    00093                                         //      PUBLIC FUNCTION METHODS
    00095
    00097                                         //      Gets and Sets
    00099
    00106                                         virtual void printStatistics(bool verbose = false) const;
    00107
    00119                                         void printStatistics(log4cplus::Logger logger, bool verbose = false,
    00120                                                 log4cplus::LogLevel logLevel = log4cplus::DEBUG_LOG_LEVEL) const;
    00121
    00129                                         virtual void printQueue(bool verbose = false)  const;
    00130
    00143                                         void printQueue(log4cplus::Logger logger, bool verbose = false,
    00144                                                 log4cplus::LogLevel logLevel = log4cplus::DEBUG_LOG_LEVEL) const;
    00145
    00146                                 private:
    00147
    00149                                         // Internal Functions
    00151
    00152                                         void searchForImplicant(long maxExpansionCount, long maxQueueSize);
    00153
    00154                                         bool searchLoop();
    00155
    00157                                         //      PRIVATE DATA MEMBERS
    00159
    00161                                         static log4cplus::Logger mLogger;
    00162                                 };
    00163                         }
    00164                 }
    00165         }
    00166 }
    00167
    00168 #endif //ndef __CDBFIG__
    00169