|
From: <le...@us...> - 2007-02-15 13:19:54
|
Revision: 331
http://svn.sourceforge.net/qcell/?rev=331&view=rev
Author: lessm
Date: 2007-02-15 05:19:51 -0800 (Thu, 15 Feb 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/qcell/baseheaders/basetools.ui
trunk/qcell/baseheaders/view3dtools.ui
trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex
trunk/qcell/doc/licenciate_thesis/chap6/1DTools.png
trunk/qcell/doc/licenciate_thesis/chap6/2DTools.png
trunk/qcell/doc/licenciate_thesis/chap6/bTools.png
trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
trunk/qcell/doc/licenciate_thesis/chap6/observer.png
Added Paths:
-----------
trunk/qcell/bin/examples/
trunk/qcell/bin/examples/basic3Dexperiment.FQT
trunk/qcell/bin/examples/basic3Dexperiment.KI
trunk/qcell/bin/examples/basic3Dexperiment.N
trunk/qcell/bin/examples/dynamicmodelexample.FQT
trunk/qcell/bin/examples/dynamicmodelexample.N
Modified: trunk/qcell/baseheaders/basetools.ui
===================================================================
--- trunk/qcell/baseheaders/basetools.ui 2007-02-15 10:31:26 UTC (rev 330)
+++ trunk/qcell/baseheaders/basetools.ui 2007-02-15 13:19:51 UTC (rev 331)
@@ -13,7 +13,7 @@
</rect>
</property>
<property name="windowTitle" >
- <string>BaseTools</string>
+ <string>Basic Tools</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
Modified: trunk/qcell/baseheaders/view3dtools.ui
===================================================================
--- trunk/qcell/baseheaders/view3dtools.ui 2007-02-15 10:31:26 UTC (rev 330)
+++ trunk/qcell/baseheaders/view3dtools.ui 2007-02-15 13:19:51 UTC (rev 331)
@@ -229,7 +229,7 @@
</size>
</property>
<property name="title" >
- <string>Distans</string>
+ <string>Distance</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
Added: trunk/qcell/bin/examples/basic3Dexperiment.FQT
===================================================================
--- trunk/qcell/bin/examples/basic3Dexperiment.FQT (rev 0)
+++ trunk/qcell/bin/examples/basic3Dexperiment.FQT 2007-02-15 13:19:51 UTC (rev 331)
@@ -0,0 +1,5 @@
+FQT
+27 2 4
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
+4: 10
+5: 32
Added: trunk/qcell/bin/examples/basic3Dexperiment.KI
===================================================================
--- trunk/qcell/bin/examples/basic3Dexperiment.KI (rev 0)
+++ trunk/qcell/bin/examples/basic3Dexperiment.KI 2007-02-15 13:19:51 UTC (rev 331)
@@ -0,0 +1,209 @@
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000001000000000
+00000000001000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000001000000000
+00000000010000000000
+00000000010000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000001000000000
+00000000010000000000
+00000000010000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000001000000000
+00000000001000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
+00000000000000000000
Added: trunk/qcell/bin/examples/basic3Dexperiment.N
===================================================================
--- trunk/qcell/bin/examples/basic3Dexperiment.N (rev 0)
+++ trunk/qcell/bin/examples/basic3Dexperiment.N 2007-02-15 13:19:51 UTC (rev 331)
@@ -0,0 +1,12 @@
+N3
+3 3 3 27
+1 1 1
+123
+456
+789
+ABC
+DRE
+FGH
+IJK
+LMN
+OPQ
Added: trunk/qcell/bin/examples/dynamicmodelexample.FQT
===================================================================
--- trunk/qcell/bin/examples/dynamicmodelexample.FQT (rev 0)
+++ trunk/qcell/bin/examples/dynamicmodelexample.FQT 2007-02-15 13:19:51 UTC (rev 331)
@@ -0,0 +1,4 @@
+FQT
+3 4 4
+1
+
Added: trunk/qcell/bin/examples/dynamicmodelexample.N
===================================================================
--- trunk/qcell/bin/examples/dynamicmodelexample.N (rev 0)
+++ trunk/qcell/bin/examples/dynamicmodelexample.N 2007-02-15 13:19:51 UTC (rev 331)
@@ -0,0 +1,4 @@
+N1
+3 3
+1
+213
Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-15 10:31:26 UTC (rev 330)
+++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-15 13:19:51 UTC (rev 331)
@@ -22,6 +22,9 @@
\item praca krokowa
\end{itemize}
+\subsubsection {Warunki brzegowe pracy symulatora}
+Domy\x9Clnymi warunkami brzegowymi uwzgl\xEAdnionymi w pracy pakietu s\xB9 warunki torusowe. Symulator nie uwzgl\xEAdnia mo\xBFliwo\x9Cci zmiany warunk\xF3w brzegowych.
+
\subsubsection {Wizualizacja symulacji}
Program pozwala wizualizowa\xE6 symulatory LAK(tryb tekstowy), DAK(tryb testowy, tryb graficzny), TAK(tryb graficzny z dwoma trybami perspektywy).
@@ -56,14 +59,18 @@
\begin{itemize}
\item identyfikator literowy typu funkcji, tj FQT,
\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji,
-\item numery zmiennych sumowanych,
+\item numery zmiennych sumowanych (separowane przecinkiem),
-\item Wiersze nast\xEApne podaj\xB9 kolejne sumy s (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego s: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$.
+\item Wiersze nast\xEApne podaj\xB9 kolejne sumy s (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego s: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym.
\end{itemize}
+
+\item ZIFW - zawiera w kolejnych wierszach:
+\item identyfikator literowy typu funkcji, tj ZIFW,
+\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji,
+\item kolejne wiersze zawieraj\xB9 zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji
+\item kreska (my\x9Clnik) oznacza warto\x9C\xE6 nieokre\x9Clon\xB9 (dowoln\xB9)
\end{itemize}
-
-
\item s\xB9siedztwo
\begin{itemize}
\item N - Jest plikiem przeznaczonym do specyfikowania uk\xB3ad\xF3w s\xB9siedztwa, np. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. Ma on nast\xEApuj\xB9c\xB9 struktur\xEA:
@@ -80,12 +87,6 @@
\item KI - Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku.
\end{itemize}
-\item formaty wewn\xEAtrzne
-\begin{itemize}
-\item format zapisu KB wykorzystuj\xB9cy j\xEAzyk XML,
-\item wewn\xEAtrzny format opisu FL wykorzystuj\xB9cy j\xEAzyk XML
\end{itemize}
-\end{itemize}
-
% vim:fencs=cp1250:fenc=cp1250
Modified: trunk/qcell/doc/licenciate_thesis/chap6/1DTools.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/2DTools.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/bTools.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-15 10:31:26 UTC (rev 330)
+++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-15 13:19:51 UTC (rev 331)
@@ -91,12 +91,12 @@
\begin{itemize}
\item Perspective - tryb perspektywy ludzkiego oka
\item Ortho - perspektywa ortogonalna
-\item Enable - w\xB3\xB9czenie przekroj\xF3w
+\item Enable - przycisk w\xB3\xB9czaj\xB9cy/wy\xB3\xB9czaj\xB9cy tryb przekroju
\item xy - przekr\xF3j w p\xB3aszczy\x9Fnie XY
\item zy - przekr\xF3j w p\xB3aszczy\x9Fnie ZY
\item xz - przekr\xF3j w p\xB3aszczy\x9Fnie XZ
-\item przesuni\xEAcie w p\xB3aszczy\x9Fnie przekroju
-\item Distans - odleg\xB3o\x9C\xE6 KI od kamery
+\item okno przesuni\xEAcie w p\xB3aszczy\x9Fnie stosowanego przekroju
+\item Distance - odleg\xB3o\x9C\xE6 \x9Crodka KI od kamery
\end{itemize}
\subsubsection{2D Text Tools}
@@ -107,9 +107,9 @@
\end{figure}
Zestaw narz\xEAdzi dla symulatora DAK. Zawiera nast\xEApuj\xB9ce opcje:
\begin{itemize}
-\item Colors - interpretowanie za pomoc\xB9 kolor\xF3w
-\item Symbols - interpretowanie za pomoc\xB9 warto\x9Cci symboli
-\item Char - interpretacja za pomoc\xB9 znak\xF3w tekstowych
+\item Colors - tryb interpretacji z u\xBFyciem kolor\xF3w
+\item Symbols - tryb interpretacji z u\xBFyciem warto\x9Cci symboli
+\item Char - tryb interpretacji z u\xBFyciem znak\xF3w tekstowych
\item Z Plane - przesuni\xEAcie w p\xB3aszczy\x9Fnie przekroju XY (widocznie jedynie dla KI 3D)
\end{itemize}
@@ -120,13 +120,10 @@
\caption{1D Tools}
\end{figure}
Zestaw narz\xEAdzi dla symulatora LAK:
-\begin{itemize}
-\item Colors - interpretowanie za pomoc\xB9 kolor\xF3w
-\item Symbols - interpretowanie za pomoc\xB9 warto\x9Cci symboli
-\item Char - interpretacja za pomoc\xB9 znak\xF3w tekstowych
-\item Clear - usuni\xEAcie z tabeli poprzednich krok\xF3w symulacji
-\end{itemize}
+Przyciski "Colors", "Symbols", "Char" odpowiadaj\xB9 funkcjonalno\x9Cci\xB9 odpowiednim przyciskom w oknie "2D Text Tools".
+Przycisk "Clear" umo\xBFliwia usuni\xEAcie poprzednich chwil czasowych z tabeli historii widoku 1D.
+
\subsubsection{Neigborhood Tools}
\begin{figure}[!h]
\centering
@@ -236,7 +233,7 @@
\caption {Wczytywanie konfiguracji z plik\xF3w}
\end{figure}
-Aby wykona\xE6 kolejne kroi 6.10.
+Aby wykona\xE6 kolejne kroi nale\xBFy u\xBFy\xE6 zestawu narz\xEAdzi przedstawionych na rysunku 6.10.
\begin{figure}[!h]
\centering
@@ -246,36 +243,39 @@
\subsection{Podstawowy eksperyment}
-Rysunki 6.11 - 6.14 przedstawiaj\xB9 kolejne kroki symulacji. Po analizie por\xF3wnawczej zauwa\xBFy\xE6 mo\xBFna i\xBF widoczne obiekty zaklasyfikowa\xE6 mo\xBFna jako \xB3aziki.
+Do przedstawienia poni\xBFszego przyk\xB3adu u\xBFyto plik\xF3w "basic3Dexperiment.FQT", "basic3Dexperiment.N", "basic3Dexperiment.KI" znajduj\xB9cych si\xEA w katalogu "examples".
+Po za\xB3adowaniu wszystkich plik\xF3w niezb\xEAdnych do rozpocz\xEAcia eksperymentu uaktywnia si\xEA pasek narz\xEAdzi przedstawiony na rysunku 6.10 i mo\xBFliwe jest wykonywanie kolejnych krok\xF3w eksperymentu. Alternatyw\xB9 dla \xB3adowania pliku KI jest skorzystanie z kreatora konfiguracji znajduj\xB9cego si\xEA w menu "File->New" i r\xEAczna edycja stworzonej KI.
+
\begin{figure}[!h]
\centering
\includegraphics[width=4cm]{chap6/iter1}
-\caption {Krok 1}
+\caption {Przebieg symulacji dla t=0}
\end{figure}
\begin{figure}[!h]
\centering
\includegraphics[width=4cm]{chap6/iter2}
-\caption {Krok 2}
+\caption {Przebieg symulacji dla t=1}
\end{figure}
\begin{figure}[!h]
\centering
\includegraphics[width=4cm]{chap6/iter3}
-\caption {Krok 3}
+\caption {Przebieg symulacji dla t=2}
\end{figure}
\begin{figure}[!h]
\centering
\includegraphics[width=4cm]{chap6/iter4}
-\caption {Krok 4}
+\caption {Przebieg symulacji dla t=3}
\end{figure}
+Rysunki 6.11 - 6.14 przedstawiaj\xB9 kolejne kroki symulacji z u\xBFyciem KI zawartej w pliku "basic3Dexperiment.KI". Z analizy przebiegu symulacji widoczny obiekt mo\xBFna zaklasyfikowa\xE6 jako \xB3azik.
\subsection{Eksperyment dynamicznego dobieranie modelu obliczeniowego}
Poni\xBFszy przyk\xB3ad obrazuje spos\xF3b dynamicznego doboru modelu obliczeniowego.
-Zadaniem docelowym jest okre\x9Cleni modelu umo\xBFliwiaj\xB9cego obrazowanie kolizji sygna\xB3\xF3w w przestrzeni 1D. Zak\xB3adamy \xBFe sygna\xB3y poruszaj\xB9 si\xEA z pr\xEAdko\x9Cci\xB9 V=1 w przeciwnych kierunkach oraz po kolizj\xB9 pr\xEAdko\x9C\xE6 i kierunek sygna\xB3\xF3w ma pozosta\xE6 bez zmian. Do przedstawienia kolizji niezb\xEAdny jest alfabetu o czterech symbolach oraz s\xB9siedztwo tr\xF3jelementowe.
+Zadaniem docelowym jest okre\x9Cleni modelu umo\xBFliwiaj\xB9cego obrazowanie kolizji sygna\xB3\xF3w w przestrzeni 1D. Zak\xB3adamy \xBFe sygna\xB3y poruszaj\xB9 si\xEA z pr\xEAdko\x9Cci\xB9 V=1 w przeciwnych kierunkach oraz po kolizj\xB9 pr\xEAdko\x9C\xE6 i kierunek sygna\xB3\xF3w ma pozosta\xE6 bez zmian. Do przedstawienia kolizji niezb\xEAdny jest alfabetu o czterech symbolach oraz s\xB9siedztwo tr\xF3jelementowe. W poni\xBFszym przyk\xB3adzie u\xBFyto plik\xF3w: "dynamicmodelexample.FQT", "dynamicmodelexample.N". Do stworzenia KI u\xBFyto kreatora KI.
\begin{figure}[!h]
\centering
@@ -283,35 +283,35 @@
\caption {Tabela funkcji nieokre\x9Clonej}
\end{figure}
-Rysunek {} przedstawia tablice funkcji nieokre\x9Clonej. Stopniowo wykonuj\xB9c kolejne iteracje symulacji u\xBFytkownik wype\xB3nia tablic\xEA funkcji lokalnej. Podczas symulacji ilekro\xE6 nast\xB9pi pr\xF3ba u\xBFycia symbolu nieokre\x9Clonego post\xEAp symulacji zostaje zatrzymany a w tablicy funkcji zaznaczony zostaje symbol nieokre\x9Clony (Rys ). Miejsce wyst\xB9pienia symbolu w wyznaczanej KB r\xF3wnie\xBF zostaje zaznaczone (Rys ).
+Rysunek 6.15 przedstawia tablice funkcji nieokre\x9Clonej. Stopniowo wykonuj\xB9c kolejne iteracje symulacji u\xBFytkownik wype\xB3nia tablic\xEA funkcji lokalnej. Podczas symulacji ilekro\xE6 nast\xB9pi pr\xF3ba u\xBFycia symbolu nieokre\x9Clonego post\xEAp symulacji zostaje zatrzymany, a w tablicy funkcji zaznaczony zostaje symbol nieokre\x9Clony (Rys 6.17). Zaznaczenie miejsca wyst\xB9pienia SN w wyznaczanej KB przedstawione zosta\xB3o na rysunku 6.16.
\begin{figure}[!h]
\centering
\includegraphics[width=12cm]{chap6/fview}
-\caption {Tabela funkcji nieokre\x9Clonej}
+\caption {Obraz KB z zaznaczeniem wyst\xB9pienia SN}
\end{figure}
\begin{figure}[!h]
\centering
\includegraphics[width=12cm]{chap6/fdef}
-\caption {Tabela funkcji nieokre\x9Clonej}
+\caption {Obraz tabeli FL z zaznaczeniem SN}
\end{figure}
-Rysunek {} uwidacznia tablice funkcji lokalnej zawieraj\xB9cej minimaln\xB9 liczb\xEA okre\x9Clonych warto\x9Cci niezb\xEAdnych do symulacji propagacji sygna\xB3\xF3w bez okre\x9Clenia zachowania podczas kolizji.
+Rysunek 6.18 uwidacznia tablice funkcji lokalnej zawieraj\xB9cej minimaln\xB9 liczb\xEA okre\x9Clonych warto\x9Cci funkcji lokalnej niezb\xEAdnych do symulacji propagacji sygna\xB3\xF3w bez okre\x9Clenia zachowania podczas kolizji.
\begin{figure}[!h]
\centering
\includegraphics[width=12cm]{chap6/movelr}
-\caption {Tablicy funkcji dla propaguj\xB9cych sygna\xB3\xF3w}
+\caption {Obraz tablicy FL dla propaguj\xB9cych sygna\xB3\xF3w}
\end{figure}
\begin{figure}[!h]
\centering
\includegraphics[width=12cm]{chap6/compleattable}
-\caption {Tablicy funkcji dla propaguj\xB9cych sygna\xB3\xF3w z uwzgl\xEAdnieniem wyst\xB9pienia kolizji}
+\caption {Obraz tablicy FL realizuj\xB9cej wyznaczone zadanie}
\end{figure}
-Rysunek {} przedstawia tablice funkcji okre\x9Clon\xB9 w stopniu wystarczaj\xB9cym do realizacji za\xB3o\xBFe\xF1 docelowego eksperymentu.
+Rysunek 6.19 przedstawia tablice funkcji okre\x9Clon\xB9 w stopniu wystarczaj\xB9cym do realizacji za\xB3o\xBFe\xF1 docelowych powy\xBFszego przyk\xB3adu eksperymentu.
\begin{figure}[!h]
\centering
@@ -319,4 +319,6 @@
\caption {Widok pracy AK}
\end{figure}
+Rysunek 6.20 przedstawia przebieg eksperymentu dla dobranego modelu. Widok poddany zosta\xB3 interpretacji z u\xBFyciem znak\xF3w graficznych w celu osi\xB9gni\xEAcia przejrzysto\x9Cci wynik\xF3w symulacji.
+
% vim:fencs=cp1250:fenc=cp1250
Modified: trunk/qcell/doc/licenciate_thesis/chap6/observer.png
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dhu...@us...> - 2007-02-16 15:25:36
|
Revision: 332
http://svn.sourceforge.net/qcell/?rev=332&view=rev
Author: dhubleizh
Date: 2007-02-16 07:25:32 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
- a lot of small changes
Modified Paths:
--------------
trunk/qcell/baseheaders/neigborhoodtools.ui
trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex
trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex
trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex
trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex
trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex
trunk/qcell/doc/licenciate_thesis/style.tex
trunk/qcell/doc/licenciate_thesis/titlepage.tex
Modified: trunk/qcell/baseheaders/neigborhoodtools.ui
===================================================================
--- trunk/qcell/baseheaders/neigborhoodtools.ui 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/baseheaders/neigborhoodtools.ui 2007-02-16 15:25:32 UTC (rev 332)
@@ -6,7 +6,7 @@
<x>0</x>
<y>0</y>
<width>145</width>
- <height>507</height>
+ <height>234</height>
</rect>
</property>
<property name="maximumSize" >
@@ -16,7 +16,7 @@
</size>
</property>
<property name="windowTitle" >
- <string>NeigborhoodTools</string>
+ <string>NeigbourhoodTools</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
@@ -182,126 +182,6 @@
</layout>
</widget>
</item>
- <item>
- <widget class="QGroupBox" name="NeigborhoodGroup" >
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>270</height>
- </size>
- </property>
- <property name="title" >
- <string>Neigborhood</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QTableWidget" name="neigborTable" >
- <property name="columnCount" >
- <number>1</number>
- </property>
- <column/>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ClearSelectedButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Clear selected</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="SetNButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Set selected</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="SetZeroButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Set zero point</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="AddNeigborButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Add neigbor</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="DelNeigborButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Del neigbor</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="toolButton" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Reload</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="toolButton_2" >
- <property name="minimumSize" >
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- <property name="text" >
- <string>Apply</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11" />
Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-16 15:25:32 UTC (rev 332)
@@ -11,26 +11,26 @@
\label{sec:ute}
Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w.
-Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. W \x9Cwietle spekulacji, i\xBF mechanik\xEA rz\xB9dz\xB9c\xB9 wszech\x9Cwiatem mo\xBFna zamodelowa\xE6 w postaci regu\xB3 \ac{AK}, badanie tej dziedziny mo\xBFe prowadzi\xE6 do rozwi\xB9zania niekt\xF3rych z problem\xF3w nowoczesnej nauki, jak mechanika kwantowa, hydro- i termodynamika, czy wreszcie badania interakcji AIDS z systemem immunologicznym cz\xB3owieka\citep{aica}.
+Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. Ponadto symulatory \ac{AK} maj\xB9 swoje praktyczne zastosowania, jak modelowanie aglomeracji miejskich~--- \x9Cledzenie rozmieszczenia mieszka\xF1c\xF3w i korelowanie z przest\xEApstwami, wizualizowanie proces\xF3w biologicznych, jak np. erozja ko\x9Cci, symulowanie zachowania gaz\xF3w, czy rozprzestrzeniania si\xEA po\xBFar\xF3w las\xF3w\citep{aica}.
Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK}.
Dzisiejsze systemy komputerowe pozwalaj\xB9 na prowadzenie skomplikowanych oblicze\xF1 w~kr\xF3tkim czasie. Szczeg\xF3lnie na polu tr\xF3jwymiarowej grafiki komputerowej ostatnie lata pe\xB3ne by\xB3y innowacji wielokrotnie zwi\xEAkszaj\xB9cych mo\xBFliwo\x9Cci zwyk\xB3ych komputer\xF3w osobistych. Jest to idealne pod\xB3o\xBFe do pr\xF3by stworzenia symulatora \ac{AK} wykorzystuj\xB9cego mo\xBFliwo\x9Cci sprz\xEAtowe do zaprezentowania nowej jako\x9Cci wizualizacji tr\xF3jwymiarowych proces\xF3w kom\xF3rkowych.
Punktem wyj\x9Ccia do podj\xEAcia tematu by\xB3y zaj\xEAcia z przedmiotu ,,Modele system\xF3w dyskretnych'' prowadzone przez dr Paw\xB3a Siwaka\citep{siwy,sicw}. Zosta\xB3y tam wprowadzone i przedstawione kluczowe poj\xEAcia stwarzaj\xB9ce mo\xBFliwo\x9Cci realizacji symulatora modeli kom\xF3rkowych ze znacznymi ulepszeniami funkcjonalnymi, w stosunku do symulator\xF3w znanych z literatury. Do poj\xEA\xE6 tych nale\xBF\xB9:
\begin{itemize}
-\item chwila zero, nast\xEApna
-\item dobieranie modelu, s\xB9siedztw, funkcji
-\item funkcja (quasi-)totalistyczna
-\item integralno\x9C\xE6 modelu \ac{AK}
-\item interpretacja obrazu przetwarzania
-\item konfiguracja bie\xBF\xB9ca, nast\xEApna, poczatkowa
-\item obserwator lokalny
-\item regu\xB3y elementarne
+ \item idea obserwatora lokalnego i obraz\xF3w dla r\xF3\xBFnych maksymalnych pr\xEAdko\x9Cci propagacji sygna\xB3u $c$
+ \item idea cz\xEA\x9Cciowej totalizacji funkcji (funkcje quasi- i wielototalistyczne)
+ \item rozr\xF3\xBFnienie diagram\xF3w ST i TS
+ \item parametr przesuni\xEAcia $q$ na diagramach 1-D
+ \item zasada oddzielania alfabetu symboli (stany kom\xF3rek) od atrybut\xF3w ich wizualizacji znakowej i graficznej (st\xB9d interpretacja symboli w przetwarzancyh konfiguracjach)
+ \item poj\xEAcie regu\xB3y elementarnej (RE), 5 poziom\xF3w oblicze\xF1 w modelach AK oraz wyznaczanie regu\xB3 modelu LAK metod\xB9 przeszukiwania z nawrotami
+ \item standaryzacja opis\xF3w s\xB9siedztwa i funkcji lokalnych w plikach (formaty: N1, N2, N3 oraz FQT, FMT)
+ \item idea symbolu zast\xEApczego dla funkcji i konfiguracji nie w pe\xB3ni okre\x9Clonych
\end{itemize}
\section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych}
\label{sec:pzs}
-Zakres pracy podzielony zosta\xB3 na dwie cz\xEA\x9Cci. Cz\xEA\x9C\xE6 pierwsz\xB9 wykona\xB3 Cezary Krzy\xBFanowski, cz\xEA\x9C\xE6 drug\xB9~--- Leszek Smentek. Podzia\xB3 oraz om\xF3wienie zada\xF1 szczeg\xF3\xB3owych znajduje si\xEA w~rozdzia\xB3ach \ref{subsec:ck} oraz \ref{subsec:lsm}.
+Zakres pracy podzielony zosta\xB3 na dwie cz\xEA\x9Cci. Cz\xEA\x9C\xE6 pierwsz\xB9 wykona\xB3 Cezary Krzy\xBFanowski, cz\xEA\x9C\xE6 drug\xB9~--- Leszek Smentek. Podzia\xB3 oraz om\xF3wienie zada\xF1 szczeg\xF3\xB3owych znajduje si\xEA w~sekcjach \ref{subsec:ck} oraz \ref{subsec:lsm}.
\subsection{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 pierwsza}
\label{subsec:ck}
@@ -45,7 +45,7 @@
Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany w~modelu, b\xB9d\x9F danych, na bie\xBF\xB9co. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}).
\subsubsection{Testy programu}
-Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji(por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania (por. \ref{sec:wyd} oraz \ref{sec:eu\xBF}).
+Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji(por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie oceniony pod wzgl\xEAdem wizualizacji na tle istniej\xB9cych rozwi\xB9za\xF1 oraz poddany testom ergonomii u\xBFytkowania (por. \ref{subsec:owp} oraz \ref{sec:eu\xBF}).
\subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 druga}
\label{subsec:lsm}
@@ -57,7 +57,7 @@
Przez \x9Crodki doboru danych rozumiany jest zestaw narz\xEAdzi pakietu pozwalaj\xB9cych na swobodn\xB9 generacj\xEA danych eksperymentu oraz podstawowe mo\xBFliwo\x9Cci edycji.
\subsubsection {Wizualizacja i tryby eksperyment\xF3w dla r\xF3\xBFnych obserwator\xF3w}
-To zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji prowadzonego eksperymentu zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego.
+To zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji przebiegu przetwarzania zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego.
\subsubsection {Opracowanie i wdro\xBFenie \x9Crodk\xF3w dokumentowania eksperyment\xF3w}
Powy\xBFsze zadanie szczeg\xF3\xB3owe ma na celu opracowanie metod dokumentowania eksperyment\xF3w umo\xBFliwiaj\xB9cych prezentacje wynik\xF3w symulacji niezale\xBFnie od pakietu.
Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-16 15:25:32 UTC (rev 332)
@@ -30,7 +30,7 @@
Przekszta\xB3cenie aktualnego stanu \ac{AK}, {\bf tj. \ac{KB}}, w stan kolejny, {\bf tj. \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}.
-Par\xEA w postaci uporz\xB9dkowanego ci\xB9gu stan\xF3w s\xB9siad\xF3w oraz stanu nast\xEApnego kom\xF3rki jaki ten stan implikowanego przez \ac{FL} nazywamy {\bf \ac{RE}}\citep{siit}.
+Par\xEA w postaci uporz\xB9dkowanego ci\xB9gu stan\xF3w s\xB9siad\xF3w oraz stanu nast\xEApnego kom\xF3rki jaki ten stan implikuje przez \ac{FL} nazywamy {\bf \ac{RE}}\citep{siit}.
Okre\x9Claj\xB9c liczb\xEA przekszta\xB3ce\xF1 \ac{KB} w \ac{KN} m\xF3wimy o {\bf liczbie iteracji}, b\xB9d\x9F o {\bf pokoleniu \ac{AK}}. Aby przedstawi\xE6 przetwarzanie kom\xF3rkowe w czasie definiujemy {\bf chwil\xEA bie\xBF\xB9c\xB9} dla \ac{KB}, oraz o {\bf chwil\xEA nast\xEApn\xB9} dla \ac{KN}. By okre\x9Cli\xE6 punkt odniesienia w czasie u\xBFywamy poj\xEAcia {\bf chwila zero} przetwarzania dla okre\x9Clenia pocz\xB9tku symulacji\citep{siwy}.
@@ -60,7 +60,7 @@
\begin{trivlist}
\item $|\ac{RE}|$~--- liczno\x9C\xE6 zbioru \ac{RE}
\item $|A|$~--- moc alfabetu
-\item $|N|$~--- liczno\x9C\xE6 ci\xB9gu s\xB9siad\xF3w definiowanego przez \ac{N}
+\item $|N|$~--- d\xB3ugo\x9C\xE6 ci\xB9gu s\xB9siad\xF3w definiowanego przez \ac{N}
\end{trivlist}
Na podstawie wzoru \ref{equ:ain} mo\xBFna zauwa\xBFy\xE6, i\xBF ju\xBF dla stosunkowo ma\xB3ego alfabetu i s\xB9siedztwa, liczba mo\xBFliwych \ac{RE} przybiera stosunkowo du\xBF\xB9 warto\x9C\xE6. Np. dla s\xB9siedztwa w \ac{TAK} w postaci sze\x9Ccianu 3x3x3 (dwudziestu siedmiu s\xB9siad\xF3w) i binarnego alfabetu liczba mo\xBFliwych \ac{RE} wynosi $2^{27}$, czyli ponad 130 milion\xF3w. Konieczno\x9C\xE6 definiowana tak licznych zbior\xF3w \ac{RE} przez operatora jest nie do przyj\xEAcia, w zwi\xB9zku z tym korzysta si\xEA z innych format\xF3w.
@@ -150,16 +150,15 @@
\subsubsection{Zestawienie technik obrazowania przetwarzania kom\xF3rkowego}
\label{subsubsec:ztopk}
-W punkcie tym przedstawione zosta\xB3y podstawowe techniki obrazowania.
+W punkcie tym przedstawione zosta\xB3y niekt\xF3re techniki obrazowania.
-\paragraph{dST} Pierwsz\xB9 technik\xB9 jest diagram dST, czyli odk\xB3adanie kolejnych stan\xF3w (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}.
+\begin{description}
+ \item[dST] Pierwsz\xB9 technik\xB9 jest diagram dST, czyli odk\xB3adanie kolejnych stan\xF3w (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}.
+ \item[dTS] Jest to diagram koncepcyjnie podobny do diagramu dST. Polega na odk\xB3adaniu kolejnych stan\xF3w na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram dST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}.
+ \item[Plansza]Dla dwuwymiarowych \ac{AK} diagramy dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK}, mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a.
+ \item[Sze\x9Ccian] W przypadku \ac{TAK} najprostsz\xB9 technik\xB9 wizualizowania jest przyj\xEAcie sze\x9Ccianu jako kszta\xB3tu reprezentuj\xB9cego kom\xF3rk\xEA. Ten spos\xF3b wizualizowania jest intuicyjny dla obserwatora, lecz wprowadza pewne ograniczenia. Mianowicie w naturalny spos\xF3b sze\x9Ccian implikuje posiadanie dok\xB3adnie sze\x9Cciu s\xB9siad\xF3w umiejscowionych prostopadle do ka\xBFdej ze \x9Ccian. W og\xF3lno\x9Cci model \ac{TAK} mo\xBFe definiowa\xE6 inne s\xB9siedztwo.
+\end{description}
-\paragraph{dTS} Jest to diagram koncepcyjnie podobny do diagramu dST. Polega na odk\xB3adaniu kolejnych stan\xF3w na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram dST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}.
-
-\paragraph{plansza} Dla dwuwymiarowych \ac{AK} diagramy dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK}, mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a.
-
-\paragraph{sze\x9Ccian} W przypadku \ac{TAK} najprostsz\xB9 technik\xB9 wizualizowania jest przyj\xEAcie sze\x9Ccianu jako kszta\xB3tu reprezentuj\xB9cego kom\xF3rk\xEA. Ten spos\xF3b wizualizowania jest intuicyjny dla obserwatora, lecz wprowadza pewne ograniczenia. Mianowicie w naturalny spos\xF3b sze\x9Ccian implikuje posiadanie dok\xB3adnie sze\x9Cciu s\xB9siad\xF3w umiejscowionych prostopadle do ka\xBFdej ze \x9Ccian. W og\xF3lno\x9Cci model \ac{TAK} mo\xBFe definiowa\xE6 inne s\xB9siedztwo.
-
\subsubsection{Tryby wizualizowania konfiguracji bie\xBF\xB9cej}
\label{subsubsec:twy}
@@ -207,7 +206,7 @@
\subsubsection{Historia przetwarzania}
\label{subsubsec:hit}
-Przechowywanie ca\xB3ej historii przetwarzania pozwala na powr\xF3t do wcze\x9Cniejszych iteracji i dok\xB3adnej analizy, lub zmiany modelu lub danych \ac{AK}. W tym celu pakiet powinien udost\xEApni\xE6 p\xB3ynne poruszanie si\xEA wstecz historii iteracji, edycj\xEA \ac{KB} i~wznowienie symulacji od momentu zmiany.
+Przechowywanie ca\xB3ej historii przetwarzania pozwala na powr\xF3t do wcze\x9Cniejszych iteracji i dok\xB3adnej analizy, lub zmiany modelu albo danych \ac{AK}. W tym celu pakiet powinien udost\xEApni\xE6 p\xB3ynne poruszanie si\xEA wstecz historii iteracji, edycj\xEA \ac{KB} i~wznowienie symulacji od momentu zmiany.
W~sytuacji idealnej pakiet przechowywa\xB3by ca\xB3a histori\xEA przetwarzania, \xB3\xB9cznie z~rozga\xB3\xEAzieniami wynikaj\xB9cymi z~powrot\xF3w i~zmian, oraz p\xB3ynne poruszanie si\xEA po niej.
Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-16 15:25:32 UTC (rev 332)
@@ -10,7 +10,7 @@
Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach:
\begin{itemize}
\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w(KI, N, FL)
-\item zapis konfiguracji bie\xBF\xB9cej wraz z historiom przetwarzania do pojedy\xF1czego pliku
+\item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku
\item eksport konfiguracji do pliku LIF
\end{itemize}
@@ -38,7 +38,7 @@
\subsubsection{Edycja KI}
Pakiet daje mo\xBFliwo\x9C\xE6 edycji konfiguracji bie\xBF\xB9cej oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych(wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie obszar\xF3w).
-\subsubsection{Wymiana danych ze popularnymi pakietami}
+\subsubsection{Wymiana danych z popularnymi pakietami}
Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie "lif" i "life".
\subsubsection {Tryby obserwatora}
@@ -79,7 +79,7 @@
\item do czterech liczb ca\xB3kowitych: \textit{W K S n} - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w.
\item $W_{od} K_{od}, S_{od}$: pozycja odniesienia, od 0 (oznacza po\xB3o\xBFenie okna, lub miejsce zapisu jego wyniku).
\end{itemize}
-Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: \textit{s}=0, \textit{s}=1, ..., \textit{s}=\textit{S}-1.
+Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d-wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: \textit{s}=0, \textit{s}=1, ..., \textit{s}=\textit{S}-1.
\end{itemize}
\item konfiguracja inicjalna
Modified: trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-16 15:25:32 UTC (rev 332)
@@ -42,56 +42,14 @@
Dodatkowo zwr\xF3cono uwag\xEA na brak ikon/kursor\xF3w u\xB3atwiaj\xB9cych odgadni\xEAcie przeznaczenia poszczeg\xF3lnych tryb\xF3w i~opcji.
-\section{Wydajno\x9Cci}
-\label{sec:wyd}
-Testy wydajno\x9Cci zosta\xB3y przeprowadzone z uwagi na dwa aspekty. Po pierwsze podczas pierwszych pr\xF3b u\xBFytkowania pakietu zarejestrowano znaczy spadek pr\xEAdko\x9Cci generowania kolejnych iteracji przy w\xB3\xB9czonym trybie rejestrowania \ac{RE} (por. \ref{subsubsec:rel}). Po drugie przeci\xEAtne komputery osobiste, nie wykorzystywane do gier komputerowych, nie s\xB9 wyposa\xBFone w zaawansowane uk\xB3ady graficzne, wi\xEAc b\xB3\xEAdem by\xB3oby uzale\xBFnia\xE6 dzia\xB3anie programu od stosunkowo nowego standardu OpenGL 2.0. Standard ten w pe\xB3ni spe\xB3niaj\xB9 jedynie najnowsze uk\xB3ady graficzne.
+\subsection{Ocena wizualizacji pakietu}
+\label{subsec:owp}
+Ocena zaimplementowanego symulatora powsta\xB3a w wyniku por\xF3wnania z mo\xBFliwo\x9Cciami program\xF3w wymienionych w sekcji \ref{sec:pmz}.
-\subsection{Platforma testowa}
-\label{subsec:pte}
-Do test\xF3w wykorzystano komputer przeno\x9Cny firmy IBM, model T42. Parametry komputera testowego zebrane s\xB9 w~tabeli \ref{tab:ppt}.
+Dwie podstawowe cechy wyr\xF3\xBFniaj\xB9 zbudowany symulator na tle ju\xBF istniej\xB9cych, mianowicie wizualizacja \ac{TAK} oraz wizualizacja przetwarzania z \ac{OL}. Jak model \ac{TAK} jest znany w literaturze oraz podj\xEAto ju\xBF pr\xF3by obrazowania przetwarzania tr\xF3jwymiarowego, tak koncepcja \ac{OL} jest unikalna dla powsta\xB3ego pakietu programowego\citep{siim,siwy}.
-\begin{table}[!htp]
- \caption{Parametry platformy testowej\hspace*{\textwidth}}
- \centering
- \begin{tabular}{l @{ }@{ }@{ }@{ } p{20em}}
- Procesor & Intel Pentium M 1.7GHz \\
- \hline
- Pami\xEA\xE6 & DDR 1024MB \\
- \hline
- Karta graficzna & ATI Technologies Inc. Radeon Mobility M7 (Radeon Mobility 7500) \\
- \hline
- System operacyjny & PLD Linux 2.99 (Th)
- \end{tabular}
- \label{tab:ppt}
-\end{table}
+Ponadto interpretowanie wyniku przetwarzania, jako jedno z podstawowych wymaga\xF1 ,,idealnego symulatora'', zosta\xB3o zrealizowane w omawianym symulatorze najpe\xB3niej. Analizowane aplikacje zawieraj\xB9 elementy interpretacji, jednak s\xB9 one niejako uboczn\xB9 kwesti\xB9 i zwykle k\xB3opotliw\xB9 w obs\xB3udze przez operatora (np. definiowanie kolor\xF3w w plikach). Interpretowanie za pomoc\xB9 znak\xF3w nie zosta\xB3o zaimplementowane w \xBFadnym z testowanych symulator\xF3w. Tryb tekstowy jest r\xF3wnie\xBF cech\xB9 unikaln\xB9 zrealizowanego pakietu.
-Wszelkie tryby oszcz\xEAdzania energii zosta\xB3y wy\xB3\xB9czone. Komputer dzia\xB3a\xB3 z~maksymaln\xB9 mo\xBFliw\xB9 pr\xEAdko\x9Cci\xB9.
+Programy z sekcji \ref{sec:pmz} implementuj\xB9 tylko po jednym trybie wizualizowania. Zbudowany symulator oferuje 2 tryby graficzne (dla modeli \ac{TAK} i {DAK}) oraz dwa modele tekstowe (dla modeli \ac{DAK} oraz \ac{LAK}). Jedynie obrazowanie opartych na grafach \ac{AK}, oferowane przez program DDLab, nie zosta\xB3o zrealizowanie.
-\subsection{Procedura testowa}
-\label{subsec:pte}
-Wykorzystano scenariusze stworzone na potrzeby test\xF3w poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob}. Dla ka\xBFdego z~obiekt\xF3w przeprowadzono 10,000 iteracji. Kluczowym parametrem by\xB3 czas, mierzony osobno dla tryb\xF3w graficznych, jak i~tekstowych.
-
-\subsection{Automaty jednowymiarowe}
-\label{subsec:aje}
-
- \x8Crednia z wynik\xF3w wszystkich pomiar\xF3w wynosi dwie minuty i~czterdzie\x9Cci sekund. Zauwa\xBFalna jest wyra\x9Fna zale\xBFno\x9C\xE6 wydajno\x9Cci od liczby wierszy widocznych na ekranie. Spowodowane jest to znacznym nak\xB3adem potrzebnym do uaktualniania ca\xB3o\x9Cci tabeli, w~kt\xF3rej wy\x9Cwietlone s\xB9 kolejne iteracje. Z~ka\xBFdym nowym wierszem pojawiaj\xB9cym sie na ekranie przetwarzanie wyra\x9Fnie zwalnia, a\xBF dociera do momentu zape\xB3nienia ca\xB3ej dost\xEApnej przestrzeni. Nast\xEApnie przetwarzanie obywa si\xEA ze sta\xB3a pr\xEAdko\x9Cci\xB9, w~zasadzie niezale\xBFn\xB9 od ilo\x9Cci przechowywanych iteracji.
-
-Tryb rejestrowania \ac{RE} nie wp\xB3ywa znacz\xB9co na pr\xEAdko\x9C\xE6 oblicze\xF1 \ac{LAK} (w~por\xF3wnaniu do wielowymiarowych \ac{AK}).
-
-\subsection{Automaty dwuwymiarowe}
-\label{subsec:adw}
-
-Tryb tekstowy dwuwymiarowych \ac{AK} osi\xB9ga\xB3 podobne rezultaty do \ac{LAK}. Czasy nieco si\xEA wyd\xB3u\xBFy\xB3y i~wynios\xB3y \x9Crednio trzy minuty i dwadzie\x9Ccia dwie minuty. Spos\xF3b prezentacji danych, identyczny do trybu jednowymiarowego, charakteryzuje si\xEA tym samym spowalnianiem do momentu ca\xB3kowitego wype\xB3nienia ekranu.
-
-Graficzna reprezentacja \ac{DAK}, a~co za tym idzie wykorzystanie karty graficznej do uaktualniania stanu kom\xF3rek, zdecydowanie poprawia wyniki. Czas trwania eksperymentu spad\xB3 \x9Crednio o~$23\%$ i wyni\xF3s\xB3 dwie minuty i~czterdzie\x9Cci trzy sekundy, rekompensuj\xB9c tym samym przyrost oblicze\xF1 wynikaj\xB9cych z~dodatkowego wymiaru.
-
-Rejestrowanie \ac{RE} zauwa\xBFalnie wyd\xB3u\xBFa czas obliczania pojedynczej iteracji. Wynika to przede wszystkim ze znacznego wzrostu liczby \ac{RE} generowanych przez \ac{DAK}. Wp\xB3yw ten jest jednakowy zar\xF3wno dla trybu tekstowego, jak i~graficznego.
-
-\subsection{Automaty tr\xF3jwymiarowe}
-\label{subsec:atr}
-
-W~przypadku \ac{TAK} dost\xEApny jest jedynie tryb graficzny. Osi\xB9gni\xEAte wyniki s\xB9 do\x9C\xE6 kontrowersyjne i~sprzeczne na pierwszy rzut oka. \x8Credni czas trwania eksperymentu nie przekracza\xB3 trzech minut i~dziesi\xEAciu sekund. Wydawa\xE6 by si\xEA mog\xB3o, i\xBF wprowadzenie trzeciego wymiaru zdecydowanie pogorszy osi\xB9gi programu. Jednak\xBFe nowoczesne karty graficzne optymalizowane s\xB9 pod wzgl\xEAdem przetwarzania grafiki 3D. Nowe rozwi\xB9zania sprz\xEAtowe i~algorytmiczne nie s\xB9 wykorzystywane do wy\x9Cwietlania grafiki 2D. Zysk wynikaj\xB9cy z~ukierunkowania uk\xB3ad\xF3w graficznych jest szczeg\xF3lnie widoczny, gdy podczas przeprowadzania testu wydajno\x9Cci opr\xF3cz prowadzenia oblicze\xF1 dodatkowo manipulujemy wy\x9Cwietlaniem. Powoduje to znaczny spadek og\xF3lnej wydajno\x9Cci w~trybie 2D, podczas gdy tryb tr\xF3jwymiarowy w~zasadzie nie jest widocznie spowolniony, a~jedyne op\xF3\x9Fnienia wynikaj\xB9 raczej z~procedur obs\xB3ugi ruch\xF3w myszki, ni\xBF z~samych manipulacji.
-
-Natomiast tworzenie listy \ac{RE} w~bardzo znacz\xB9cy spos\xF3b pogarsza osi\xB9gi. Pr\xEAdko\x9C\xE6 spada do $25\%$. Przetwarzanie zwalania do tego stopnia, i\xBF wyra\x9Fnie wida\xE6 przerwy mi\xEAdzy ka\xBFd\xB9 pojedyncz\xB9 iteracj\xB9. Liczba \ac{RE} tworzona w~modelu \ac{TAK} stanowi znaczn\xB9 cz\xEA\x9C\xE6 og\xF3lnej liczby kom\xF3rek do obliczenia.
-
% vim:fencs=cp1250:fenc=cp1250
Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-15 13:19:51 UTC (rev 331)
+++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-16 15:25:32 UTC (rev 332)
@@ -43,7 +43,7 @@
\item About - informacje o pakiecie
\end{itemize}
\subsubsection{Help}
-Menu "Help" posiada jedynie pozycje "About wy\x9Cwietlaj\xB9c\xB9 informacje o pakiecie.
+Menu "Help" posiada jedynie pozycj\xEA "About" wy\x9Cwietlaj\xB9c\xB9 informacje o pakiecie.
\subsection{Zak\xB3adki funkcji}
Zak\xB3adki funkcji umo\xBFliwiaj\xB9 nawigacj\xEA pomi\xEAdzy poszczeg\xF3lnymi trybami wizualizacji, a tak\xBFe pomi\xEAdzy narz\xEAdziami funkcji lokalnej, s\xB9siedztwa oraz symboli.
@@ -55,7 +55,7 @@
\item 1D Text View - widok symulatora LAK
\item Symbols - interpretacja symboli
\item Function - tabela funkcji lokalnej
-\item Neigborhood - widok s\xB9siedztwa
+\item Neighbourhood - widok s\xB9siedztwa
\end{itemize}
Podczas pracy symulatora w modelu TAK zak\xB3adki "2D Text View" oraz "2D Graphics View" przedstawiaj\xB9 przekr\xF3j sze\x9Ccianu KB w p\xB3aszczy\x9Fnie XY. przesuni\xEAcie p\xB3aszczyzny okre\x9Clone jest polem "Z Plane" w oknie "2D Text Tools".
@@ -124,11 +124,11 @@
Przyciski "Colors", "Symbols", "Char" odpowiadaj\xB9 funkcjonalno\x9Cci\xB9 odpowiednim przyciskom w oknie "2D Text Tools".
Przycisk "Clear" umo\xBFliwia usuni\xEAcie poprzednich chwil czasowych z tabeli historii widoku 1D.
-\subsubsection{Neigborhood Tools}
+\subsubsection{Neighbourhood Tools}
\begin{figure}[!h]
\centering
\includegraphics[width=3cm]{chap6/NTools}
-\caption{Neigborhood Tools}
+\caption{Neighbourhood Tools}
\end{figure}
Zestaw narz\xEAdzi do konfigurowania s\xB9siedztwa:
\begin{itemize}
@@ -164,7 +164,7 @@
Aby oddali\xE6/przybli\xBFy\xE6 widok nale\xBFy u\xBFy\xE6 \x9Crodkowego k\xF3\xB3ka myszy.
\subsection{Edycja konfiguracji bie\xBF\xB9cej}
-Edycja konfiguracji mo\xBFliwa jedynie w trybie obserwatora globalnego po za\xB3adowaniu wszystkich element\xF3w modelu(FL, N, KI).
+Edycja konfiguracji mo\xBFliwa jest jedynie w try...
[truncated message content] |
|
From: <dhu...@us...> - 2007-02-16 19:32:49
|
Revision: 334
http://svn.sourceforge.net/qcell/?rev=334&view=rev
Author: dhubleizh
Date: 2007-02-16 11:32:47 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
- automatic symbol table adding and removing
Modified Paths:
--------------
trunk/qcell/baseheaders/simulationwindow.h
trunk/qcell/basesources/Renderer.cpp
trunk/qcell/basesources/simulationwindow.cpp
trunk/qcell/visgui/MainWindow.cpp
Modified: trunk/qcell/baseheaders/simulationwindow.h
===================================================================
--- trunk/qcell/baseheaders/simulationwindow.h 2007-02-16 18:13:07 UTC (rev 333)
+++ trunk/qcell/baseheaders/simulationwindow.h 2007-02-16 19:32:47 UTC (rev 334)
@@ -126,6 +126,7 @@
Ui::simulationWindowClass ui;
void back1DTable();
+ int getSymbolCount();
protected slots:
void zPlaneChange(int i);
@@ -140,9 +141,6 @@
void symbolTableChange(int row, int column);
void symbolTableColorChange(int row, int column);
- void addSymbol(void);
- void removeSymbol(void);
-
void perspectiveUpdate(int mode);
void GridView2DEdit(int row, int column);
@@ -174,6 +172,8 @@
public slots:
void NViewModeChange(int mode);
void NViewMaskSet(int maskx, int masky, int maskz);
+ void addSymbol(void);
+ void removeSymbol();
};
Modified: trunk/qcell/basesources/Renderer.cpp
===================================================================
--- trunk/qcell/basesources/Renderer.cpp 2007-02-16 18:13:07 UTC (rev 333)
+++ trunk/qcell/basesources/Renderer.cpp 2007-02-16 19:32:47 UTC (rev 334)
@@ -373,13 +373,13 @@
baseSymbols.primitiveID = 0;
baseSymbols.textSybmol = '.';
addSymbol(baseSymbols);
- setSymbolColor(0, QColor(0,0,0));
+ setSymbolColor(0, QColor(255,255,255));
baseSymbols.hide = 0;
baseSymbols.primitiveID = 0;
baseSymbols.textSybmol = '*';
addSymbol(baseSymbols);
- setSymbolColor(1, QColor(255,255,255));
+ setSymbolColor(1, QColor(0,0,255));
translation.resize(3);
rotation.resize(3);
Modified: trunk/qcell/basesources/simulationwindow.cpp
===================================================================
--- trunk/qcell/basesources/simulationwindow.cpp 2007-02-16 18:13:07 UTC (rev 333)
+++ trunk/qcell/basesources/simulationwindow.cpp 2007-02-16 19:32:47 UTC (rev 334)
@@ -1055,7 +1055,20 @@
SYMBOL symbol;
symbol.primitiveID = 0;
symbol.hide = 0;
- symbol.textSybmol = '1';
+ int symbol_nr = renderer->getSymbolCount();
+
+ if (symbol_nr < 10)
+ {
+ symbol.textSybmol = QChar((int)'0' + symbol_nr);
+ }
+ else if (symbol_nr > 9 && symbol_nr < 'Z'-'A')
+ {
+ symbol.textSybmol = QChar((int)'A' + (symbol_nr-10));
+ }
+ else if (symbol_nr > 9 && symbol_nr > (int)('Z'-'A') && symbol_nr < (int)('z'-'a'))
+ {
+ symbol.textSybmol = QChar((int)'a' + (symbol_nr - 10));
+ }
renderer->addSymbol(symbol);
renderer->setSymbolColor(renderer->getSymbolCount()-1, QColor(255, 255, 255));
@@ -1669,3 +1682,8 @@
table1DMem->removeRow(table1DMem->rowCount()-1);
}
+int simulationWindow::getSymbolCount()
+{
+ return symbolTable->rowCount();
+}
+
Modified: trunk/qcell/visgui/MainWindow.cpp
===================================================================
--- trunk/qcell/visgui/MainWindow.cpp 2007-02-16 18:13:07 UTC (rev 333)
+++ trunk/qcell/visgui/MainWindow.cpp 2007-02-16 19:32:47 UTC (rev 334)
@@ -1560,6 +1560,26 @@
sw->getFunctionTable()->setFunctionPointer(local_function);
//************************************************
+ int alph_size = local_function->getAlphabetSize();
+ int diff = alph_size - sw->getSymbolCount();
+ SYMBOL sym;
+ if (diff > 0)
+ {
+ for (int i = 0; i < diff; i++)
+ {
+ sym.textSybmol = QChar(sw->getSymbolCount()+ 1 + i);
+ sw->addSymbol();
+ }
+ }
+ else if (diff < 0)
+ {
+ diff = abs(diff);
+ for(int i = 0; i < diff; i++)
+ {
+ sw->removeSymbol();
+ }
+ }
+
// Unlock stuff
sw->ui.tabWidget->setTabEnabled(5, 1);
sw->ui.functionTab->setEnabled(true);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <le...@us...> - 2007-02-16 18:13:15
|
Revision: 333
http://svn.sourceforge.net/qcell/?rev=333&view=rev
Author: lessm
Date: 2007-02-16 10:13:07 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
-neigborhood bug resolved
-examples added
Modified Paths:
--------------
trunk/qcell/basesources/neigborhoodtools.cpp
Added Paths:
-----------
trunk/qcell/bin/colision.CAE
trunk/qcell/bin/colision_example.CAE
trunk/qcell/bin/mov2ways.CAE
trunk/qcell/bin/speed12.CAE
Modified: trunk/qcell/basesources/neigborhoodtools.cpp
===================================================================
--- trunk/qcell/basesources/neigborhoodtools.cpp 2007-02-16 15:25:32 UTC (rev 332)
+++ trunk/qcell/basesources/neigborhoodtools.cpp 2007-02-16 18:13:07 UTC (rev 333)
@@ -18,18 +18,18 @@
connect(ui.maskValue, SIGNAL(valueChanged(int)), SLOT(maskValueSet(int)));
- connect(ui.AddNeigborButton, SIGNAL(clicked(bool)), SLOT(addNeigbor(void)));
- connect(ui.DelNeigborButton, SIGNAL(clicked(bool)), SLOT(delNeigbor(void)));
+// connect(ui.AddNeigborButton, SIGNAL(clicked(bool)), SLOT(addNeigbor(void)));
+// connect(ui.DelNeigborButton, SIGNAL(clicked(bool)), SLOT(delNeigbor(void)));
mx = my = mz = 0;
- ui.neigborTable->setColumnWidth(0, 35);
+// ui.neigborTable->setColumnWidth(0, 35);
selectedNaigbour = 0;
- connect(ui.neigborTable, SIGNAL(cellClicked(int, int)), SLOT(tableChange(int, int)));
+// connect(ui.neigborTable, SIGNAL(cellClicked(int, int)), SLOT(tableChange(int, int)));
- connect(ui.ClearSelectedButton, SIGNAL(clicked(bool)), SLOT(clearButtonPress()));
- connect(ui.SetNButton, SIGNAL(clicked(bool)), SLOT(setButtonPress()));
- connect(ui.SetZeroButton, SIGNAL(clicked(bool)), SLOT(setZeroButtonPress()));
+// connect(ui.ClearSelectedButton, SIGNAL(clicked(bool)), SLOT(clearButtonPress()));
+// connect(ui.SetNButton, SIGNAL(clicked(bool)), SLOT(setButtonPress()));
+// connect(ui.SetZeroButton, SIGNAL(clicked(bool)), SLOT(setZeroButtonPress()));
}
NeigborhoodTools::~NeigborhoodTools()
@@ -160,23 +160,23 @@
void NeigborhoodTools::setNeigborNumber(int num)
{
- ui.neigborTable->setRowCount(num);
+// ui.neigborTable->setRowCount(num);
}
void NeigborhoodTools::addNeigbor(void)
{
- if(ui.neigborTable->rowCount()<maxNaigbours)
- {
- ui.neigborTable->setRowCount(ui.neigborTable->rowCount()+1);
- }
+// if(ui.neigborTable->rowCount()<maxNaigbours)
+// {
+// ui.neigborTable->setRowCount(ui.neigborTable->rowCount()+1);
+// }
}
void NeigborhoodTools::delNeigbor(void)
{
- if(ui.neigborTable->rowCount()>1)
- {
- ui.neigborTable->setRowCount(ui.neigborTable->rowCount()-1);
- }
+// if(ui.neigborTable->rowCount()>1)
+// {
+// ui.neigborTable->setRowCount(ui.neigborTable->rowCount()-1);
+// }
}
void NeigborhoodTools::tableChange(int row, int column)
Added: trunk/qcell/bin/colision.CAE
===================================================================
--- trunk/qcell/bin/colision.CAE (rev 0)
+++ trunk/qcell/bin/colision.CAE 2007-02-16 18:13:07 UTC (rev 333)
@@ -0,0 +1,71 @@
+<Experiment iterations="8" >
+<Neighbourhood>
+ <Neighbour x="0" />
+ <Neighbour x="-1" />
+ <Neighbour x="1" />
+</Neighbourhood>
+<LocalFunction ArgumentsNumber="3" InputAlphabet="4" >
+ <Sums>
+0;
+</Sums>
+ <Values FillValue="-1" >
+0+0,0=0;
+0+1,0=1;
+0+2,0=0;
+0+3,0=1;
+0+0,1=0;
+0+2,1=0;
+0+0,2=2;
+0+1,2=3;
+0+3,2=3;
+0+0,3=2;
+0+1,3=3;
+0+3,3=3;
+1+0,0=0;
+1+0,2=3;
+2+0,0=0;
+2+1,0=3;
+3+0,0=0;
+3+3,0=0;
+3+0,3=0;
+</Values>
+</LocalFunction>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >4;5;6;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >29;32;</Section>
+ <Section value="2" >35;38;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >30;33;</Section>
+ <Section value="2" >34;37;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >31;</Section>
+ <Section value="2" >36;</Section>
+ <Section value="3" >33;34;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" />
+ <Section value="3" >32;35;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >33;36;</Section>
+ <Section value="2" >31;34;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >37;</Section>
+ <Section value="2" >30;</Section>
+ <Section value="3" >33;34;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >35;38;</Section>
+ <Section value="2" >29;32;</Section>
+</CalculationData>
+<CalculationData width="41" fill="0" DataType="char" >
+ <Section value="1" >36;39;</Section>
+ <Section value="2" >28;31;</Section>
+</CalculationData>
+</Experiment>
Added: trunk/qcell/bin/colision_example.CAE
===================================================================
--- trunk/qcell/bin/colision_example.CAE (rev 0)
+++ trunk/qcell/bin/colision_example.CAE 2007-02-16 18:13:07 UTC (rev 333)
@@ -0,0 +1,14 @@
+<Experiment iterations="0" >
+<Neighbourhood>
+ <Neighbour x="0" />
+ <Neighbour x="-1" />
+ <Neighbour x="1" />
+</Neighbourhood>
+<LocalFunction ArgumentsNumber="3" InputAlphabet="4" >
+ <Sums>
+0;
+</Sums>
+ <Values FillValue="-1" />
+</LocalFunction>
+<CalculationData width="30" fill="0" DataType="char" />
+</Experiment>
Added: trunk/qcell/bin/mov2ways.CAE
===================================================================
--- trunk/qcell/bin/mov2ways.CAE (rev 0)
+++ trunk/qcell/bin/mov2ways.CAE 2007-02-16 18:13:07 UTC (rev 333)
@@ -0,0 +1,36 @@
+<Experiment iterations="8" >
+<Neighbourhood>
+ <Neighbour x="0" />
+ <Neighbour x="-1" />
+ <Neighbour x="1" />
+</Neighbourhood>
+<LocalFunction ArgumentsNumber="3" InputAlphabet="4" >
+ <Sums>
+0;
+</Sums>
+ <Values FillValue="-1" >
+0+0,0=0;
+0+1,0=1;
+0+2,0=0;
+0+0,1=0;
+0+0,2=2;
+1+0,0=0;
+2+0,0=0;
+</Values>
+</LocalFunction>
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" />
+<CalculationData width="30" fill="0" DataType="char" >
+ <Section value="1" >11;</Section>
+ <Section value="2" >16;</Section>
+</CalculationData>
+<CalculationData width="30" fill="0" DataType="char" >
+ <Section value="1" >12;</Section>
+ <Section value="2" >15;</Section>
+</CalculationData>
+</Experiment>
Added: trunk/qcell/bin/speed12.CAE
===================================================================
--- trunk/qcell/bin/speed12.CAE (rev 0)
+++ trunk/qcell/bin/speed12.CAE 2007-02-16 18:13:07 UTC (rev 333)
@@ -0,0 +1,2542 @@
+<Experiment iterations="720" >
+<Neighbourhood>
+ <Neighbour x="0" />
+ <Neighbour x="-1" />
+ <Neighbour x="1" />
+</Neighbourhood>
+<LocalFunction ArgumentsNumber="3" InputAlphabet="4" >
+ <Sums>
+0;
+</Sums>
+ <Values FillValue="-1" >
+0+0,0=0;
+0+1,0=0;
+0+2,0=0;
+0+0,1=0;
+0+0,2=1;
+1+0,0=2;
+2+0,0=0;
+</Values>
+</LocalFunction>
+<CalculationData width="11" fill="0" DataType="char" />
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >10;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >9;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >8;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >7;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >6;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >5;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >4;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >3;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >2;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >1;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" />
+ <Section value="2" >0;</Section>
+</CalculationData>
+<CalculationData width="11" fill="0" DataType="char" >
+ <Section value="1" >10;</S...
[truncated message content] |
|
From: <dhu...@us...> - 2007-02-16 21:53:31
|
Revision: 335
http://svn.sourceforge.net/qcell/?rev=335&view=rev
Author: dhubleizh
Date: 2007-02-16 13:53:26 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
- REAK an ZIFW saving
Modified Paths:
--------------
trunk/qcell/baseheaders/LocalFunction.h
trunk/qcell/parsers/FQT/FQTParserPlugin.cpp
trunk/qcell/parsers/REAK/REAKParserPlugin.cpp
trunk/qcell/parsers/ZIFW/ZIFWParserPlugin.cpp
trunk/qcell/visgui/MainWindow.cpp
Modified: trunk/qcell/baseheaders/LocalFunction.h
===================================================================
--- trunk/qcell/baseheaders/LocalFunction.h 2007-02-16 19:32:47 UTC (rev 334)
+++ trunk/qcell/baseheaders/LocalFunction.h 2007-02-16 21:53:26 UTC (rev 335)
@@ -89,7 +89,6 @@
void valueTableFromString(QString *string);
void sumArgumentsFromString(QString *string);
- QVector<int> valueTranslation(int value);
QString valueFormTableToString(int index);
@@ -119,6 +118,7 @@
//
void setScript(QString scriptData);
+ QVector<int> valueTranslation(int value);
// method set type of function (normally function type is set automatically when setSumArguments, setProductArguments, setSwitchFunction or setScript methosd ar used)
void setFunctonType(LocalFunction::FUNCTION_TYPE type);
Modified: trunk/qcell/parsers/FQT/FQTParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/FQT/FQTParserPlugin.cpp 2007-02-16 19:32:47 UTC (rev 334)
+++ trunk/qcell/parsers/FQT/FQTParserPlugin.cpp 2007-02-16 21:53:26 UTC (rev 335)
@@ -356,22 +356,34 @@
QDomDocument doc;
doc.setContent(content);
+ qDebug(content.toAscii());
QDomElement root = doc.firstChild().toElement();
- root.removeChild(root.firstChild());
+ if (root.firstChild().nodeName() == "LocalFunction")
+ {
+ root.removeChild(root.firstChild());
+ }
QDomElement values = root.firstChild().toElement();
int free_args = lf.getNumberOfArgs() - lf.getSummedArguments().count();
int num_combinations = pow(lf.getAlphabetSize(), free_args);
QChar fill_value = values.attribute("FillValue")[0];
int index = 0;
QString values_txt = values.text();
+ qDebug() << values_txt;
values_txt.chop(1);
+qDebug() << values_txt;
values_txt.remove(0, 1);
+qDebug() << values_txt;
foreach(QString sum_line, values_txt.split(";\n"))
{
+ qDebug() << sum_line;
QStringList tokens = sum_line.split('=');
+ qDebug() << tokens;
QStringList sum_and_free = tokens[0].split('+');
+ qDebug() << sum_and_free;
QString sum = sum_and_free.takeFirst();
+ qDebug() << sum;
QStringList free = sum_and_free.first().split(',');
+ qDebug() << free;
if (!fqt.contains(sum))
{
Modified: trunk/qcell/parsers/REAK/REAKParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/REAK/REAKParserPlugin.cpp 2007-02-16 19:32:47 UTC (rev 334)
+++ trunk/qcell/parsers/REAK/REAKParserPlugin.cpp 2007-02-16 21:53:26 UTC (rev 335)
@@ -246,150 +246,50 @@
QByteArray REAKParserPlugin::parseOut(QString content, const QString type, const QString subtype)
{
/// @todo Write parsing out of REAK - this WILL be hard
-// // The resulting array to write to file by the end backend
-// QByteArray result;
-// // Generic class for parsing out XMLString
-// Neighbourhood N;
-// QVector<NContainer> neighbours;
-// // Number of dimensions
-// int dimensions;
-// // Maximum found dimensions
-// int max_x, max_y,max_z, min_x, min_y, min_z;
-// // Needs to be set to 1, as there needs to be at least one of each
-// // dimensions for this implementation
-// max_x = max_y = max_z = min_x = min_y = min_z = 0;
-//
-// if(!N.fromXmlString(&content))
-// {
-// qDebug(tr("Unable to parse out internal data!").toAscii());
-// }
-//
-// dimensions = N.getDimension();
-//
-// // Filetype and dimensions declaration
-// result.append('N');
-// result.append(QString::number(dimensions));
-// result.append('\n');
-//
-// // Sizes of dimensions
-// // Get out neighbours vector
-// neighbours = N.getNeighbours();
-// //Determin the maximum of each supported dimension
-//
-// for(int i = 0; i < neighbours.size(); i++)
-// {
-// if(neighbours[i].x > max_x)
-// {
-// max_x = neighbours[i].x;
-// }
-// else if (neighbours[i].x < min_x)
-// {
-// min_x = neighbours[i].x;
-// }
-// if(dimensions > 1)
-// {
-// if(neighbours[i].y > max_y)
-// {
-// max_y = neighbours[i].y;
-// }
-// else if (neighbours[i].y < min_y)
-// {
-// min_y = neighbours[i].y;
-// }
-// }
-// else
-// {
-// neighbours[i].y = 0;
-// }
-// if(dimensions == 3)
-// {
-// if (neighbours[i].z > max_z)
-// {
-// max_z = neighbours[i].z;
-// }
-// else if (neighbours[i].z < min_z)
-// {
-// min_z = neighbours[i].z;
-// }
-// }
-// else
-// {
-// neighbours[i].z = 0;
-// }
-// }
-//
-// // Construct a space filled with '-'
-// // At least one is needed always, even when the rest of dimensions is 0,
-// // that's why the +1 everywhere
-// QVector<QVector<QVector<char> > > table((abs(min_z)+max_z+1),
-// QVector<QVector<char> >((abs(min_y)+max_y+1),
-// QVector<char>((abs(min_x)+max_x+1), '-')
-// )
-// );
-//
-// // Adding dimensions declaration to file
-// if (dimensions == 1)
-// {
-// result.append('0' + table[0][0].size());
-// }
-// else
-// {
-// result.append('0' + table[0].size());
-// result.append(' ');
-// result.append('0' + table[0][0].size());
-//
-// if (dimensions == 3)
-// {
-// result.append(' ');
-// result.append('0' + table.size());
-// }
-// }
-// // and number of neighbours
-// result.append(' ');
-// result.append(QString::number(N.getNeighbourNumber()));
-// result.append('\n');
-//
-// // Adding zero points coordinates
-// int zero_x, zero_y, zero_z;
-// zero_x = abs(min_x);
-// zero_y = abs(min_y);
-// zero_z = abs(min_z);
-//
-// result.append('0' + zero_x);
-// if(dimensions > 1)
-// {
-// result.append(' ');
-// result.append('0' + zero_y);
-// }
-// if (dimensions == 3)
-// {
-// result.append(' ');
-// result.append('0' + zero_z);
-// }
-// result.append('\n');
-//
-// // Filling default space with proper points
-// for(int i = 0; i < neighbours.size(); i++)
-// {
-// table[zero_z+neighbours[i].z][zero_y+neighbours[i].y][zero_x+neighbours[i].x] = ('0' + i + 1);
-// }
-//
-// // Creating proper result format
-// for (int z = 0; z < table.size(); z++)
-// {
-// for (int y = 0; y < table[z].size(); y++)
-// {
-// for ( int x = 0; x < table[z][y].size(); x++)
-// {
-// result.append(table[z][y][x]);
-// }
-//
-// result.append('\n');
-// }
-// }
-//
- return QByteArray();
+ // The resulting array to write to file by the end backend
+ QByteArray result;
+ // Generic class for parsing out XMLString
+ LocalFunction lf;
+ if(!lf.fromXmlString(&content))
+ {
+ qDebug(tr("Unable to parse out internal data!").toAscii());
+ return QByteArray();
+ }
+ else if (lf.getFunctonType() != LocalFunction::SWITCH)
+ {
+ qDebug(tr("This format cannot store this function type.")
+ .toAscii()
+ );
+
+ return QByteArray();
+ }
+
+ // Filetype
+ result.append("REAK\n");
+ // Function specyfication
+ result.append(QString("%1 %2\n")
+ .arg(lf.getAlphabetSize())
+ .arg(lf.getNumberOfArgs())
+ );
+
+ QVector<int> tmp_args;
+ for (int i = 0; i < lf.getValueTableSize(); i++)
+ {
+ if (lf.getValueAt(i) > -1)
+ {
+ tmp_args = lf.valueTranslation(i);
+ tmp_args.remove(0, 1);
+ for (int j = 0; j < tmp_args.count(); j++)
+ {
+ result.append(QString::number(tmp_args[j]));
+ }
+
+ result.append(QString(" %1\n").arg(lf.getValueAt(i)));
+ }
+ }
+
+ return result;
}
Q_EXPORT_PLUGIN2(REAKFileParser, REAKParserPlugin)
Modified: trunk/qcell/parsers/ZIFW/ZIFWParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/ZIFW/ZIFWParserPlugin.cpp 2007-02-16 19:32:47 UTC (rev 334)
+++ trunk/qcell/parsers/ZIFW/ZIFWParserPlugin.cpp 2007-02-16 21:53:26 UTC (rev 335)
@@ -6,7 +6,6 @@
* Last Update: czw lis 30 14:19:22 CET 2006
*/
#include "ZIFWParserPlugin.h"
-#include <QDebug>
ZIFWParserPlugin::ZIFWParserPlugin()
{
@@ -260,48 +259,72 @@
QByteArray ZIFWParserPlugin::parseOut(QString content, const QString type, const QString subtype)
{
-// // The resulting array to write to file by the backend
-// QByteArray result;
-// // Generic type to parse XML request
-// LocalFunction lf;
-//
-// // Check if we can use the generic type from the XML string
-// if(!lf.fromXmlString(&content));
-// {
-// qDebug(tr("Unable to parse out internal data!").toAscii());
-//
-// return QByteArray();
-// }
-//
-// // Header
-// result.append("ZIFW");
-// result.append('\n');
-//
-// // Second line
-// // Num of args
-// result.append(lf.getNumberOfArgs());
-// result.append(' ');
-// // Num of arg values
-// result.append(lf.getAlphabetSize());
-// result.append(' ');
-// // Num of return values
-// result.append(lf.getMaxReturnValues());
-// result.append(' ');
-// result.append('\n');
-//
-// // Third line - summed args
-// foreach(int arg, lf.getSummedArguments())
-// {
-// result.append(QString::number(arg)[0].toAscii());
-// result.append(',');
-// }
-// // Get rid of the penging `,'
-// result.chop(1);
-// result.append('\n');
-//
-// /// @todo Main function writing
-//
- return QByteArray();
+ // The resulting array to write to file by the backend
+ QByteArray result;
+ // Generic type to parse XML request
+ LocalFunction lf;
+ // Multi Map to store this shit
+ QMultiMap<int, QVector<int> > function;
+
+ // Check if we can use the generic type from the XML string
+ if(!lf.fromXmlString(&content))
+ {
+ qDebug(tr("Unable to parse out internal data!").toAscii());
+
+ return QByteArray();
+ }
+ else if (lf.getFunctonType() != LocalFunction::SWITCH)
+ {
+ qDebug(tr("This format cannot store this function type.")
+ .toAscii()
+ );
+
+ return QByteArray();
+ }
+
+ // Filetype
+ result.append("REAK\n");
+ // Function specyfication
+ result.append(QString("%1 %2\n")
+ .arg(lf.getAlphabetSize())
+ .arg(lf.getNumberOfArgs())
+ );
+
+ // Map all the values to a map indexed by return value
+ QVector<int> tmp_args;
+ for (int i = 0; i < lf.getValueTableSize(); i++)
+ {
+ if (lf.getValueAt(i) > -1)
+ {
+ tmp_args = lf.valueTranslation(i);
+ tmp_args.remove(0, 1);
+ function.insert(lf.getValueAt(i), tmp_args);
+ }
+ }
+
+ QVector<int> added_values;
+ foreach(int key, function.keys())
+ {
+ if (added_values.contains(key))
+ {
+ continue;
+ }
+ added_values.append(key);
+ result.append(QString("%1: {").arg(key));
+ foreach(QVector<int> v, function.values(key))
+ {
+ for (int i = 0; i < v.count(); i++)
+ {
+ result.append(QString::number(v[i]));
+ }
+ result.append(',');
+ }
+ // Remove pending ','
+ result.chop(1);
+ result.append("}\n");
+ }
+
+ return result;
}
Q_EXPORT_PLUGIN2(ZIFWFileParser, ZIFWParserPlugin)
Modified: trunk/qcell/visgui/MainWindow.cpp
===================================================================
--- trunk/qcell/visgui/MainWindow.cpp 2007-02-16 19:32:47 UTC (rev 334)
+++ trunk/qcell/visgui/MainWindow.cpp 2007-02-16 21:53:26 UTC (rev 335)
@@ -652,6 +652,12 @@
}
else if (type == "LocalFunction")
{
+// if (local_function->getFunctonType() != LocalFunction::SUM_AND_SWITCH)
+// {
+// qDebug(tr("Saving non FQT function is not implemented.").toAscii());
+// return;
+// }
+
if (!function_parsers.contains(subtype))
{
qDebug(tr("The file extensions %1 isn't supported.")
@@ -1096,14 +1102,23 @@
filters << filter;
}
fd.setFilters(filters);
- fd.setDefaultSuffix("FQT");
+// fd.setDefaultSuffix("FQT");
if(fd.exec())
{
if(!fd.selectedFiles().isEmpty())
{
- callSaver(fd.selectedFiles().first(), "LocalFunction");
-
+ QString extension = fd.selectedFilter();
+ extension.remove(QRegExp(".*\\(\\*\\."));
+ extension.chop(1);
+ if (!fd.selectedFiles().first().endsWith(extension))
+ {
+ callSaver(fd.selectedFiles().first().append('.').append(extension), "LocalFunction");
+ }
+ else
+ {
+ callSaver(fd.selectedFiles().first(), "LocalFunction");
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <le...@us...> - 2007-02-16 22:20:55
|
Revision: 337
http://svn.sourceforge.net/qcell/?rev=337&view=rev
Author: lessm
Date: 2007-02-16 14:20:54 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
- colors changed
Modified Paths:
--------------
trunk/qcell/basesources/Renderer.cpp
trunk/qcell/basesources/functiontable.cpp
trunk/qcell/parsers/N/NParserPlugin.cpp
trunk/qcell/visgui/MainWindow.cpp
Modified: trunk/qcell/basesources/Renderer.cpp
===================================================================
--- trunk/qcell/basesources/Renderer.cpp 2007-02-16 22:06:58 UTC (rev 336)
+++ trunk/qcell/basesources/Renderer.cpp 2007-02-16 22:20:54 UTC (rev 337)
@@ -75,7 +75,7 @@
glNewList(greed, GL_COMPILE);
glBegin(GL_LINES);
- glColor3f(1.0f, 1.0f, 1.0f);
+ glColor3f(0.0f, 0.0f, 0.0f);
float bias = 1.0f;
float mx = -storage.getSizeX(), my = -storage.getSizeY(), mz = -storage.getSizeZ();
@@ -167,7 +167,7 @@
void Renderer::initializeGL()
{
- qglClearColor(QColor(0,0,0));
+ qglClearColor(QColor(255,255,255));
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
Modified: trunk/qcell/basesources/functiontable.cpp
===================================================================
--- trunk/qcell/basesources/functiontable.cpp 2007-02-16 22:06:58 UTC (rev 336)
+++ trunk/qcell/basesources/functiontable.cpp 2007-02-16 22:20:54 UTC (rev 337)
@@ -75,6 +75,7 @@
}
// Edit proper cell
+ ui.functionTable->scrollToItem(item);
ui.functionTable->editItem(item);
}
Modified: trunk/qcell/parsers/N/NParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/N/NParserPlugin.cpp 2007-02-16 22:06:58 UTC (rev 336)
+++ trunk/qcell/parsers/N/NParserPlugin.cpp 2007-02-16 22:20:54 UTC (rev 337)
@@ -6,7 +6,7 @@
* Last Update: wto 28 lis 2006 11:23:55 CET
*/
#include "NParserPlugin.h"
-
+#include <QDebug>
NParserPlugin::NParserPlugin()
{
supported_parser_types << "Neighbourhood";
@@ -15,6 +15,8 @@
QString NParserPlugin::realParser(const QByteArray content, const QString type, const QString subtype)
{
+ QString costam(content);
+ qDebug() << content;
QStringList result;
// Used to doublecheck the format of a line in file
QRegExp format;
Modified: trunk/qcell/visgui/MainWindow.cpp
===================================================================
--- trunk/qcell/visgui/MainWindow.cpp 2007-02-16 22:06:58 UTC (rev 336)
+++ trunk/qcell/visgui/MainWindow.cpp 2007-02-16 22:20:54 UTC (rev 337)
@@ -466,7 +466,8 @@
}
file_content = file.readAll();
- file.close();
+ qDebug()<<file_content;
+ file.close();
if (type == "Neighbourhood")
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dhu...@us...> - 2007-02-16 23:32:23
|
Revision: 341
http://svn.sourceforge.net/qcell/?rev=341&view=rev
Author: dhubleizh
Date: 2007-02-16 15:32:16 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
- in LIF import fill table with 0 instead -1
- maximum symbol adding bug fixed
Modified Paths:
--------------
trunk/qcell/baseheaders/simulationwindow.h
trunk/qcell/basesources/simulationwindow.cpp
trunk/qcell/parsers/Life-1.05/Life105ParserPlugin.cpp
Modified: trunk/qcell/baseheaders/simulationwindow.h
===================================================================
--- trunk/qcell/baseheaders/simulationwindow.h 2007-02-16 22:37:59 UTC (rev 340)
+++ trunk/qcell/baseheaders/simulationwindow.h 2007-02-16 23:32:16 UTC (rev 341)
@@ -91,7 +91,6 @@
int cycleTable, maxTime, usedSpace;
char *storeCurentTable;
CalculationData localView;
- bool localViewFlag;
QList< QVector<int> > dataToCopy;
@@ -161,6 +160,7 @@
public:
void storeSelectedData(void);
void pasteStoredData(void);
+ bool localViewFlag;
//for test only
FunctionTable * getFunctionTable(void);
@@ -168,6 +168,8 @@
void setSelectedCell(QVector<int> coord);
void setSelectedFunctionRule(int index);
void clearView();
+ int getLocalObserversHistoryCount();
+ CalculationData* getLocalObserversCD(int iteration);
public slots:
void NViewModeChange(int mode);
Modified: trunk/qcell/basesources/simulationwindow.cpp
===================================================================
--- trunk/qcell/basesources/simulationwindow.cpp 2007-02-16 22:37:59 UTC (rev 340)
+++ trunk/qcell/basesources/simulationwindow.cpp 2007-02-16 23:32:16 UTC (rev 341)
@@ -639,6 +639,8 @@
item->setCheckState(Qt::Unchecked);
}
}
+
+ symbolTable->scrollToBottom();
}
void simulationWindow::changeSymbol(int x, int y, int z)
@@ -1064,14 +1066,19 @@
{
symbol.textSybmol = QChar((int)'0' + symbol_nr);
}
- else if (symbol_nr > 9 && symbol_nr < 'Z'-'A')
+ else if (symbol_nr > 9 && symbol_nr < (int)('Z'-'A') + 10 + 1)
{
symbol.textSybmol = QChar((int)'A' + (symbol_nr-10));
}
- else if (symbol_nr > 9 && symbol_nr > (int)('Z'-'A') && symbol_nr < (int)('z'-'a'))
+ else if (symbol_nr > 9 && symbol_nr > (int)('Z'-'A') && symbol_nr < (int)('z'-'a') + 10 + (int)('Z'-'A') + 2)
{
- symbol.textSybmol = QChar((int)'a' + (symbol_nr - 10));
+ symbol.textSybmol = QChar((int)'a' + (symbol_nr - 10 - (int)('Z' - 'A') - 1));
}
+ else
+ {
+ qDebug(tr("To many symbols - cannot add.").toAscii());
+ return;
+ }
renderer->addSymbol(symbol);
renderer->setSymbolColor(renderer->getSymbolCount()-1, symbol.color);
@@ -1690,3 +1697,14 @@
return symbolTable->rowCount();
}
+int simulationWindow::getLocalObserversHistoryCount()
+{
+ return loclaViewMemory.count();
+}
+
+CalculationData* simulationWindow::getLocalObserversCD(int iteration)
+{
+ return &loclaViewMemory[iteration];
+}
+
+
Modified: trunk/qcell/parsers/Life-1.05/Life105ParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/Life-1.05/Life105ParserPlugin.cpp 2007-02-16 22:37:59 UTC (rev 340)
+++ trunk/qcell/parsers/Life-1.05/Life105ParserPlugin.cpp 2007-02-16 23:32:16 UTC (rev 341)
@@ -53,6 +53,7 @@
summed_args.append(i);
}
lf.setSumArguments(summed_args);
+ lf.setDefaultValue(0);
// Basic sanity check
lines = QString(content).split('\n');
@@ -107,21 +108,21 @@
if (conway.exactMatch(lines[0]))
{
- if (lf.getValueTableSize() == 0)
- {
+// if (lf.getValueTableSize() == 0)
+// {
lf.setFunctionValue(1, 2, QVector<int>(1, 1));
lf.setFunctionValue(1, 3, QVector<int>(1, 1));
lf.setFunctionValue(1, 3, QVector<int>(1, 0));
- }
- else
- {
- qDebug(tr("Double function declaration in line %1")
- .arg(line_nr)
- .toAscii()
- );
-
- return QString();
- }
+// }
+// else
+// {
+// qDebug(tr("Double function declaration in line %1")
+// .arg(line_nr)
+// .toAscii()
+// );
+//
+// return QString();
+// }
}
else if (rule.exactMatch(lines[0]))
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <le...@us...> - 2007-02-17 03:22:37
|
Revision: 345
http://svn.sourceforge.net/qcell/?rev=345&view=rev
Author: lessm
Date: 2007-02-16 19:22:36 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/qcell/baseheaders/Renderer.h
trunk/qcell/baseheaders/simulationwindow.h
trunk/qcell/basesources/Renderer.cpp
trunk/qcell/basesources/simulationwindow.cpp
trunk/qcell/bin/examples/dynamicmodelexample.FQT
trunk/qcell/bin/observer.png
trunk/qcell/doc/licenciate_thesis/chap2/Thumbs.db
trunk/qcell/doc/licenciate_thesis/chap6/NTools.png
trunk/qcell/doc/licenciate_thesis/chap6/iter1.png
trunk/qcell/doc/licenciate_thesis/chap6/iter2.png
trunk/qcell/doc/licenciate_thesis/chap6/iter3.png
trunk/qcell/doc/licenciate_thesis/chap6/iter4.png
trunk/qcell/doc/licenciate_thesis/chap6/mainwindow.png
trunk/qcell/doc/licenciate_thesis/chap6/observer.png
trunk/qcell/doc/licenciate_thesis/chap6/step.png
trunk/qcell/parsers/N/NParserPlugin.cpp
trunk/qcell/visgui/MainWindow.cpp
Modified: trunk/qcell/baseheaders/Renderer.h
===================================================================
--- trunk/qcell/baseheaders/Renderer.h 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/baseheaders/Renderer.h 2007-02-17 03:22:36 UTC (rev 345)
@@ -69,7 +69,9 @@
QVector<int> maskValue;
bool showValues;
- const char** texture;
+ //QString texture;
+ //const char** texture;
+ QPixmap texture;
bool force2D;
Modified: trunk/qcell/baseheaders/simulationwindow.h
===================================================================
--- trunk/qcell/baseheaders/simulationwindow.h 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/baseheaders/simulationwindow.h 2007-02-17 03:22:36 UTC (rev 345)
@@ -170,6 +170,8 @@
void clearView();
int getLocalObserversHistoryCount();
CalculationData* getLocalObserversCD(int iteration);
+ void setLocalObserverMem(QList<CalculationData *> cdList);
+ void forceLOdataReset(void);
public slots:
void NViewModeChange(int mode);
Modified: trunk/qcell/basesources/Renderer.cpp
===================================================================
--- trunk/qcell/basesources/Renderer.cpp 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/basesources/Renderer.cpp 2007-02-17 03:22:36 UTC (rev 345)
@@ -138,7 +138,10 @@
{
glEnable(GL_TEXTURE_2D);
observerTexture = bindTexture(texture, GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+// glGenTextures(1, &observerTexture);
+// glBindTexture(GL_TEXTURE_2D, observerTexture);
+// gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 256, 256, GL_RGB, GL_BYTE, texture);
+// glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
@@ -655,13 +658,14 @@
glDisable(GL_DEPTH_TEST);
glBlendFunc(GL_ONE, GL_ONE);
- glEnable(GL_BLEND);
+ //glEnable(GL_BLEND);
glDisable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
+ glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
glCallList(observer);
glDisable(GL_TEXTURE_2D);
glEnable(GL_LIGHTING);
- glDisable(GL_BLEND);
+ //glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
glPopMatrix();
}
@@ -865,8 +869,8 @@
void Renderer::setTexture(const char *xpm[])
{
-// texture = QPixmap(xpm);
- texture = xpm;
+ texture = QPixmap(xpm);
+// texture = xpm;
}
void Renderer::setOrtoPerspective(bool noClear)
Modified: trunk/qcell/basesources/simulationwindow.cpp
===================================================================
--- trunk/qcell/basesources/simulationwindow.cpp 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/basesources/simulationwindow.cpp 2007-02-17 03:22:36 UTC (rev 345)
@@ -662,7 +662,7 @@
ui.view3D->setLayout(new QVBoxLayout(ui.view3D));
renderer = new Renderer(ui.view3D);
- renderer->setTexture((const char**)observer_xpm);
+ renderer->setTexture((const char **)observer_xpm);
ui.view3D->layout()->addWidget(renderer);
// Not needed anymore
// renderer->resize(ui.view3D->width(), ui.view3D->height());
@@ -1707,4 +1707,25 @@
return &loclaViewMemory[iteration];
}
+void simulationWindow::setLocalObserverMem(QList<CalculationData *> cdList)
+{
+ if(cdList.size()>loclaViewMemory.size())
+ {
+ for(int i=0;i<loclaViewMemory.size();++i)
+ loclaViewMemory[loclaViewMemory.size() - 1 - i] = *(cdList[cdList.size()-1 - i]);
+ usedSpace = loclaViewMemory.size();
+ cycleTable = loclaViewMemory.size()-1;
+ }
+ else
+ {
+
+ }
+}
+
+void simulationWindow::forceLOdataReset(void)
+{
+ usedSpace = 0;
+ localView = *getStorage();
+ cycleTable = 0;
+}
Modified: trunk/qcell/bin/examples/dynamicmodelexample.FQT
===================================================================
--- trunk/qcell/bin/examples/dynamicmodelexample.FQT 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/bin/examples/dynamicmodelexample.FQT 2007-02-17 03:22:36 UTC (rev 345)
@@ -1,4 +1,4 @@
FQT
3 4 4
1
-
+0: ----------------
Modified: trunk/qcell/bin/observer.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap2/Thumbs.db
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/NTools.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/iter1.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/iter2.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/iter3.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/iter4.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/mainwindow.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/observer.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/step.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/parsers/N/NParserPlugin.cpp
===================================================================
--- trunk/qcell/parsers/N/NParserPlugin.cpp 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/parsers/N/NParserPlugin.cpp 2007-02-17 03:22:36 UTC (rev 345)
@@ -15,8 +15,6 @@
QString NParserPlugin::realParser(const QByteArray content, const QString type, const QString subtype)
{
- QString costam(content);
- qDebug() << content;
QStringList result;
// Used to doublecheck the format of a line in file
QRegExp format;
Modified: trunk/qcell/visgui/MainWindow.cpp
===================================================================
--- trunk/qcell/visgui/MainWindow.cpp 2007-02-17 03:19:21 UTC (rev 344)
+++ trunk/qcell/visgui/MainWindow.cpp 2007-02-17 03:22:36 UTC (rev 345)
@@ -448,6 +448,7 @@
if(!fd.selectedFiles().isEmpty())
{
callParser(fd.selectedFiles().first(), "World");
+ sw->forceLOdataReset();
}
}
@@ -828,6 +829,7 @@
iteration--;
calc = *(data[iteration]);
data.removeLast();
+ // sw->setLocalObserverMem(data);
sw->back1DTable();
}
@@ -1216,6 +1218,7 @@
// Do the actual serializing
deserialize(file.readAll());
+ sw->forceLOdataReset();
file.close();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <le...@us...> - 2007-02-17 07:01:35
|
Revision: 348
http://svn.sourceforge.net/qcell/?rev=348&view=rev
Author: lessm
Date: 2007-02-16 23:01:25 -0800 (Fri, 16 Feb 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/qcell/doc/licenciate_thesis/chap6/bTools.png
trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
trunk/qcell/doc/licenciate_thesis/make.bat
trunk/qcell/doc/licenciate_thesis/thesis.tex
trunk/qcell/visgui/MainWindow.cpp
Modified: trunk/qcell/doc/licenciate_thesis/chap6/bTools.png
===================================================================
(Binary files differ)
Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 06:16:27 UTC (rev 347)
+++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 07:01:25 UTC (rev 348)
@@ -1,4 +1,4 @@
-\usepackage{subfigure}
+%\usepackage{subfigure}
\chapterauthor{Leszek Smentek}{Obs\xB3uga programu}
\label{chap:iop}
@@ -271,8 +271,13 @@
\begin{figure}[htbp]
\begin{center}
\mbox{
- \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter1}}} \quad
- \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter2}}}
+% \subfigure {
+\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter1}}
+%}
+ \quad
+% \subfigure {
+\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter2}}
+%}
}
\caption{Przebieg symulacji dla t=0,1}
\label{fig:psdt01}
@@ -282,8 +287,13 @@
\begin{figure}[htbp]
\begin{center}
\mbox{
- \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter3}}} \quad
- \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter4}}}
+% \subfigure {
+\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter3}}
+%}
+ \quad
+% \subfigure {
+\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter4}}
+%}
}
\caption{Przebieg symulacji dla t=2,3}
\label{fig:psdt23}
@@ -352,4 +362,5 @@
Do przedstawienia poni\xBFszego eksperymentu u\xBFyto plik\xF3w "propagation1d.FQT", "propagation1d.N", "propagation1d.KI" znajduj\xB9cych si\xEA w katalogu "examples".
+
% vim:fencs=cp1250:fenc=cp1250
Modified: trunk/qcell/doc/licenciate_thesis/make.bat
===================================================================
--- trunk/qcell/doc/licenciate_thesis/make.bat 2007-02-17 06:16:27 UTC (rev 347)
+++ trunk/qcell/doc/licenciate_thesis/make.bat 2007-02-17 07:01:25 UTC (rev 348)
@@ -19,7 +19,7 @@
%compile%
echo Bibliography
-bibtex %file
+bibtex %file%
echo After bibliography linking
%compile%
Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex
===================================================================
--- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-02-17 06:16:27 UTC (rev 347)
+++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-02-17 07:01:25 UTC (rev 348)
@@ -24,7 +24,7 @@
% Bibliografia w zewn\xEAtrznym pliku z~Bibtexa
\nocite{*}
-\bibliographystyle{kupa}
+\bibliographystyle{plplain}
\bibliography{thesis}
\appendix
Modified: trunk/qcell/visgui/MainWindow.cpp
===================================================================
--- trunk/qcell/visgui/MainWindow.cpp 2007-02-17 06:16:27 UTC (rev 347)
+++ trunk/qcell/visgui/MainWindow.cpp 2007-02-17 07:01:25 UTC (rev 348)
@@ -23,7 +23,7 @@
setDockNestingEnabled(true);
baseDock = new BetterDockWidget(this);
BaseTools* basetools = new BaseTools(baseDock);
- baseDock->setWindowTitle(tr("Base tools"));
+ baseDock->setWindowTitle(tr("Basic tools"));
baseDock->setWidget(basetools);
baseDock->setDisabled(true);
((QVBoxLayout*)baseDock->layout())->addStretch();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|