#include <Method.h>
Diagram dziedziczenia dla Method
Klasa bazowa dla metod. Posiada nazwę i opis metody.
Komunikacja z interfacem użytkownika odbywa się za pomocą obserwatora (metoda informuje cyklicznie o tym, że działa. Przy okazji obserwator może przetwarzać zdarzenia GUI) oraz metody Abort (pozwala GUI przerwać operację optymalizacji - sygnalizowany jest wtedy odp. wyjątek).
Metody publiczne | |
virtual | ~Method (void) |
Destruktor. | |
std::auto_ptr< Result > | StartOptimize (const ProblemBase &problem) const throw (OptimizationError) |
Przygotowuje i uruchamia proces optymalizacji. | |
virtual std::auto_ptr< Method > | Clone () const =0 |
Tworzy kopię siebie i zwraca na nią wskaźnik. | |
void | Abort () const |
Zatrzymuje proces optymalizacji. | |
void | Prestart () const |
Przygotowuje metodę do pracy. | |
virtual void | UpdateStartingConditions (const Result *result) const =0 |
virtual void | ResetStartingConditions () const =0 |
virtual const wxString & | Name () const =0 |
Zwraca nazwę metody. | |
virtual wxString | ToString (bool standalone=true) const |
Zwraca opis tekstowy metody (nazwa + parametry). | |
virtual MethodIdType | Id () const =0 |
Zwraca ID metody. | |
virtual bool | CanHandle (const ProblemBase *pProblem) const =0 |
Sprawdza, czy dany problem może być rozwiązany tą metodą. | |
virtual StopConditions | AllowedStopConditions () const |
Zwraca listę warunków stopu odpowiednich dla danej metody. | |
Statyczne metody publiczne | |
static void | Init () |
Inicjuje metody. | |
static const vector< Method * > & | Methods () |
Zwraca wektor metod. | |
static Method * | GetById (MethodIdType id) |
Znajduje metodę o podaniym ID. | |
static MethodIdType | ClassId () |
Zwraca ID klasy metody. | |
Typy chronione | |
enum | { ABSTRACT_METHOD_ID = 1 } |
Stała ID dla klas abstrakcyjnych. | |
Metody chronione | |
void | NotifyYield () const throw (Error) |
Informuje świat zewnętrzny o pracy metody. | |
Method (void) | |
Konstruktor domyślny. | |
virtual wxString & | rName ()=0 |
Statyczne metody chronione | |
static MethodIdType | GenerateId () |
Tworzy nowy numer ID. |
|
Konstruktor domyślny. Rejestruje automatycznie metodę. |
|
Zatrzymuje proces optymalizacji. Metoda powinna być wywoływana z interface'u, np. przez przycisk "Przerwij" w okienku postępu. |
|
Tworzy nowy numer ID.
|
|
Znajduje metodę o podaniym ID.
Przykład:
|
|
Inicjuje metody. Obecnie tylko sortuje prototypy metod wg nazw. Metoda powinna zostać wywołana raz przy starcie programu, jeszcze przed tworzeniem okien interface'u. |
|
Informuje świat zewnętrzny o pracy metody. Metoda informuje obserwatory o tym, że działa (mogą one np. wyświetlać okienko postępu oraz przetwarzać zdarzenia GUI), oraz sprawdza, czy użytkownik nie przerwał działania (patrz Abort). Powinna być wywoływana w pętli metody Optimize. Powiadamianie obserwatorów nie zachodzi częściej, niż raz na 250ms (ale może rzadziej).
|
|
Przygotowuje metodę do pracy. Automatycznie wywoływane przez StartOptimize itp. przed rozpoczęciem optymalizacji. |
|
Przygotowuje i uruchamia proces optymalizacji. Przygotowanie obejmuje m.in. wyzerowanie licznika obliczeń funkcji. Po zakończeniu bądź przerwaniu optymalizacji wartość licznika jest kopiowana do wyniku.
|