/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_)

Generated on Mon Dec 4 14:16:50 2006 for Mers by  doxygen 1.5.0