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

# /Users/fpy/titan-1-5-MBARI/Mers/Generators/AssignmentGeneratorInterface.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 #if !defined(AFX_ASSIGNMENTGENERATORINTERFACE_H__D00929A4_8D9D_4D19_ADD1_A36A339BC971__INCLUDED_)
    00015 #define AFX_ASSIGNMENTGENERATORINTERFACE_H__D00929A4_8D9D_4D19_ADD1_A36A339BC971__INCLUDED_
    00016
    00017 #if _MSC_VER > 1000
    00018 #pragma once
    00019 #endif // _MSC_VER > 1000
    00020
    00021 namespace Mers {
    00022         namespace Models {
    00023                 namespace Base {
    00024                         class BaseModelAssignmentArray;
    00025                         class BaseModelClauseArray;
    00026                 }
    00027         }
    00028 }
    00029
    00030 namespace Mers {
    00031         namespace Generators {
    00032
    00038                 class AssignmentGeneratorInterface
    00039                 {
    00040                 public:
    00041                         //-----------------------------------------
    00042                         // Constructors
    00043                         //-----------------------------------------
    00044
    00045                         AssignmentGeneratorInterface()
    00046                         {
    00047                                 debug = 0;
    00048                         }
    00049
    00050                         //-----------------------------------------
    00051                         // Destructors
    00052                         //-----------------------------------------
    00053
    00054                         virtual ~AssignmentGeneratorInterface()
    00055                         {
    00056                         }
    00057
    00058                         //-----------------------------------------
    00059                         // Functions
    00060                         //-----------------------------------------
    00061
    00067                         virtual void addConflict(Mers::Models::Base::BaseModelAssignmentArray const * newConflict) = 0;
    00073                         virtual void addConflict(Mers::Models::Base::BaseModelAssignmentArray const & newConflict) = 0;
    00079                         virtual void addConflicts(Mers::Models::Base::BaseModelClauseArray const &
    00080                                                                                                                                 newConflicts) = 0;
    00081
    00095                         virtual Mers::Models::Base::BaseModelAssignmentArray const * generateBestImplicant(
    00096                                                                                                                                                                                                                                                                                  long maximumVisitedStateCount, long maxSize,
    00097                                                                                                                                                                                                                                                                                  bool expand = true) = 0;
    00098
    00104                         virtual void markBestFeasible() = 0;
    00105
    00111                         virtual void printStatistics(bool verbose = false) const = 0;
    00116                         virtual void setDebug(unsigned int state)
    00117                         {
    00118                                 debug = state;
    00119                         }
    00120
    00125                         virtual void restart() = 0;
    00132                         virtual void reset() = 0;
    00133
    00138                         virtual unsigned int getFullAssignmentSize() = 0;
    00139
    00144                         virtual double getNumberOfSteps() const = 0;
    00145
    00146                 protected:
    00147                         unsigned int debug;
    00148                 };
    00149         }
    00150 }
    00151
    00152 #endif // !defined(AFX_ASSIGNMENTGENERATORINTERFACE_H__D00929A4_8D9D_4D19_ADD1_A36A339BC971__INCLUDED_)