From a426a16b575bca4f0e483275162dc22e3a5c5f6a Mon Sep 17 00:00:00 2001 From: imns1ght Date: Sun, 19 May 2019 01:26:12 -0300 Subject: [PATCH] Add the basic structure, input operations, etc... --- Makefile | 72 + docs/html/_r_e_a_d_m_e_8md.html | 104 + docs/html/annotated.html | 110 + docs/html/annotated_dup.js | 5 + docs/html/bc_s.png | Bin 0 -> 676 bytes docs/html/bdwn.png | Bin 0 -> 147 bytes docs/html/class_cell-members.html | 105 + docs/html/class_cell.html | 118 ++ docs/html/class_life-members.html | 111 ++ docs/html/class_life.html | 291 +++ docs/html/class_life.js | 9 + docs/html/classes.html | 114 ++ docs/html/closed.png | Bin 0 -> 132 bytes .../dir_4fef79e7177ba769987a8da36c892c5f.html | 112 ++ .../dir_4fef79e7177ba769987a8da36c892c5f.js | 5 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 112 ++ .../dir_68267d1309a1af8e8297ef4c3efbcdba.js | 5 + .../dir_d44c64559bbebec7f509842c48db8b23.html | 112 ++ .../dir_d44c64559bbebec7f509842c48db8b23.js | 5 + docs/html/doc.png | Bin 0 -> 746 bytes docs/html/doxygen.css | 1764 +++++++++++++++++ docs/html/doxygen.png | Bin 0 -> 3779 bytes docs/html/dynsections.js | 127 ++ docs/html/files.html | 116 ++ docs/html/files_dup.js | 6 + docs/html/folderclosed.png | Bin 0 -> 616 bytes docs/html/folderopen.png | Bin 0 -> 597 bytes docs/html/functions.html | 140 ++ docs/html/functions_func.html | 113 ++ docs/html/functions_vars.html | 128 ++ docs/html/globals.html | 121 ++ docs/html/globals_func.html | 112 ++ docs/html/globals_vars.html | 110 + docs/html/index.html | 103 + docs/html/input_8cpp.html | 199 ++ docs/html/input_8cpp.js | 5 + docs/html/input_8cpp_source.html | 116 ++ docs/html/input_8d.html | 106 + docs/html/input_8d_source.html | 105 + docs/html/input_8h.html | 203 ++ docs/html/input_8h.js | 5 + docs/html/input_8h_source.html | 107 + docs/html/jquery.js | 87 + docs/html/life_8h.html | 193 ++ docs/html/life_8h.js | 9 + docs/html/life_8h_source.html | 123 ++ docs/html/main_8cpp.html | 163 ++ docs/html/main_8cpp.js | 4 + docs/html/main_8cpp_source.html | 108 + docs/html/main_8d.html | 106 + docs/html/main_8d_source.html | 106 + docs/html/md__r_e_a_d_m_e.html | 105 + docs/html/menu.js | 50 + docs/html/menudata.js | 39 + docs/html/nav_f.png | Bin 0 -> 153 bytes docs/html/nav_g.png | Bin 0 -> 95 bytes docs/html/nav_h.png | Bin 0 -> 98 bytes docs/html/navtree.css | 146 ++ docs/html/navtree.js | 540 +++++ docs/html/navtreedata.js | 54 + docs/html/navtreeindex0.js | 54 + docs/html/open.png | Bin 0 -> 123 bytes docs/html/pages.html | 108 + docs/html/resize.js | 136 ++ docs/html/search/all_0.html | 30 + docs/html/search/all_0.js | 5 + docs/html/search/all_1.html | 30 + docs/html/search/all_1.js | 5 + docs/html/search/all_2.html | 30 + docs/html/search/all_2.js | 5 + docs/html/search/all_3.html | 30 + docs/html/search/all_3.js | 4 + docs/html/search/all_4.html | 30 + docs/html/search/all_4.js | 4 + docs/html/search/all_5.html | 30 + docs/html/search/all_5.js | 4 + docs/html/search/all_6.html | 30 + docs/html/search/all_6.js | 8 + docs/html/search/all_7.html | 30 + docs/html/search/all_7.js | 5 + docs/html/search/all_8.html | 30 + docs/html/search/all_8.js | 7 + docs/html/search/all_9.html | 30 + docs/html/search/all_9.js | 5 + docs/html/search/all_a.html | 30 + docs/html/search/all_a.js | 5 + docs/html/search/all_b.html | 30 + docs/html/search/all_b.js | 5 + docs/html/search/all_c.html | 30 + docs/html/search/all_c.js | 4 + docs/html/search/all_d.html | 30 + docs/html/search/all_d.js | 4 + docs/html/search/classes_0.html | 30 + docs/html/search/classes_0.js | 4 + docs/html/search/classes_1.html | 30 + docs/html/search/classes_1.js | 4 + docs/html/search/classes_2.html | 30 + docs/html/search/classes_2.js | 4 + docs/html/search/close.png | Bin 0 -> 273 bytes docs/html/search/files_0.html | 30 + docs/html/search/files_0.js | 6 + docs/html/search/files_1.html | 30 + docs/html/search/files_1.js | 4 + docs/html/search/files_2.html | 30 + docs/html/search/files_2.js | 5 + docs/html/search/files_3.html | 30 + docs/html/search/files_3.js | 4 + docs/html/search/functions_0.html | 30 + docs/html/search/functions_0.js | 4 + docs/html/search/functions_1.html | 30 + docs/html/search/functions_1.js | 4 + docs/html/search/functions_2.html | 30 + docs/html/search/functions_2.js | 5 + docs/html/search/functions_3.html | 30 + docs/html/search/functions_3.js | 4 + docs/html/search/functions_4.html | 30 + docs/html/search/functions_4.js | 4 + docs/html/search/functions_5.html | 30 + docs/html/search/functions_5.js | 4 + docs/html/search/mag_sel.png | Bin 0 -> 465 bytes docs/html/search/nomatches.html | 12 + docs/html/search/pages_0.html | 30 + docs/html/search/pages_0.js | 4 + docs/html/search/search.css | 271 +++ docs/html/search/search.js | 814 ++++++++ docs/html/search/search_l.png | Bin 0 -> 567 bytes docs/html/search/search_m.png | Bin 0 -> 158 bytes docs/html/search/search_r.png | Bin 0 -> 553 bytes docs/html/search/searchdata.js | 30 + docs/html/search/variables_0.html | 30 + docs/html/search/variables_0.js | 5 + docs/html/search/variables_1.html | 30 + docs/html/search/variables_1.js | 5 + docs/html/search/variables_2.html | 30 + docs/html/search/variables_2.js | 4 + docs/html/search/variables_3.html | 30 + docs/html/search/variables_3.js | 4 + docs/html/search/variables_4.html | 30 + docs/html/search/variables_4.js | 4 + docs/html/search/variables_5.html | 30 + docs/html/search/variables_5.js | 5 + docs/html/search/variables_6.html | 30 + docs/html/search/variables_6.js | 4 + docs/html/search/variables_7.html | 30 + docs/html/search/variables_7.js | 5 + docs/html/splitbar.png | Bin 0 -> 314 bytes .../html/struct_life_1_1_options-members.html | 114 ++ docs/html/struct_life_1_1_options.html | 292 +++ docs/html/struct_life_1_1_options.js | 11 + docs/html/sync_off.png | Bin 0 -> 853 bytes docs/html/sync_on.png | Bin 0 -> 845 bytes docs/html/tab_a.png | Bin 0 -> 142 bytes docs/html/tab_b.png | Bin 0 -> 169 bytes docs/html/tab_h.png | Bin 0 -> 177 bytes docs/html/tab_s.png | Bin 0 -> 184 bytes docs/html/tabs.css | 1 + docs/jogo_da_vida.pdf | Bin 0 -> 272762 bytes docs/man/man3/Cell.3 | 20 + docs/man/man3/Life.3 | 87 + docs/man/man3/Life_Options.3 | 106 + docs/man/man3/README.md.3 | 11 + ...1ght_workspace_cellular_automaton_build_.3 | 18 + ...ht_workspace_cellular_automaton_include_.3 | 18 + ...ns1ght_workspace_cellular_automaton_src_.3 | 18 + docs/man/man3/input.cpp.3 | 78 + docs/man/man3/input.d.3 | 11 + docs/man/man3/input.h.3 | 86 + docs/man/man3/life.h.3 | 73 + docs/man/man3/main.cpp.3 | 66 + docs/man/man3/main.d.3 | 11 + docs/man/man3/md__r_e_a_d_m_e.3 | 6 + example.dat | 13 + include/life.h | 288 +++ src/main.cpp | 51 + 174 files changed, 10959 insertions(+) create mode 100644 Makefile create mode 100644 docs/html/_r_e_a_d_m_e_8md.html create mode 100644 docs/html/annotated.html create mode 100644 docs/html/annotated_dup.js create mode 100644 docs/html/bc_s.png create mode 100644 docs/html/bdwn.png create mode 100644 docs/html/class_cell-members.html create mode 100644 docs/html/class_cell.html create mode 100644 docs/html/class_life-members.html create mode 100644 docs/html/class_life.html create mode 100644 docs/html/class_life.js create mode 100644 docs/html/classes.html create mode 100644 docs/html/closed.png create mode 100644 docs/html/dir_4fef79e7177ba769987a8da36c892c5f.html create mode 100644 docs/html/dir_4fef79e7177ba769987a8da36c892c5f.js create mode 100644 docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js create mode 100644 docs/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 docs/html/dir_d44c64559bbebec7f509842c48db8b23.js create mode 100644 docs/html/doc.png create mode 100644 docs/html/doxygen.css create mode 100644 docs/html/doxygen.png create mode 100644 docs/html/dynsections.js create mode 100644 docs/html/files.html create mode 100644 docs/html/files_dup.js create mode 100644 docs/html/folderclosed.png create mode 100644 docs/html/folderopen.png create mode 100644 docs/html/functions.html create mode 100644 docs/html/functions_func.html create mode 100644 docs/html/functions_vars.html create mode 100644 docs/html/globals.html create mode 100644 docs/html/globals_func.html create mode 100644 docs/html/globals_vars.html create mode 100644 docs/html/index.html create mode 100644 docs/html/input_8cpp.html create mode 100644 docs/html/input_8cpp.js create mode 100644 docs/html/input_8cpp_source.html create mode 100644 docs/html/input_8d.html create mode 100644 docs/html/input_8d_source.html create mode 100644 docs/html/input_8h.html create mode 100644 docs/html/input_8h.js create mode 100644 docs/html/input_8h_source.html create mode 100644 docs/html/jquery.js create mode 100644 docs/html/life_8h.html create mode 100644 docs/html/life_8h.js create mode 100644 docs/html/life_8h_source.html create mode 100644 docs/html/main_8cpp.html create mode 100644 docs/html/main_8cpp.js create mode 100644 docs/html/main_8cpp_source.html create mode 100644 docs/html/main_8d.html create mode 100644 docs/html/main_8d_source.html create mode 100644 docs/html/md__r_e_a_d_m_e.html create mode 100644 docs/html/menu.js create mode 100644 docs/html/menudata.js create mode 100644 docs/html/nav_f.png create mode 100644 docs/html/nav_g.png create mode 100644 docs/html/nav_h.png create mode 100644 docs/html/navtree.css create mode 100644 docs/html/navtree.js create mode 100644 docs/html/navtreedata.js create mode 100644 docs/html/navtreeindex0.js create mode 100644 docs/html/open.png create mode 100644 docs/html/pages.html create mode 100644 docs/html/resize.js create mode 100644 docs/html/search/all_0.html create mode 100644 docs/html/search/all_0.js create mode 100644 docs/html/search/all_1.html create mode 100644 docs/html/search/all_1.js create mode 100644 docs/html/search/all_2.html create mode 100644 docs/html/search/all_2.js create mode 100644 docs/html/search/all_3.html create mode 100644 docs/html/search/all_3.js create mode 100644 docs/html/search/all_4.html create mode 100644 docs/html/search/all_4.js create mode 100644 docs/html/search/all_5.html create mode 100644 docs/html/search/all_5.js create mode 100644 docs/html/search/all_6.html create mode 100644 docs/html/search/all_6.js create mode 100644 docs/html/search/all_7.html create mode 100644 docs/html/search/all_7.js create mode 100644 docs/html/search/all_8.html create mode 100644 docs/html/search/all_8.js create mode 100644 docs/html/search/all_9.html create mode 100644 docs/html/search/all_9.js create mode 100644 docs/html/search/all_a.html create mode 100644 docs/html/search/all_a.js create mode 100644 docs/html/search/all_b.html create mode 100644 docs/html/search/all_b.js create mode 100644 docs/html/search/all_c.html create mode 100644 docs/html/search/all_c.js create mode 100644 docs/html/search/all_d.html create mode 100644 docs/html/search/all_d.js create mode 100644 docs/html/search/classes_0.html create mode 100644 docs/html/search/classes_0.js create mode 100644 docs/html/search/classes_1.html create mode 100644 docs/html/search/classes_1.js create mode 100644 docs/html/search/classes_2.html create mode 100644 docs/html/search/classes_2.js create mode 100644 docs/html/search/close.png create mode 100644 docs/html/search/files_0.html create mode 100644 docs/html/search/files_0.js create mode 100644 docs/html/search/files_1.html create mode 100644 docs/html/search/files_1.js create mode 100644 docs/html/search/files_2.html create mode 100644 docs/html/search/files_2.js create mode 100644 docs/html/search/files_3.html create mode 100644 docs/html/search/files_3.js create mode 100644 docs/html/search/functions_0.html create mode 100644 docs/html/search/functions_0.js create mode 100644 docs/html/search/functions_1.html create mode 100644 docs/html/search/functions_1.js create mode 100644 docs/html/search/functions_2.html create mode 100644 docs/html/search/functions_2.js create mode 100644 docs/html/search/functions_3.html create mode 100644 docs/html/search/functions_3.js create mode 100644 docs/html/search/functions_4.html create mode 100644 docs/html/search/functions_4.js create mode 100644 docs/html/search/functions_5.html create mode 100644 docs/html/search/functions_5.js create mode 100644 docs/html/search/mag_sel.png create mode 100644 docs/html/search/nomatches.html create mode 100644 docs/html/search/pages_0.html create mode 100644 docs/html/search/pages_0.js create mode 100644 docs/html/search/search.css create mode 100644 docs/html/search/search.js create mode 100644 docs/html/search/search_l.png create mode 100644 docs/html/search/search_m.png create mode 100644 docs/html/search/search_r.png create mode 100644 docs/html/search/searchdata.js create mode 100644 docs/html/search/variables_0.html create mode 100644 docs/html/search/variables_0.js create mode 100644 docs/html/search/variables_1.html create mode 100644 docs/html/search/variables_1.js create mode 100644 docs/html/search/variables_2.html create mode 100644 docs/html/search/variables_2.js create mode 100644 docs/html/search/variables_3.html create mode 100644 docs/html/search/variables_3.js create mode 100644 docs/html/search/variables_4.html create mode 100644 docs/html/search/variables_4.js create mode 100644 docs/html/search/variables_5.html create mode 100644 docs/html/search/variables_5.js create mode 100644 docs/html/search/variables_6.html create mode 100644 docs/html/search/variables_6.js create mode 100644 docs/html/search/variables_7.html create mode 100644 docs/html/search/variables_7.js create mode 100644 docs/html/splitbar.png create mode 100644 docs/html/struct_life_1_1_options-members.html create mode 100644 docs/html/struct_life_1_1_options.html create mode 100644 docs/html/struct_life_1_1_options.js create mode 100644 docs/html/sync_off.png create mode 100644 docs/html/sync_on.png create mode 100644 docs/html/tab_a.png create mode 100644 docs/html/tab_b.png create mode 100644 docs/html/tab_h.png create mode 100644 docs/html/tab_s.png create mode 100644 docs/html/tabs.css create mode 100644 docs/jogo_da_vida.pdf create mode 100644 docs/man/man3/Cell.3 create mode 100644 docs/man/man3/Life.3 create mode 100644 docs/man/man3/Life_Options.3 create mode 100644 docs/man/man3/README.md.3 create mode 100644 docs/man/man3/_home_imns1ght_workspace_cellular_automaton_build_.3 create mode 100644 docs/man/man3/_home_imns1ght_workspace_cellular_automaton_include_.3 create mode 100644 docs/man/man3/_home_imns1ght_workspace_cellular_automaton_src_.3 create mode 100644 docs/man/man3/input.cpp.3 create mode 100644 docs/man/man3/input.d.3 create mode 100644 docs/man/man3/input.h.3 create mode 100644 docs/man/man3/life.h.3 create mode 100644 docs/man/man3/main.cpp.3 create mode 100644 docs/man/man3/main.d.3 create mode 100644 docs/man/man3/md__r_e_a_d_m_e.3 create mode 100644 example.dat create mode 100644 include/life.h create mode 100644 src/main.cpp diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b4c88c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,72 @@ +CXX ?= g++ + +# path # +SRC_PATH = src +BUILD_PATH = build +BIN_PATH = $(BUILD_PATH)/bin + +# executable # +BIN_NAME = glife + +# extensions # +SRC_EXT = cpp + +# code lists # +# Find all source files in the source directory, sorted by +# most recently modified +SOURCES = $(shell find $(SRC_PATH) -name '*.$(SRC_EXT)' | sort -k 1nr | cut -f2-) +# Set the object file names, with the source directory stripped +# from the path, and the build path prepended in its place +OBJECTS = $(SOURCES:$(SRC_PATH)/%.$(SRC_EXT)=$(BUILD_PATH)/%.o) +# Set the dependency files that will be used to add header dependencies +DEPS = $(OBJECTS:.o=.d) + +# flags # +COMPILE_FLAGS = -std=c++11 -Wall -Wextra -g +INCLUDES = -I include/ -I /usr/local/include +# Space-separated pkg-config libraries used by this project +LIBS = + +.PHONY: default_target +default_target: release + +.PHONY: release +release: export CXXFLAGS := $(CXXFLAGS) $(COMPILE_FLAGS) +release: dirs + @$(MAKE) all + +.PHONY: dirs +dirs: + @echo "Creating directories" + @mkdir -p $(dir $(OBJECTS)) + @mkdir -p $(BIN_PATH) + +.PHONY: clean +clean: + @echo "Deleting $(BIN_NAME) symlink" + @$(RM) $(BIN_NAME) + @echo "Deleting directories" + @$(RM) -r $(BUILD_PATH) + @$(RM) -r $(BIN_PATH) + +# checks the executable and symlinks to the output +.PHONY: all +all: $(BIN_PATH)/$(BIN_NAME) + @echo "Making symlink: $(BIN_NAME) -> $<" + @$(RM) $(BIN_NAME) + @ln -s $(BIN_PATH)/$(BIN_NAME) $(BIN_NAME) + +# Creation of the executable +$(BIN_PATH)/$(BIN_NAME): $(OBJECTS) + @echo "Linking: $@" + $(CXX) $(OBJECTS) -o $@ + +# Add dependency files, if they exist +-include $(DEPS) + +# Source file rules +# After the first compilation they will be joined with the rules from the +# dependency files to provide header dependencies +$(BUILD_PATH)/%.o: $(SRC_PATH)/%.$(SRC_EXT) + @echo "Compiling: $< -> $@" + $(CXX) $(CXXFLAGS) $(INCLUDES) -MP -MMD -c $< -o $@ \ No newline at end of file diff --git a/docs/html/_r_e_a_d_m_e_8md.html b/docs/html/_r_e_a_d_m_e_8md.html new file mode 100644 index 0000000..e8aac50 --- /dev/null +++ b/docs/html/_r_e_a_d_m_e_8md.html @@ -0,0 +1,104 @@ + + + + + + + +Cellular Automaton: README.md File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
README.md File Reference
+
+
+
+
+ + + + diff --git a/docs/html/annotated.html b/docs/html/annotated.html new file mode 100644 index 0000000..d02bbcc --- /dev/null +++ b/docs/html/annotated.html @@ -0,0 +1,110 @@ + + + + + + + +Cellular Automaton: Class List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + + +
 CCellStatus of the cell
 CLife
 COptionsSave command line arguments
+
+
+
+ + + + diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js new file mode 100644 index 0000000..bb20c5a --- /dev/null +++ b/docs/html/annotated_dup.js @@ -0,0 +1,5 @@ +var annotated_dup = +[ + [ "Cell", "class_cell.html", null ], + [ "Life", "class_life.html", "class_life" ] +]; \ No newline at end of file diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +Cellular Automaton: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Cell Member List
+
+
+ +

This is the complete list of members for Cell, including all inherited members.

+
+
+ + + + diff --git a/docs/html/class_cell.html b/docs/html/class_cell.html new file mode 100644 index 0000000..9f5e6c0 --- /dev/null +++ b/docs/html/class_cell.html @@ -0,0 +1,118 @@ + + + + + + + +Cellular Automaton: Cell Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Cell Class Reference
+
+
+ +

Status of the cell. + More...

+ +

#include <life.h>

+

Detailed Description

+

Status of the cell.

+ +

Definition at line 15 of file life.h.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/html/class_life-members.html b/docs/html/class_life-members.html new file mode 100644 index 0000000..49e1036 --- /dev/null +++ b/docs/html/class_life-members.html @@ -0,0 +1,111 @@ + + + + + + + +Cellular Automaton: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Life Member List
+
+
+ +

This is the complete list of members for Life, including all inherited members.

+ + + + + + +
Life(data_type M, data_type N)Lifeinline
optionsLife
print()Lifeinline
print_options()Lifeinline
~Life()Lifeinline
+
+ + + + diff --git a/docs/html/class_life.html b/docs/html/class_life.html new file mode 100644 index 0000000..dc5f1c3 --- /dev/null +++ b/docs/html/class_life.html @@ -0,0 +1,291 @@ + + + + + + + +Cellular Automaton: Life Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <life.h>

+ + + + + +

+Classes

struct  Options
 Save command line arguments. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

 Life (data_type M, data_type N)
 Default constructor. More...
 
 ~Life ()
 Desconstructor. More...
 
void print_options ()
 Print the command line arguments. More...
 
void print ()
 Print the board. More...
 
+ + + + +

+Public Attributes

struct Life::Options options
 Initialize the struct. More...
 
+

Detailed Description

+
+

Definition at line 20 of file life.h.

+

Constructor & Destructor Documentation

+ +

◆ Life()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Life::Life (data_type M,
data_type N 
)
+
+inline
+
+ +

Default constructor.

+ +

Definition at line 32 of file life.h.

+ +
+
+ +

◆ ~Life()

+ +
+
+ + + + + +
+ + + + + + + +
Life::~Life ()
+
+inline
+
+ +

Desconstructor.

+ +

Definition at line 43 of file life.h.

+ +
+
+

Member Function Documentation

+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void Life::print ()
+
+inline
+
+ +

Print the board.

+ +

Definition at line 73 of file life.h.

+ +
+
+ +

◆ print_options()

+ +
+
+ + + + + +
+ + + + + + + +
void Life::print_options ()
+
+inline
+
+ +

Print the command line arguments.

+ +

Definition at line 60 of file life.h.

+ +
+
+

Member Data Documentation

+ +

◆ options

+ +
+
+ + + + +
struct Life::Options Life::options
+
+ +

Initialize the struct.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/html/class_life.js b/docs/html/class_life.js new file mode 100644 index 0000000..3352430 --- /dev/null +++ b/docs/html/class_life.js @@ -0,0 +1,9 @@ +var class_life = +[ + [ "Options", "struct_life_1_1_options.html", "struct_life_1_1_options" ], + [ "Life", "class_life.html#a56dbe39e5a64054a74332907a1d6a88a", null ], + [ "~Life", "class_life.html#ac5a521e06906fb4f834001b2b4f7adc7", null ], + [ "print", "class_life.html#a502bd46fefb24950e64865ce87c4b670", null ], + [ "print_options", "class_life.html#a894425e74e67cce9057ae0f2d34df334", null ], + [ "options", "class_life.html#aae4f41e1e8aa0e8ee5abefd0aa9d89a9", null ] +]; \ No newline at end of file diff --git a/docs/html/classes.html b/docs/html/classes.html new file mode 100644 index 0000000..e1391a1 --- /dev/null +++ b/docs/html/classes.html @@ -0,0 +1,114 @@ + + + + + + + +Cellular Automaton: Class Index + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
c | l | o
+ + + + + +
  c  
+
  l  
+
  o  
+
Cell   Life   Life::Options   
+
c | l | o
+
+
+ + + + diff --git a/docs/html/closed.png b/docs/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.html b/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.html new file mode 100644 index 0000000..8807e51 --- /dev/null +++ b/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.html @@ -0,0 +1,112 @@ + + + + + + + +Cellular Automaton: build Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
build Directory Reference
+
+
+ + + + + + +

+Files

file  input.d [code]
 
file  main.d [code]
 
+
+
+ + + + diff --git a/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.js b/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.js new file mode 100644 index 0000000..5aacc45 --- /dev/null +++ b/docs/html/dir_4fef79e7177ba769987a8da36c892c5f.js @@ -0,0 +1,5 @@ +var dir_4fef79e7177ba769987a8da36c892c5f = +[ + [ "input.d", "input_8d.html", null ], + [ "main.d", "main_8d.html", null ] +]; \ No newline at end of file diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..cf19fba --- /dev/null +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,112 @@ + + + + + + + +Cellular Automaton: src Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + + + + + +

+Files

file  input.cpp [code]
 
file  main.cpp [code]
 
+
+
+ + + + diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 0000000..824d2dc --- /dev/null +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,5 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "input.cpp", "input_8cpp.html", "input_8cpp" ], + [ "main.cpp", "main_8cpp.html", "main_8cpp" ] +]; \ No newline at end of file diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..2b7cd00 --- /dev/null +++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,112 @@ + + + + + + + +Cellular Automaton: include Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
include Directory Reference
+
+
+ + + + + + +

+Files

file  input.h [code]
 
file  life.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.js b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.js new file mode 100644 index 0000000..74ff0f7 --- /dev/null +++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.js @@ -0,0 +1,5 @@ +var dir_d44c64559bbebec7f509842c48db8b23 = +[ + [ "input.h", "input_8h.html", "input_8h" ], + [ "life.h", "life_8h.html", "life_8h" ] +]; \ No newline at end of file diff --git a/docs/html/doc.png b/docs/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css new file mode 100644 index 0000000..e251592 --- /dev/null +++ b/docs/html/doxygen.css @@ -0,0 +1,1764 @@ +/* The standard CSS for doxygen 1.8.15 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #FFFFFF; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js new file mode 100644 index 0000000..9bff51b --- /dev/null +++ b/docs/html/dynsections.js @@ -0,0 +1,127 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Cellular Automaton: File List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 12]
+ + + + + + + + + +
  build
 input.d
 main.d
  include
 input.h
 life.h
  src
 input.cpp
 main.cpp
+
+
+
+ + + + diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js new file mode 100644 index 0000000..0ef9715 --- /dev/null +++ b/docs/html/files_dup.js @@ -0,0 +1,6 @@ +var files_dup = +[ + [ "build", "dir_4fef79e7177ba769987a8da36c892c5f.html", "dir_4fef79e7177ba769987a8da36c892c5f" ], + [ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ], + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] +]; \ No newline at end of file diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/docs/html/functions.html b/docs/html/functions.html new file mode 100644 index 0000000..d61e07d --- /dev/null +++ b/docs/html/functions.html @@ -0,0 +1,140 @@ + + + + + + + +Cellular Automaton: Class Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+
+
+ + + + diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html new file mode 100644 index 0000000..b0b02bd --- /dev/null +++ b/docs/html/functions_func.html @@ -0,0 +1,113 @@ + + + + + + + +Cellular Automaton: Class Members - Functions + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
    +
  • Life() +: Life +
  • +
  • print() +: Life +
  • +
  • print_options() +: Life +
  • +
  • ~Life() +: Life +
  • +
+
+
+ + + + diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html new file mode 100644 index 0000000..5e8e8c3 --- /dev/null +++ b/docs/html/functions_vars.html @@ -0,0 +1,128 @@ + + + + + + + +Cellular Automaton: Class Members - Variables + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/globals.html b/docs/html/globals.html new file mode 100644 index 0000000..56e6cb8 --- /dev/null +++ b/docs/html/globals.html @@ -0,0 +1,121 @@ + + + + + + + +Cellular Automaton: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+
+ + + + diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html new file mode 100644 index 0000000..e93dfe8 --- /dev/null +++ b/docs/html/globals_func.html @@ -0,0 +1,112 @@ + + + + + + + +Cellular Automaton: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/globals_vars.html b/docs/html/globals_vars.html new file mode 100644 index 0000000..c567ca3 --- /dev/null +++ b/docs/html/globals_vars.html @@ -0,0 +1,110 @@ + + + + + + + +Cellular Automaton: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 0000000..5d5993c --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,103 @@ + + + + + + + +Cellular Automaton: Main Page + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Cellular Automaton Documentation
+
+
+
+
+ + + + diff --git a/docs/html/input_8cpp.html b/docs/html/input_8cpp.html new file mode 100644 index 0000000..0b52570 --- /dev/null +++ b/docs/html/input_8cpp.html @@ -0,0 +1,199 @@ + + + + + + + +Cellular Automaton: src/input.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
input.cpp File Reference
+
+
+
#include "../include/input.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Functions

void show_help ()
 Show the arguments available from cli. More...
 
int readOptions (int argc, char *argv[], Life &life)
 Read the arguments from cli. More...
 
+

Detailed Description

+
Author
Jefferson Bruno, Ranieri Santos
+
Date
22/05/2019
+ +

Definition in file input.cpp.

+

Function Documentation

+ +

◆ readOptions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int readOptions (int argc,
char * argv[],
Lifelife 
)
+
+ +

Read the arguments from cli.

+
Parameters
+ + + + +
argcNumber of arguments.
argvArray of arguments.
&lifeObject used to save options
+
+
+
Exceptions
+ + +
std::invalid_argument
+
+
+
Returns
0 if success, and -1 if failed.
+ +

Definition at line 29 of file input.cpp.

+ +
+
+ +

◆ show_help()

+ +
+
+ + + + + + + +
void show_help ()
+
+ +

Show the arguments available from cli.

+ +

Definition at line 10 of file input.cpp.

+ +
+
+
+
+ + + + diff --git a/docs/html/input_8cpp.js b/docs/html/input_8cpp.js new file mode 100644 index 0000000..ebd7aa8 --- /dev/null +++ b/docs/html/input_8cpp.js @@ -0,0 +1,5 @@ +var input_8cpp = +[ + [ "readOptions", "input_8cpp.html#a3d882f035308b7e0c7db1527d5e68f43", null ], + [ "show_help", "input_8cpp.html#ac29c297ae32acdb2172e926d5f144681", null ] +]; \ No newline at end of file diff --git a/docs/html/input_8cpp_source.html b/docs/html/input_8cpp_source.html new file mode 100644 index 0000000..7c9ecf7 --- /dev/null +++ b/docs/html/input_8cpp_source.html @@ -0,0 +1,116 @@ + + + + + + + +Cellular Automaton: src/input.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
input.cpp
+
+
+Go to the documentation of this file.
1 
7 #include "../include/input.h"
8 
10 void show_help() {
11  std::cerr << "Usage: glife [<options>] <input_cfg_file>\n"
12  "Simulation options:\n"
13  "\t--help\t\t\tPrint this help text.\n"
14  "\t--imgdir <path>\t\tSpecify directory where output images are written to.\n"
15  "\t--maxgen <num>\t\tMaximum number of generations to simulate.\n"
16  "\t--fps <num>\t\tNumber of generations presented per second.\n"
17  "\t--blocksize <num>\tPixel size of a cell. Default = 5.\n"
18  "\t--bkgcolor <color>\tColor name for the background. Default GREEN.\n"
19  "\t--alivecolor <color>\tColor name for representing alive cells. Default RED.\n"
20  "\t--outfile <filename>\tWrite the text representation of the simulation to the given "
21  "filename.\n\n"
22  "Available colors are:\n"
23  "\tBLACK BLUE CRIMSON DARK_GREEN DEEP_SKY_BLUE DODGER_BLUE\n"
24  "\tGREEN LIGHT_BLUE LIGHT_GREY LIGHT_YELLOW RED STEEL_BLUE\n"
25  "\tWHITE YELLOW\n\n";
26 }
27 
29 int readOptions(int argc, char *argv[], Life &life) {
30  // Valid options available to read.
31  const struct option tmp[9] = {
32  {"help", no_argument, 0, 'h'},
33  {"imgdir", 1, 0, 'd'},
34  {"maxgen", 1, 0, 'm'},
35  {"fps", 1, 0, 'f'},
36  {"blocksize", 1, 0, 's'},
37  {"bkgcolor", 1, 0, 'b'},
38  {"alivecolor", 1, 0, 'a'},
39  {"outfile", 1, 0, 'o'},
40  {0, 0, 0, 0},
41  };
42 
43  // If there's no argument.
44  if (argc < 2) {
45  throw std::invalid_argument("\n\033[0;31mMissing argument!\033[0m\n");
46  return -1;
47  }
48 
49  int opt;
50  while ((opt = getopt_long(argc, argv, "hd:m:f:s:b:a:o:", tmp, NULL)) > 0) {
51  switch (opt) {
52  case 'h': /* -h or --help */
53  show_help();
54  return 0;
55  case 'd': /* -d or --imgdir */
56  life.options.imgdir = optarg;
57  break;
58  case 'm': /* -m or --maxgen */
59  life.options.maxgen = atoi(optarg);
60  break;
61  case 'f': /* -f or --fps */
62  life.options.fps = atoi(optarg);
63  break;
64  case 's': /* -s or --blocksize */
65  life.options.blocksize = atoi(optarg);
66  break;
67  case 'b': /* -b or --bkgcolor */
68  life.options.bkgcolor = optarg;
69  break;
70  case 'a': /* -a or --alivecolors */
71  life.options.alivecolor = optarg;
72  break;
73  case 'o': /* -s or --outfile */
74  life.options.outfile = optarg;
75  break;
76 
77  // No valid arguments provided.
78  default:
79  throw std::invalid_argument("\n\033[0;31mInvalid argument!\033[0m\n");
80  return -1;
81  }
82 
83  // Check if the input file is provided.
84  if (argv[optind] != NULL) {
85  life.options.inputfile = argv[optind];
86  } else {
87  throw std::invalid_argument("\n\033[0;31mMissing input file!\033[0m\n");
88  return -1;
89  }
90  }
91 
92  return 0;
93 }
int blocksize
Pixel size of a cell.
Definition: life.h:50
+
int maxgen
Maximum number of generations.
Definition: life.h:48
+
Definition: life.h:20
+
std::string outfile
Filename for the output file.
Definition: life.h:55
+
void show_help()
Show the arguments available from cli.
Definition: input.cpp:10
+
std::string imgdir
Directory where output images are written to.
Definition: life.h:53
+
std::string inputfile
Filename for the input file.
Definition: life.h:54
+
struct Life::Options options
Initialize the struct.
+
std::string alivecolor
Color name for representing alive cells.
Definition: life.h:51
+
int readOptions(int argc, char *argv[], Life &life)
Read the arguments from cli.
Definition: input.cpp:29
+
int fps
Number of generations presented per second.
Definition: life.h:49
+
std::string bkgcolor
Color name for the background.
Definition: life.h:52
+
+
+ + + + diff --git a/docs/html/input_8d.html b/docs/html/input_8d.html new file mode 100644 index 0000000..e0e1222 --- /dev/null +++ b/docs/html/input_8d.html @@ -0,0 +1,106 @@ + + + + + + + +Cellular Automaton: build/input.d File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
input.d File Reference
+
+ +
+ + + + diff --git a/docs/html/input_8d_source.html b/docs/html/input_8d_source.html new file mode 100644 index 0000000..5b695d2 --- /dev/null +++ b/docs/html/input_8d_source.html @@ -0,0 +1,105 @@ + + + + + + + +Cellular Automaton: build/input.d Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
input.d
+
+
+Go to the documentation of this file.
1 build/input.o: src/input.cpp src/../include/input.h \ + src/../include/../include/life.h
2 
3 src/../include/input.h:
4 
5 src/../include/../include/life.h:
6 
+
+ + + + diff --git a/docs/html/input_8h.html b/docs/html/input_8h.html new file mode 100644 index 0000000..5728d87 --- /dev/null +++ b/docs/html/input_8h.html @@ -0,0 +1,203 @@ + + + + + + + +Cellular Automaton: include/input.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
input.h File Reference
+
+
+
#include <getopt.h>
+#include <cstdlib>
+#include <iostream>
+#include <stdexcept>
+#include "../include/life.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Functions

void show_help ()
 Show the arguments available from cli. More...
 
int readOptions (int argc, char *argv[], Life &life)
 Read the arguments from cli. More...
 
+

Detailed Description

+
Author
Jefferson Bruno, Ranieri Santos
+
Date
22/05/2019
+ +

Definition in file input.h.

+

Function Documentation

+ +

◆ readOptions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int readOptions (int argc,
char * argv[],
Lifelife 
)
+
+ +

Read the arguments from cli.

+
Parameters
+ + + + +
argcNumber of arguments.
argvArray of arguments.
&lifeObject used to save options
+
+
+
Exceptions
+ + +
std::invalid_argument
+
+
+
Returns
0 if success, and -1 if failed.
+ +

Definition at line 29 of file input.cpp.

+ +
+
+ +

◆ show_help()

+ +
+
+ + + + + + + +
void show_help ()
+
+ +

Show the arguments available from cli.

+ +

Definition at line 10 of file input.cpp.

+ +
+
+
+
+ + + + diff --git a/docs/html/input_8h.js b/docs/html/input_8h.js new file mode 100644 index 0000000..0264b84 --- /dev/null +++ b/docs/html/input_8h.js @@ -0,0 +1,5 @@ +var input_8h = +[ + [ "readOptions", "input_8h.html#a3d882f035308b7e0c7db1527d5e68f43", null ], + [ "show_help", "input_8h.html#ac29c297ae32acdb2172e926d5f144681", null ] +]; \ No newline at end of file diff --git a/docs/html/input_8h_source.html b/docs/html/input_8h_source.html new file mode 100644 index 0000000..5f6f192 --- /dev/null +++ b/docs/html/input_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +Cellular Automaton: include/input.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
input.h
+
+
+Go to the documentation of this file.
1 
7 #ifndef INPUT_H
8 #define INPUT_H
9 
10 #include <getopt.h> // getopt()
11 #include <cstdlib> // atoi()
12 #include <iostream> // std::cout, std::cin
13 #include <stdexcept> // std::invalid_argument
14 #include "../include/life.h"
15 
17 void show_help();
18 
20 
27 int readOptions(int argc, char *argv[], Life &life);
28 
29 #endif
Definition: life.h:20
+
int readOptions(int argc, char *argv[], Life &life)
Read the arguments from cli.
Definition: input.cpp:29
+
void show_help()
Show the arguments available from cli.
Definition: input.cpp:10
+
+
+ + + + diff --git a/docs/html/jquery.js b/docs/html/jquery.js new file mode 100644 index 0000000..1ee895c --- /dev/null +++ b/docs/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Mar 21 12:46:34 2012 -0700 + */ +(function(bd,L){var av=bd.document,bu=bd.navigator,bm=bd.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bd.jQuery,bH=bd.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bd.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bd.attachEvent("onload",bF.ready);var b0=false;try{b0=bd.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0!=null&&b0==b0.window},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){if(typeof b2!=="string"||!b2){return null}var b0,b1;try{if(bd.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bd.execScript||function(b1){bd["eval"].call(bd,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aK.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aK.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bH=bv.getElementsByTagName("*");bE=bv.getElementsByTagName("a")[0];if(!bH||!bH.length||!bE){return{}}bF=av.createElement("select");bx=bF.appendChild(av.createElement("option"));bD=bv.getElementsByTagName("input")[0];bI={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bE.getAttribute("style")),hrefNormalized:(bE.getAttribute("href")==="/a"),opacity:/^0.55/.test(bE.style.opacity),cssFloat:!!bE.style.cssFloat,checkOn:(bD.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,pixelMargin:true};b.boxModel=bI.boxModel=(av.compatMode==="CSS1Compat");bD.checked=true;bI.noCloneChecked=bD.cloneNode(true).checked;bF.disabled=true;bI.optDisabled=!bx.disabled;try{delete bv.test}catch(bB){bI.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bI.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bD=av.createElement("input");bD.value="t";bD.setAttribute("type","radio");bI.radioValue=bD.value==="t";bD.setAttribute("checked","checked");bD.setAttribute("name","t");bv.appendChild(bD);bC=av.createDocumentFragment();bC.appendChild(bv.lastChild);bI.checkClone=bC.cloneNode(true).cloneNode(true).lastChild.checked;bI.appendChecked=bD.checked;bC.removeChild(bD);bC.appendChild(bv);if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bA="on"+by;bw=(bA in bv);if(!bw){bv.setAttribute(bA,"return;");bw=(typeof bv[bA]==="function")}bI[by+"Bubbles"]=bw}}bC.removeChild(bv);bC=bF=bx=bv=bD=null;b(function(){var bM,bV,bW,bU,bO,bP,bR,bL,bK,bQ,bN,e,bT,bS=av.getElementsByTagName("body")[0];if(!bS){return}bL=1;bT="padding:0;margin:0;border:";bN="position:absolute;top:0;left:0;width:1px;height:1px;";e=bT+"0;visibility:hidden;";bK="style='"+bN+bT+"5px solid #000;";bQ="
";bM=av.createElement("div");bM.style.cssText=e+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bS.insertBefore(bM,bS.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bI.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);if(bd.getComputedStyle){bv.innerHTML="";bR=av.createElement("div");bR.style.width="0";bR.style.marginRight="0";bv.style.width="2px";bv.appendChild(bR);bI.reliableMarginRight=(parseInt((bd.getComputedStyle(bR,null)||{marginRight:0}).marginRight,10)||0)===0}if(typeof bv.style.zoom!=="undefined"){bv.innerHTML="";bv.style.width=bv.style.padding="1px";bv.style.border=0;bv.style.overflow="hidden";bv.style.display="inline";bv.style.zoom=1;bI.inlineBlockNeedsLayout=(bv.offsetWidth===3);bv.style.display="block";bv.style.overflow="visible";bv.innerHTML="
";bI.shrinkWrapBlocks=(bv.offsetWidth!==3)}bv.style.cssText=bN+e;bv.innerHTML=bQ;bV=bv.firstChild;bW=bV.firstChild;bO=bV.nextSibling.firstChild.firstChild;bP={doesNotAddBorder:(bW.offsetTop!==5),doesAddBorderForTableAndCells:(bO.offsetTop===5)};bW.style.position="fixed";bW.style.top="20px";bP.fixedPosition=(bW.offsetTop===20||bW.offsetTop===15);bW.style.position=bW.style.top="";bV.style.overflow="hidden";bV.style.position="relative";bP.subtractsBorderForOverflowNotVisible=(bW.offsetTop===-5);bP.doesNotIncludeMarginInBodyOffset=(bS.offsetTop!==bL);if(bd.getComputedStyle){bv.style.marginTop="1%";bI.pixelMargin=(bd.getComputedStyle(bv,null)||{marginTop:0}).marginTop!=="1%"}if(typeof bM.style.zoom!=="undefined"){bM.style.zoom=1}bS.removeChild(bM);bR=bv=bM=null;b.extend(bI,bP)});return bI})();var aT=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA1,null,false)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a6(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?+by:aT.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bj(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bj(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bj(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){var bw=2;if(typeof e!=="string"){bv=e;e="fx";bw--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,b.prop,e,bv,arguments.length>1)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(ag);for(bw=0,bv=this.length;bw-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.type]||b.valHooks[bw.nodeName.toLowerCase()];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aV,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aZ:bf)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(by,bA){var bz,bB,bw,e,bv,bx=0;if(bA&&by.nodeType===1){bB=bA.toLowerCase().split(ag);e=bB.length;for(;bx=0)}}})});var be=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/(?:^|\s)hover(\.\S+)?\b/,aP=/^key/,bg=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler;by=bv.selector}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bC=0;bCbC){bv.push({elem:this,matches:bD.slice(bC)})}for(bJ=0;bJ0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aP.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bg.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}bE.match.globalPOS=bD;var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(B(bx[0])||B(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function B(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||bb.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aH(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aS.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aS="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ah=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,v=/]","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bn=/\/(java|ecma)script/i,aO=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){return b.access(this,function(bv){return bv===L?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(bv))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(e){return b.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===L){return bx.nodeType===1?bx.innerHTML.replace(ah,""):null}if(typeof by==="string"&&!ae.test(by)&&(b.support.leadingWhitespace||!ar.test(by))&&!ax[(d.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(R,"<$1>");try{for(;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bh(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function D(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function am(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||b.isXMLDoc(by)||!ai.test("<"+by.nodeName+">")?by.cloneNode(true):am(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){aj(by,bz);e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){if(bv[bx]){aj(e[bx],bv[bx])}}}if(bA){s(by,bz);if(bw){e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){s(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bI,bw,bv,bx){var bA,bH,bD,bJ=[];bw=bw||av;if(typeof bw.createElement==="undefined"){bw=bw.ownerDocument||bw[0]&&bw[0].ownerDocument||av}for(var bE=0,bG;(bG=bI[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!W.test(bG)){bG=bw.createTextNode(bG)}else{bG=bG.replace(R,"<$1>");var bN=(d.exec(bG)||["",""])[1].toLowerCase(),bz=ax[bN]||ax._default,bK=bz[0],bB=bw.createElement("div"),bL=ac.childNodes,bM;if(bw===av){ac.appendChild(bB)}else{a(bw).appendChild(bB)}bB.innerHTML=bz[1]+bG+bz[2];while(bK--){bB=bB.lastChild}if(!b.support.tbody){var by=v.test(bG),e=bN==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bz[1]===""&&!by?bB.childNodes:[];for(bD=e.length-1;bD>=0;--bD){if(b.nodeName(e[bD],"tbody")&&!e[bD].childNodes.length){e[bD].parentNode.removeChild(e[bD])}}}if(!b.support.leadingWhitespace&&ar.test(bG)){bB.insertBefore(bw.createTextNode(ar.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;if(bB){bB.parentNode.removeChild(bB);if(bL.length>0){bM=bL[bL.length-1];if(bM&&bM.parentNode){bM.parentNode.removeChild(bM)}}}}}var bF;if(!b.support.appendChecked){if(bG[0]&&typeof(bF=bG.length)==="number"){for(bD=0;bD1)};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(by,bx,bz){var e={},bw,bv;for(bv in bx){e[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=e[bv]}return bw}});b.curCSS=b.css;if(av.defaultView&&av.defaultView.getComputedStyle){aJ=function(bA,bw){var bv,bz,e,by,bx=bA.style;bw=bw.replace(y,"-$1").toLowerCase();if((bz=bA.ownerDocument.defaultView)&&(e=bz.getComputedStyle(bA,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(bA.ownerDocument.documentElement,bA)){bv=b.style(bA,bw)}}if(!b.support.pixelMargin&&e&&aE.test(bw)&&a1.test(bv)){by=bx.width;bx.width=bv;bv=e.width;bx.width=by}return bv}}if(av.documentElement.currentStyle){aY=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv==null&&bx&&(by=bx[bw])){bv=by}if(a1.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aJ||aY;function af(by,bw,bv){var bz=bw==="width"?by.offsetWidth:by.offsetHeight,bx=bw==="width"?1:0,e=4;if(bz>0){if(bv!=="border"){for(;bx=1&&b.trim(bw.replace(al,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=al.test(bw)?bw.replace(al,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bv,e){return b.swap(bv,{display:"inline-block"},function(){if(e){return Z(bv,"margin-right")}else{return bv.style.marginRight}})}}}});if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}b.each({margin:"",padding:"",border:"Width"},function(e,bv){b.cssHooks[e+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[e+G[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}}});var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,a0=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aN=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aR=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a7=/)<[^<]*)*<\/script>/gi,p=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,z=b.fn.load,aa={},q={},aF,r,aW=["*/"]+["*"];try{aF=bm.href}catch(aw){aF=av.createElement("a");aF.href="";aF=aF.href}r=K.exec(aF.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a7,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||a0.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){an(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}an(bv,e);return bv},ajaxSettings:{url:aF,isLocal:aN.test(r[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bd.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(q),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bk(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=F(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,r[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=r[1]||bI[2]!=r[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(r[3]||(r[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aX(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aR.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aW+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aX(q,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){u(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function u(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{u(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&b.type(by)==="object"){for(var e in by){u(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bk(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function F(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!ba){ba=av.createElement("iframe");ba.frameBorder=ba.width=ba.height=0}e.appendChild(ba);if(!m||!ba.createElement){m=(ba.contentWindow||ba.contentDocument).document;m.write((b.support.boxModel?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(ba)}Q[bx]=bw}return Q[bx]}var a8,V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){a8=function(by,bH,bw,bB){try{bB=by.getBoundingClientRect()}catch(bF){}if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aL(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{a8=function(bz,bE,bx){var bC,bw=bz.offsetParent,bv=bz,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.fn.offset=function(e){if(arguments.length){return e===L?this:this.each(function(bx){b.offset.setOffset(this,e,bx)})}var bv=this[0],bw=bv&&bv.ownerDocument;if(!bw){return null}if(bv===bw.body){return b.offset.bodyOffset(bv)}return a8(bv,bw,bw.documentElement)};b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var e=/Y/.test(bv);b.fn[bw]=function(bx){return b.access(this,function(by,bB,bA){var bz=aL(by);if(bA===L){return bz?(bv in bz)?bz[bv]:b.support.boxModel&&bz.document.documentElement[bB]||bz.document.body[bB]:by[bB]}if(bz){bz.scrollTo(!e?bA:b(bz).scrollLeft(),e?bA:b(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aL(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each({Height:"height",Width:"width"},function(bw,bx){var bv="client"+bw,e="scroll"+bw,by="offset"+bw;b.fn["inner"+bw]=function(){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,"padding")):this[bx]():null};b.fn["outer"+bw]=function(bA){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,bA?"margin":"border")):this[bx]():null};b.fn[bx]=function(bz){return b.access(this,function(bC,bB,bD){var bF,bE,bG,bA;if(b.isWindow(bC)){bF=bC.document;bE=bF.documentElement[bv];return b.support.boxModel&&bE||bF.body&&bF.body[bv]||bE}if(bC.nodeType===9){bF=bC.documentElement;if(bF[bv]>=bF[e]){return bF[bv]}return Math.max(bC.body[e],bF[e],bC.body[by],bF[by])}if(bD===L){bG=b.css(bC,bB);bA=parseFloat(bG);return b.isNumeric(bA)?bA:bG}b(bC).css(bB,bD)},bx,bz,arguments.length,null)}});bd.jQuery=bd.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+ +
+
life.h File Reference
+
+
+
#include <cstring>
+#include <iostream>
+#include <stdexcept>
+#include <string>
+#include <vector>
+
+

Go to the source code of this file.

+
+ + + + + + + + + +

+Classes

class  Cell
 Status of the cell. More...
 
class  Life
 
struct  Life::Options
 Save command line arguments. More...
 
+ + + + + + + + + + +

+Variables

const int empty = -1
 No cell. More...
 
const int dead = 0
 Dead cell. More...
 
const int alive = 1
 Alive cell. More...
 
+

Variable Documentation

+ +

◆ alive

+ +
+
+ + + + +
const int alive = 1
+
+ +

Alive cell.

+ +

Definition at line 12 of file life.h.

+ +
+
+ +

◆ dead

+ +
+
+ + + + +
const int dead = 0
+
+ +

Dead cell.

+ +

Definition at line 11 of file life.h.

+ +
+
+ +

◆ empty

+ +
+
+ + + + +
const int empty = -1
+
+ +

No cell.

+ +

Definition at line 10 of file life.h.

+ +
+
+
+ + + + + diff --git a/docs/html/life_8h.js b/docs/html/life_8h.js new file mode 100644 index 0000000..a6d800c --- /dev/null +++ b/docs/html/life_8h.js @@ -0,0 +1,9 @@ +var life_8h = +[ + [ "Cell", "class_cell.html", null ], + [ "Life", "class_life.html", "class_life" ], + [ "Options", "struct_life_1_1_options.html", "struct_life_1_1_options" ], + [ "alive", "life_8h.html#aba266ac5bedc36291854d0a132656c92", null ], + [ "dead", "life_8h.html#aba4d8edbd5cd7c809d47d25ad55bf8e5", null ], + [ "empty", "life_8h.html#a7ea74f2d32e82dc7693e8b11d99b9a68", null ] +]; \ No newline at end of file diff --git a/docs/html/life_8h_source.html b/docs/html/life_8h_source.html new file mode 100644 index 0000000..047c3c1 --- /dev/null +++ b/docs/html/life_8h_source.html @@ -0,0 +1,123 @@ + + + + + + + +Cellular Automaton: include/life.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
life.h
+
+
+Go to the documentation of this file.
1 #ifndef LIFE_H
2 #define LIFE_H
3 
4 #include <cstring> // memset()
5 #include <iostream> // std::cout, std::cin
6 #include <stdexcept> // std::invalid_argument
7 #include <string> // std::string
8 #include <vector> // std::vector
9 
10 const int empty = -1;
11 const int dead = 0;
12 const int alive = 1;
13 
15 class Cell {
16  int x, y;
17  bool alive;
18 };
19 
20 class Life {
21  using data_type = int;
22  using pointer = data_type*;
23  using reference = data_type&;
24  using const_reference = const data_type&;
25 
26  private:
27  data_type num_rows, num_col; // Dimensions of the matrix
28  std::vector<std::vector<data_type>> board; // Simulation board
29 
30  public:
32  Life(data_type M, data_type N) : num_rows{M}, num_col{N} {
33  board.resize(num_rows); // Define the number of lines
34 
35  // In every row, create n columns with -1 (indicate empty space),
36  // thus this is equivalent to a num_rows x num_col.
37  for (int i = 0; i < num_rows; i++) {
38  board[i].assign(num_col, empty);
39  }
40  }
41 
43  ~Life() {}
44 
45  public:
47  struct Options {
48  int maxgen = 100;
49  int fps = 2;
50  int blocksize = 5;
51  std::string alivecolor = "RED";
52  std::string bkgcolor = "GREEN";
53  std::string imgdir = "data/images/";
54  std::string inputfile;
55  std::string outfile = "data/log.txt";
56 
57  } options;
58 
60  void print_options() {
61  std::cout << ">>> Options <<< \n";
62  std::cout << "imgdir: \"" << options.imgdir << "\"" << std::endl;
63  std::cout << "maxgen: " << options.maxgen << std::endl;
64  std::cout << "fps: " << options.fps << std::endl;
65  std::cout << "blocksize: " << options.blocksize << std::endl;
66  std::cout << "bkgcolor: " << options.bkgcolor << std::endl;
67  std::cout << "alivecolor: " << options.alivecolor << std::endl;
68  std::cout << "inputfile: \"" << options.inputfile << "\"" << std::endl;
69  std::cout << "outfile: \"" << options.outfile << "\"" << std::endl;
70  }
71 
73  void print() {
74  for (int i = 0; i < num_rows; i++) {
75  for (int j = 0; j < num_col; j++) {
76  std::cout << board[i][j] << " ";
77  }
78  std::cout << std::endl;
79  }
80  }
81 };
82 
83 #endif
const int alive
Alive cell.
Definition: life.h:12
+
void print_options()
Print the command line arguments.
Definition: life.h:60
+
int blocksize
Pixel size of a cell.
Definition: life.h:50
+
int maxgen
Maximum number of generations.
Definition: life.h:48
+
Definition: life.h:20
+
Status of the cell.
Definition: life.h:15
+
std::string outfile
Filename for the output file.
Definition: life.h:55
+
std::string imgdir
Directory where output images are written to.
Definition: life.h:53
+
Life(data_type M, data_type N)
Default constructor.
Definition: life.h:32
+
void print()
Print the board.
Definition: life.h:73
+
~Life()
Desconstructor.
Definition: life.h:43
+
const int dead
Dead cell.
Definition: life.h:11
+
std::string inputfile
Filename for the input file.
Definition: life.h:54
+
struct Life::Options options
Initialize the struct.
+
Save command line arguments.
Definition: life.h:47
+
const int empty
No cell.
Definition: life.h:10
+
std::string alivecolor
Color name for representing alive cells.
Definition: life.h:51
+
int fps
Number of generations presented per second.
Definition: life.h:49
+
std::string bkgcolor
Color name for the background.
Definition: life.h:52
+
+
+ + + + diff --git a/docs/html/main_8cpp.html b/docs/html/main_8cpp.html new file mode 100644 index 0000000..fff4bdb --- /dev/null +++ b/docs/html/main_8cpp.html @@ -0,0 +1,163 @@ + + + + + + + +Cellular Automaton: src/main.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
main.cpp File Reference
+
+
+
#include <../include/input.h>
+#include <../include/life.h>
+
+

Go to the source code of this file.

+ + + + +

+Functions

int main (int argc, char *argv[])
 
+

Detailed Description

+
Author
Jefferson Bruno, Ranieri Santos
+
Date
22/05/2019
+ +

Definition in file main.cpp.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+

Regras do game:

+
    +
  1. Qualquer célula viva com menos de dois vizinhos vivos morre de solidão.
    +
  2. +
  3. Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação.
    +
  4. +
  5. Qualquer célula morta com exatamente três vizinhos vivos se torna uma célula viva.
    +
  6. +
  7. Qualquer célula viva com dois ou três vizinhos vivos continua no mesmo estado para a próxima geração.
    +
  8. +
+ +

Definition at line 17 of file main.cpp.

+ +
+
+
+
+ + + + diff --git a/docs/html/main_8cpp.js b/docs/html/main_8cpp.js new file mode 100644 index 0000000..783c492 --- /dev/null +++ b/docs/html/main_8cpp.js @@ -0,0 +1,4 @@ +var main_8cpp = +[ + [ "main", "main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97", null ] +]; \ No newline at end of file diff --git a/docs/html/main_8cpp_source.html b/docs/html/main_8cpp_source.html new file mode 100644 index 0000000..6735a96 --- /dev/null +++ b/docs/html/main_8cpp_source.html @@ -0,0 +1,108 @@ + + + + + + + +Cellular Automaton: src/main.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
main.cpp
+
+
+Go to the documentation of this file.
1 
7 #include <../include/input.h>
8 #include <../include/life.h>
9 
17 int main(int argc, char* argv[]) {
18  Life life_test{15, 15};
19 
20  try {
21  readOptions(argc, argv, life_test);
22  } catch (const std::invalid_argument& ia) {
23  std::cerr << ia.what() << '\n';
24  show_help();
25  return -1;
26  }
27 
28  life_test.print(); // #TEST
29  std::cout << std::endl;
30 
31  return 0;
32 }
Definition: life.h:20
+
int readOptions(int argc, char *argv[], Life &life)
Read the arguments from cli.
Definition: input.cpp:29
+
void show_help()
Show the arguments available from cli.
Definition: input.cpp:10
+
int main(int argc, char *argv[])
Definition: main.cpp:17
+
+
+ + + + diff --git a/docs/html/main_8d.html b/docs/html/main_8d.html new file mode 100644 index 0000000..d4b708b --- /dev/null +++ b/docs/html/main_8d.html @@ -0,0 +1,106 @@ + + + + + + + +Cellular Automaton: build/main.d File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
main.d File Reference
+
+ +
+ + + + diff --git a/docs/html/main_8d_source.html b/docs/html/main_8d_source.html new file mode 100644 index 0000000..9ca35aa --- /dev/null +++ b/docs/html/main_8d_source.html @@ -0,0 +1,106 @@ + + + + + + + +Cellular Automaton: build/main.d Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
main.d
+
+
+Go to the documentation of this file.
1 build/main.o: src/main.cpp include/../include/input.h \ + include/../include/../include/life.h include/../include/life.h
2 
3 include/../include/input.h:
4 
5 include/../include/../include/life.h:
6 
7 include/../include/life.h:
8 
int main(int argc, char *argv[])
Definition: main.cpp:17
+
+
+ + + + diff --git a/docs/html/md__r_e_a_d_m_e.html b/docs/html/md__r_e_a_d_m_e.html new file mode 100644 index 0000000..3e5d13a --- /dev/null +++ b/docs/html/md__r_e_a_d_m_e.html @@ -0,0 +1,105 @@ + + + + + + + +Cellular Automaton: cellular_automaton + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Cellular Automaton +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
cellular_automaton
+
+
+

Conway's Game of Life like simulation

+
+
+
+ + + + diff --git a/docs/html/menu.js b/docs/html/menu.js new file mode 100644 index 0000000..433c15b --- /dev/null +++ b/docs/html/menu.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/docs/html/menudata.js b/docs/html/menudata.js new file mode 100644 index 0000000..873109c --- /dev/null +++ b/docs/html/menudata.js @@ -0,0 +1,39 @@ +/* +@ @licstart The following is the entire license notice for the +JavaScript code in this file. + +Copyright (C) 1997-2017 by Dimitri van Heesch + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +@licend The above is the entire license notice +for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html"}, +{text:"Functions",url:"functions_func.html"}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}, +{text:"Variables",url:"globals_vars.html"}]}]}]} diff --git a/docs/html/nav_f.png b/docs/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/docs/html/nav_g.png b/docs/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +Cellular Automaton: Related Pages + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Cellular Automaton +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    +
    + + + + diff --git a/docs/html/resize.js b/docs/html/resize.js new file mode 100644 index 0000000..6617aee --- /dev/null +++ b/docs/html/resize.js @@ -0,0 +1,136 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).load(resizeHeight); +} +/* @license-end */ diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html new file mode 100644 index 0000000..5330204 --- /dev/null +++ b/docs/html/search/all_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js new file mode 100644 index 0000000..cc3e588 --- /dev/null +++ b/docs/html/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['alive',['alive',['../life_8h.html#aba266ac5bedc36291854d0a132656c92',1,'life.h']]], + ['alivecolor',['alivecolor',['../struct_life_1_1_options.html#ac151206f68721b1ef2d09661c047ac34',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html new file mode 100644 index 0000000..2f46793 --- /dev/null +++ b/docs/html/search/all_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js new file mode 100644 index 0000000..eb68f42 --- /dev/null +++ b/docs/html/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['bkgcolor',['bkgcolor',['../struct_life_1_1_options.html#a840a967b4f4cd91900b22b6ebc8296e0',1,'Life::Options']]], + ['blocksize',['blocksize',['../struct_life_1_1_options.html#a3d7f38ba1e6127341ba19c399126c924',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html new file mode 100644 index 0000000..4c33d85 --- /dev/null +++ b/docs/html/search/all_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js new file mode 100644 index 0000000..e4bb391 --- /dev/null +++ b/docs/html/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['cell',['Cell',['../class_cell.html',1,'']]], + ['cellular_5fautomaton',['cellular_automaton',['../md__r_e_a_d_m_e.html',1,'']]] +]; diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html new file mode 100644 index 0000000..b634070 --- /dev/null +++ b/docs/html/search/all_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js new file mode 100644 index 0000000..6366687 --- /dev/null +++ b/docs/html/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dead',['dead',['../life_8h.html#aba4d8edbd5cd7c809d47d25ad55bf8e5',1,'life.h']]] +]; diff --git a/docs/html/search/all_4.html b/docs/html/search/all_4.html new file mode 100644 index 0000000..dd062ae --- /dev/null +++ b/docs/html/search/all_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js new file mode 100644 index 0000000..49c86f4 --- /dev/null +++ b/docs/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['empty',['empty',['../life_8h.html#a7ea74f2d32e82dc7693e8b11d99b9a68',1,'life.h']]] +]; diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html new file mode 100644 index 0000000..f0780fd --- /dev/null +++ b/docs/html/search/all_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js new file mode 100644 index 0000000..9f08f90 --- /dev/null +++ b/docs/html/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fps',['fps',['../struct_life_1_1_options.html#a88678e047b983eb92e4f34c4a4ce6784',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html new file mode 100644 index 0000000..39b0f55 --- /dev/null +++ b/docs/html/search/all_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js new file mode 100644 index 0000000..27a3a2a --- /dev/null +++ b/docs/html/search/all_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['imgdir',['imgdir',['../struct_life_1_1_options.html#a9048c3ccf09a927c9560204ccae7931a',1,'Life::Options']]], + ['input_2ecpp',['input.cpp',['../input_8cpp.html',1,'']]], + ['input_2ed',['input.d',['../input_8d.html',1,'']]], + ['input_2eh',['input.h',['../input_8h.html',1,'']]], + ['inputfile',['inputfile',['../struct_life_1_1_options.html#a361f83ee24d66a2c9a01bab9e5b1660c',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html new file mode 100644 index 0000000..9cd0196 --- /dev/null +++ b/docs/html/search/all_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js new file mode 100644 index 0000000..aacc1cd --- /dev/null +++ b/docs/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['life',['Life',['../class_life.html',1,'Life'],['../class_life.html#a56dbe39e5a64054a74332907a1d6a88a',1,'Life::Life()']]], + ['life_2eh',['life.h',['../life_8h.html',1,'']]] +]; diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html new file mode 100644 index 0000000..1e8fb9c --- /dev/null +++ b/docs/html/search/all_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js new file mode 100644 index 0000000..8b69e2f --- /dev/null +++ b/docs/html/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['main',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], + ['main_2ecpp',['main.cpp',['../main_8cpp.html',1,'']]], + ['main_2ed',['main.d',['../main_8d.html',1,'']]], + ['maxgen',['maxgen',['../struct_life_1_1_options.html#a36431d81d65480f6a324fa5b2aa4a0a5',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html new file mode 100644 index 0000000..27df366 --- /dev/null +++ b/docs/html/search/all_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js new file mode 100644 index 0000000..2de6829 --- /dev/null +++ b/docs/html/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['options',['Options',['../struct_life_1_1_options.html',1,'Life::Options'],['../class_life.html#aae4f41e1e8aa0e8ee5abefd0aa9d89a9',1,'Life::options()']]], + ['outfile',['outfile',['../struct_life_1_1_options.html#a3462aa97b7f65c0cf48457ef3ee2ee0f',1,'Life::Options']]] +]; diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html new file mode 100644 index 0000000..63f9254 --- /dev/null +++ b/docs/html/search/all_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js new file mode 100644 index 0000000..88b19d8 --- /dev/null +++ b/docs/html/search/all_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['print',['print',['../class_life.html#a502bd46fefb24950e64865ce87c4b670',1,'Life']]], + ['print_5foptions',['print_options',['../class_life.html#a894425e74e67cce9057ae0f2d34df334',1,'Life']]] +]; diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html new file mode 100644 index 0000000..44ae3e4 --- /dev/null +++ b/docs/html/search/all_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js new file mode 100644 index 0000000..6f3904b --- /dev/null +++ b/docs/html/search/all_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['readme_2emd',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], + ['readoptions',['readOptions',['../input_8h.html#a3d882f035308b7e0c7db1527d5e68f43',1,'readOptions(int argc, char *argv[], Life &life): input.cpp'],['../input_8cpp.html#a3d882f035308b7e0c7db1527d5e68f43',1,'readOptions(int argc, char *argv[], Life &life): input.cpp']]] +]; diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html new file mode 100644 index 0000000..3de1586 --- /dev/null +++ b/docs/html/search/all_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js new file mode 100644 index 0000000..2327f93 --- /dev/null +++ b/docs/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['show_5fhelp',['show_help',['../input_8h.html#ac29c297ae32acdb2172e926d5f144681',1,'show_help(): input.cpp'],['../input_8cpp.html#ac29c297ae32acdb2172e926d5f144681',1,'show_help(): input.cpp']]] +]; diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html new file mode 100644 index 0000000..a2d5bd7 --- /dev/null +++ b/docs/html/search/all_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js new file mode 100644 index 0000000..477d802 --- /dev/null +++ b/docs/html/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7elife',['~Life',['../class_life.html#ac5a521e06906fb4f834001b2b4f7adc7',1,'Life']]] +]; diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html new file mode 100644 index 0000000..b3c6ec6 --- /dev/null +++ b/docs/html/search/classes_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js new file mode 100644 index 0000000..ac9c31d --- /dev/null +++ b/docs/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cell',['Cell',['../class_cell.html',1,'']]] +]; diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html new file mode 100644 index 0000000..b744c4d --- /dev/null +++ b/docs/html/search/classes_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js new file mode 100644 index 0000000..cefd7f6 --- /dev/null +++ b/docs/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['life',['Life',['../class_life.html',1,'']]] +]; diff --git a/docs/html/search/classes_2.html b/docs/html/search/classes_2.html new file mode 100644 index 0000000..7878acb --- /dev/null +++ b/docs/html/search/classes_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js new file mode 100644 index 0000000..ded72de --- /dev/null +++ b/docs/html/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['options',['Options',['../struct_life_1_1_options.html',1,'Life']]] +]; diff --git a/docs/html/search/close.png b/docs/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html new file mode 100644 index 0000000..40cd455 --- /dev/null +++ b/docs/html/search/files_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js new file mode 100644 index 0000000..1a2c53c --- /dev/null +++ b/docs/html/search/files_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['input_2ecpp',['input.cpp',['../input_8cpp.html',1,'']]], + ['input_2ed',['input.d',['../input_8d.html',1,'']]], + ['input_2eh',['input.h',['../input_8h.html',1,'']]] +]; diff --git a/docs/html/search/files_1.html b/docs/html/search/files_1.html new file mode 100644 index 0000000..646d1f4 --- /dev/null +++ b/docs/html/search/files_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js new file mode 100644 index 0000000..331b19a --- /dev/null +++ b/docs/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['life_2eh',['life.h',['../life_8h.html',1,'']]] +]; diff --git a/docs/html/search/files_2.html b/docs/html/search/files_2.html new file mode 100644 index 0000000..9e47a77 --- /dev/null +++ b/docs/html/search/files_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js new file mode 100644 index 0000000..b33d2a1 --- /dev/null +++ b/docs/html/search/files_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['main_2ecpp',['main.cpp',['../main_8cpp.html',1,'']]], + ['main_2ed',['main.d',['../main_8d.html',1,'']]] +]; diff --git a/docs/html/search/files_3.html b/docs/html/search/files_3.html new file mode 100644 index 0000000..167679b --- /dev/null +++ b/docs/html/search/files_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_3.js b/docs/html/search/files_3.js new file mode 100644 index 0000000..66a27ec --- /dev/null +++ b/docs/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['readme_2emd',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] +]; diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html new file mode 100644 index 0000000..bc73761 --- /dev/null +++ b/docs/html/search/functions_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js new file mode 100644 index 0000000..67328ed --- /dev/null +++ b/docs/html/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['life',['Life',['../class_life.html#a56dbe39e5a64054a74332907a1d6a88a',1,'Life']]] +]; diff --git a/docs/html/search/functions_1.html b/docs/html/search/functions_1.html new file mode 100644 index 0000000..bfcf880 --- /dev/null +++ b/docs/html/search/functions_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js new file mode 100644 index 0000000..ef1415a --- /dev/null +++ b/docs/html/search/functions_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]] +]; diff --git a/docs/html/search/functions_2.html b/docs/html/search/functions_2.html new file mode 100644 index 0000000..2b44474 --- /dev/null +++ b/docs/html/search/functions_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js new file mode 100644 index 0000000..88b19d8 --- /dev/null +++ b/docs/html/search/functions_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['print',['print',['../class_life.html#a502bd46fefb24950e64865ce87c4b670',1,'Life']]], + ['print_5foptions',['print_options',['../class_life.html#a894425e74e67cce9057ae0f2d34df334',1,'Life']]] +]; diff --git a/docs/html/search/functions_3.html b/docs/html/search/functions_3.html new file mode 100644 index 0000000..3dca367 --- /dev/null +++ b/docs/html/search/functions_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js new file mode 100644 index 0000000..05f2d75 --- /dev/null +++ b/docs/html/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['readoptions',['readOptions',['../input_8h.html#a3d882f035308b7e0c7db1527d5e68f43',1,'readOptions(int argc, char *argv[], Life &life): input.cpp'],['../input_8cpp.html#a3d882f035308b7e0c7db1527d5e68f43',1,'readOptions(int argc, char *argv[], Life &life): input.cpp']]] +]; diff --git a/docs/html/search/functions_4.html b/docs/html/search/functions_4.html new file mode 100644 index 0000000..e713f28 --- /dev/null +++ b/docs/html/search/functions_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js new file mode 100644 index 0000000..2327f93 --- /dev/null +++ b/docs/html/search/functions_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['show_5fhelp',['show_help',['../input_8h.html#ac29c297ae32acdb2172e926d5f144681',1,'show_help(): input.cpp'],['../input_8cpp.html#ac29c297ae32acdb2172e926d5f144681',1,'show_help(): input.cpp']]] +]; diff --git a/docs/html/search/functions_5.html b/docs/html/search/functions_5.html new file mode 100644 index 0000000..cfe6b17 --- /dev/null +++ b/docs/html/search/functions_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js new file mode 100644 index 0000000..477d802 --- /dev/null +++ b/docs/html/search/functions_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7elife',['~Life',['../class_life.html#ac5a521e06906fb4f834001b2b4f7adc7',1,'Life']]] +]; diff --git a/docs/html/search/mag_sel.png b/docs/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..39c0ed52a25dd9d080ee0d42ae6c6042bdfa04d7 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!2%?$TA$hhDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~NU84L`?eGCi_EEpJ?t}-xGu`@87+QPtK?83kxQ`TapwHK(CDaqU2h2ejD|C#+j z9%q3^WHAE+w=f7ZGR&GI0Tg5}@$_|Nf5gMiEhFgvHvB$N=!mC_V~EE2vzPXI9ZnEo zd+1zHor@dYLod2Y{ z@R$7$Z!PXTbY$|@#T!bMzm?`b<(R`cbw(gxJHzu zB$lLFB^RXvDF!10LknF)BV7aY5JN*NBMU1-b8Q0yD+2>vd*|CI8glbfGSez?Ylunu RoetE%;OXk;vd$@?2>>CYplSdB literal 0 HcmV?d00001 diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html new file mode 100644 index 0000000..4377320 --- /dev/null +++ b/docs/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/html/search/pages_0.html b/docs/html/search/pages_0.html new file mode 100644 index 0000000..3d06b05 --- /dev/null +++ b/docs/html/search/pages_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/pages_0.js b/docs/html/search/pages_0.js new file mode 100644 index 0000000..4f991a6 --- /dev/null +++ b/docs/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cellular_5fautomaton',['cellular_automaton',['../md__r_e_a_d_m_e.html',1,'']]] +]; diff --git a/docs/html/search/search.css b/docs/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/docs/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/html/search/search.js b/docs/html/search/search.js new file mode 100644 index 0000000..a554ab9 --- /dev/null +++ b/docs/html/search/search.js @@ -0,0 +1,814 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/html/search/search_r.png b/docs/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js new file mode 100644 index 0000000..760f6a4 --- /dev/null +++ b/docs/html/search/searchdata.js @@ -0,0 +1,30 @@ +var indexSectionsWithContent = +{ + 0: "abcdefilmoprs~", + 1: "clo", + 2: "ilmr", + 3: "lmprs~", + 4: "abdefimo", + 5: "c" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Classes", + 2: "Files", + 3: "Functions", + 4: "Variables", + 5: "Pages" +}; + diff --git a/docs/html/search/variables_0.html b/docs/html/search/variables_0.html new file mode 100644 index 0000000..12104bc --- /dev/null +++ b/docs/html/search/variables_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js new file mode 100644 index 0000000..cc3e588 --- /dev/null +++ b/docs/html/search/variables_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['alive',['alive',['../life_8h.html#aba266ac5bedc36291854d0a132656c92',1,'life.h']]], + ['alivecolor',['alivecolor',['../struct_life_1_1_options.html#ac151206f68721b1ef2d09661c047ac34',1,'Life::Options']]] +]; diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html new file mode 100644 index 0000000..b784017 --- /dev/null +++ b/docs/html/search/variables_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js new file mode 100644 index 0000000..eb68f42 --- /dev/null +++ b/docs/html/search/variables_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['bkgcolor',['bkgcolor',['../struct_life_1_1_options.html#a840a967b4f4cd91900b22b6ebc8296e0',1,'Life::Options']]], + ['blocksize',['blocksize',['../struct_life_1_1_options.html#a3d7f38ba1e6127341ba19c399126c924',1,'Life::Options']]] +]; diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html new file mode 100644 index 0000000..0cb98d3 --- /dev/null +++ b/docs/html/search/variables_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js new file mode 100644 index 0000000..6366687 --- /dev/null +++ b/docs/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dead',['dead',['../life_8h.html#aba4d8edbd5cd7c809d47d25ad55bf8e5',1,'life.h']]] +]; diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html new file mode 100644 index 0000000..1e83bf5 --- /dev/null +++ b/docs/html/search/variables_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js new file mode 100644 index 0000000..49c86f4 --- /dev/null +++ b/docs/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['empty',['empty',['../life_8h.html#a7ea74f2d32e82dc7693e8b11d99b9a68',1,'life.h']]] +]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html new file mode 100644 index 0000000..39883bd --- /dev/null +++ b/docs/html/search/variables_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js new file mode 100644 index 0000000..9f08f90 --- /dev/null +++ b/docs/html/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fps',['fps',['../struct_life_1_1_options.html#a88678e047b983eb92e4f34c4a4ce6784',1,'Life::Options']]] +]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html new file mode 100644 index 0000000..f25879c --- /dev/null +++ b/docs/html/search/variables_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js new file mode 100644 index 0000000..0c1c2ae --- /dev/null +++ b/docs/html/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['imgdir',['imgdir',['../struct_life_1_1_options.html#a9048c3ccf09a927c9560204ccae7931a',1,'Life::Options']]], + ['inputfile',['inputfile',['../struct_life_1_1_options.html#a361f83ee24d66a2c9a01bab9e5b1660c',1,'Life::Options']]] +]; diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html new file mode 100644 index 0000000..0fcd6c2 --- /dev/null +++ b/docs/html/search/variables_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js new file mode 100644 index 0000000..9a1e240 --- /dev/null +++ b/docs/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['maxgen',['maxgen',['../struct_life_1_1_options.html#a36431d81d65480f6a324fa5b2aa4a0a5',1,'Life::Options']]] +]; diff --git a/docs/html/search/variables_7.html b/docs/html/search/variables_7.html new file mode 100644 index 0000000..ad2fa37 --- /dev/null +++ b/docs/html/search/variables_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js new file mode 100644 index 0000000..e2d67e6 --- /dev/null +++ b/docs/html/search/variables_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['options',['options',['../class_life.html#aae4f41e1e8aa0e8ee5abefd0aa9d89a9',1,'Life']]], + ['outfile',['outfile',['../struct_life_1_1_options.html#a3462aa97b7f65c0cf48457ef3ee2ee0f',1,'Life::Options']]] +]; diff --git a/docs/html/splitbar.png b/docs/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/docs/html/struct_life_1_1_options-members.html b/docs/html/struct_life_1_1_options-members.html new file mode 100644 index 0000000..8e5486f --- /dev/null +++ b/docs/html/struct_life_1_1_options-members.html @@ -0,0 +1,114 @@ + + + + + + + +Cellular Automaton: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Cellular Automaton +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Life::Options Member List
    +
    + +
    + + + + diff --git a/docs/html/struct_life_1_1_options.html b/docs/html/struct_life_1_1_options.html new file mode 100644 index 0000000..feb02ad --- /dev/null +++ b/docs/html/struct_life_1_1_options.html @@ -0,0 +1,292 @@ + + + + + + + +Cellular Automaton: Life::Options Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Cellular Automaton +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    Life::Options Struct Reference
    +
    +
    + +

    Save command line arguments. + More...

    + +

    #include <life.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int maxgen = 100
     Maximum number of generations. More...
     
    int fps = 2
     Number of generations presented per second. More...
     
    int blocksize = 5
     Pixel size of a cell. More...
     
    std::string alivecolor = "RED"
     Color name for representing alive cells. More...
     
    std::string bkgcolor = "GREEN"
     Color name for the background. More...
     
    std::string imgdir = "data/images/"
     Directory where output images are written to. More...
     
    std::string inputfile
     Filename for the input file. More...
     
    std::string outfile = "data/log.txt"
     Filename for the output file. More...
     
    +

    Detailed Description

    +

    Save command line arguments.

    + +

    Definition at line 47 of file life.h.

    +

    Member Data Documentation

    + +

    ◆ alivecolor

    + +
    +
    + + + + +
    std::string Life::Options::alivecolor = "RED"
    +
    + +

    Color name for representing alive cells.

    + +

    Definition at line 51 of file life.h.

    + +
    +
    + +

    ◆ bkgcolor

    + +
    +
    + + + + +
    std::string Life::Options::bkgcolor = "GREEN"
    +
    + +

    Color name for the background.

    + +

    Definition at line 52 of file life.h.

    + +
    +
    + +

    ◆ blocksize

    + +
    +
    + + + + +
    int Life::Options::blocksize = 5
    +
    + +

    Pixel size of a cell.

    + +

    Definition at line 50 of file life.h.

    + +
    +
    + +

    ◆ fps

    + +
    +
    + + + + +
    int Life::Options::fps = 2
    +
    + +

    Number of generations presented per second.

    + +

    Definition at line 49 of file life.h.

    + +
    +
    + +

    ◆ imgdir

    + +
    +
    + + + + +
    std::string Life::Options::imgdir = "data/images/"
    +
    + +

    Directory where output images are written to.

    + +

    Definition at line 53 of file life.h.

    + +
    +
    + +

    ◆ inputfile

    + +
    +
    + + + + +
    std::string Life::Options::inputfile
    +
    + +

    Filename for the input file.

    + +

    Definition at line 54 of file life.h.

    + +
    +
    + +

    ◆ maxgen

    + +
    +
    + + + + +
    int Life::Options::maxgen = 100
    +
    + +

    Maximum number of generations.

    + +

    Definition at line 48 of file life.h.

    + +
    +
    + +

    ◆ outfile

    + +
    +
    + + + + +
    std::string Life::Options::outfile = "data/log.txt"
    +
    + +

    Filename for the output file.

    + +

    Definition at line 55 of file life.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/html/struct_life_1_1_options.js b/docs/html/struct_life_1_1_options.js new file mode 100644 index 0000000..fe81f9b --- /dev/null +++ b/docs/html/struct_life_1_1_options.js @@ -0,0 +1,11 @@ +var struct_life_1_1_options = +[ + [ "alivecolor", "struct_life_1_1_options.html#ac151206f68721b1ef2d09661c047ac34", null ], + [ "bkgcolor", "struct_life_1_1_options.html#a840a967b4f4cd91900b22b6ebc8296e0", null ], + [ "blocksize", "struct_life_1_1_options.html#a3d7f38ba1e6127341ba19c399126c924", null ], + [ "fps", "struct_life_1_1_options.html#a88678e047b983eb92e4f34c4a4ce6784", null ], + [ "imgdir", "struct_life_1_1_options.html#a9048c3ccf09a927c9560204ccae7931a", null ], + [ "inputfile", "struct_life_1_1_options.html#a361f83ee24d66a2c9a01bab9e5b1660c", null ], + [ "maxgen", "struct_life_1_1_options.html#a36431d81d65480f6a324fa5b2aa4a0a5", null ], + [ "outfile", "struct_life_1_1_options.html#a3462aa97b7f65c0cf48457ef3ee2ee0f", null ] +]; \ No newline at end of file diff --git a/docs/html/sync_off.png b/docs/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/docs/html/sync_on.png b/docs/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/docs/html/tab_a.png b/docs/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/docs/html/tab_b.png b/docs/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/docs/html/tabs.css b/docs/html/tabs.css new file mode 100644 index 0000000..8ea7d54 --- /dev/null +++ b/docs/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/docs/jogo_da_vida.pdf b/docs/jogo_da_vida.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3d34c9cc95e9747c2699a08f28660e8e8cc10910 GIT binary patch literal 272762 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

    {4u4qER)_i6F9 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Òv3i`D=o9pY#IbhJ}%@;&D$f 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 W#?a^rJ_kbW6^d*P1cT9@7~sE2(sHQ) literal 0 HcmV?d00001 diff --git a/docs/man/man3/Cell.3 b/docs/man/man3/Cell.3 new file mode 100644 index 0000000..8081113 --- /dev/null +++ b/docs/man/man3/Cell.3 @@ -0,0 +1,20 @@ +.TH "Cell" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Cell \- Status of the cell\&. + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SH "Detailed Description" +.PP +Status of the cell\&. +.PP +Definition at line 15 of file life\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/Life.3 b/docs/man/man3/Life.3 new file mode 100644 index 0000000..133ba58 --- /dev/null +++ b/docs/man/man3/Life.3 @@ -0,0 +1,87 @@ +.TH "Life" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Life +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Classes" + +.in +1c +.ti -1c +.RI "struct \fBOptions\fP" +.br +.RI "Save command line arguments\&. " +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBLife\fP (data_type M, data_type N)" +.br +.RI "Default constructor\&. " +.ti -1c +.RI "\fB~Life\fP ()" +.br +.RI "Desconstructor\&. " +.ti -1c +.RI "void \fBprint_options\fP ()" +.br +.RI "Print the command line arguments\&. " +.ti -1c +.RI "void \fBprint\fP ()" +.br +.RI "Print the board\&. " +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "struct \fBLife::Options\fP \fBoptions\fP" +.br +.RI "Initialize the struct\&. " +.in -1c +.SH "Detailed Description" +.PP +Definition at line 20 of file life\&.h\&. +.SH "Constructor & Destructor Documentation" +.PP +.SS "Life::Life (data_type M, data_type N)\fC [inline]\fP" + +.PP +Default constructor\&. +.PP +Definition at line 32 of file life\&.h\&. +.SS "Life::~Life ()\fC [inline]\fP" + +.PP +Desconstructor\&. +.PP +Definition at line 43 of file life\&.h\&. +.SH "Member Function Documentation" +.PP +.SS "void Life::print ()\fC [inline]\fP" + +.PP +Print the board\&. +.PP +Definition at line 73 of file life\&.h\&. +.SS "void Life::print_options ()\fC [inline]\fP" + +.PP +Print the command line arguments\&. +.PP +Definition at line 60 of file life\&.h\&. +.SH "Member Data Documentation" +.PP +.SS "struct \fBLife::Options\fP Life::options" + +.PP +Initialize the struct\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/Life_Options.3 b/docs/man/man3/Life_Options.3 new file mode 100644 index 0000000..703d2d7 --- /dev/null +++ b/docs/man/man3/Life_Options.3 @@ -0,0 +1,106 @@ +.TH "Life::Options" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Life::Options \- Save command line arguments\&. + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "int \fBmaxgen\fP = 100" +.br +.RI "Maximum number of generations\&. " +.ti -1c +.RI "int \fBfps\fP = 2" +.br +.RI "Number of generations presented per second\&. " +.ti -1c +.RI "int \fBblocksize\fP = 5" +.br +.RI "Pixel size of a cell\&. " +.ti -1c +.RI "std::string \fBalivecolor\fP = 'RED'" +.br +.RI "Color name for representing alive cells\&. " +.ti -1c +.RI "std::string \fBbkgcolor\fP = 'GREEN'" +.br +.RI "Color name for the background\&. " +.ti -1c +.RI "std::string \fBimgdir\fP = 'data/images/'" +.br +.RI "Directory where output images are written to\&. " +.ti -1c +.RI "std::string \fBinputfile\fP" +.br +.RI "Filename for the input file\&. " +.ti -1c +.RI "std::string \fBoutfile\fP = 'data/log\&.txt'" +.br +.RI "Filename for the output file\&. " +.in -1c +.SH "Detailed Description" +.PP +Save command line arguments\&. +.PP +Definition at line 47 of file life\&.h\&. +.SH "Member Data Documentation" +.PP +.SS "std::string Life::Options::alivecolor = 'RED'" + +.PP +Color name for representing alive cells\&. +.PP +Definition at line 51 of file life\&.h\&. +.SS "std::string Life::Options::bkgcolor = 'GREEN'" + +.PP +Color name for the background\&. +.PP +Definition at line 52 of file life\&.h\&. +.SS "int Life::Options::blocksize = 5" + +.PP +Pixel size of a cell\&. +.PP +Definition at line 50 of file life\&.h\&. +.SS "int Life::Options::fps = 2" + +.PP +Number of generations presented per second\&. +.PP +Definition at line 49 of file life\&.h\&. +.SS "std::string Life::Options::imgdir = 'data/images/'" + +.PP +Directory where output images are written to\&. +.PP +Definition at line 53 of file life\&.h\&. +.SS "std::string Life::Options::inputfile" + +.PP +Filename for the input file\&. +.PP +Definition at line 54 of file life\&.h\&. +.SS "int Life::Options::maxgen = 100" + +.PP +Maximum number of generations\&. +.PP +Definition at line 48 of file life\&.h\&. +.SS "std::string Life::Options::outfile = 'data/log\&.txt'" + +.PP +Filename for the output file\&. +.PP +Definition at line 55 of file life\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/README.md.3 b/docs/man/man3/README.md.3 new file mode 100644 index 0000000..4f5408a --- /dev/null +++ b/docs/man/man3/README.md.3 @@ -0,0 +1,11 @@ +.TH "README.md" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +README.md +.SH SYNOPSIS +.br +.PP +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_build_.3 b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_build_.3 new file mode 100644 index 0000000..bf2e36f --- /dev/null +++ b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_build_.3 @@ -0,0 +1,18 @@ +.TH "build Directory Reference" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +build Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Files" + +.in +1c +.ti -1c +.RI "file \fBinput\&.d\fP" +.br +.ti -1c +.RI "file \fBmain\&.d\fP" +.br +.in -1c diff --git a/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_include_.3 b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_include_.3 new file mode 100644 index 0000000..a4f6f7f --- /dev/null +++ b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_include_.3 @@ -0,0 +1,18 @@ +.TH "include Directory Reference" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Files" + +.in +1c +.ti -1c +.RI "file \fBinput\&.h\fP" +.br +.ti -1c +.RI "file \fBlife\&.h\fP" +.br +.in -1c diff --git a/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_src_.3 b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_src_.3 new file mode 100644 index 0000000..e1b7700 --- /dev/null +++ b/docs/man/man3/_home_imns1ght_workspace_cellular_automaton_src_.3 @@ -0,0 +1,18 @@ +.TH "src Directory Reference" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +src Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Files" + +.in +1c +.ti -1c +.RI "file \fBinput\&.cpp\fP" +.br +.ti -1c +.RI "file \fBmain\&.cpp\fP" +.br +.in -1c diff --git a/docs/man/man3/input.cpp.3 b/docs/man/man3/input.cpp.3 new file mode 100644 index 0000000..d637050 --- /dev/null +++ b/docs/man/man3/input.cpp.3 @@ -0,0 +1,78 @@ +.TH "src/input.cpp" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +src/input.cpp +.SH SYNOPSIS +.br +.PP +\fC#include '\&.\&./include/input\&.h'\fP +.br + +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBshow_help\fP ()" +.br +.RI "Show the arguments available from cli\&. " +.ti -1c +.RI "int \fBreadOptions\fP (int argc, char *argv[], \fBLife\fP &life)" +.br +.RI "Read the arguments from cli\&. " +.in -1c +.SH "Detailed Description" +.PP + +.PP +\fBAuthor:\fP +.RS 4 +Jefferson Bruno, Ranieri Santos +.RE +.PP +\fBDate:\fP +.RS 4 +22/05/2019 +.RE +.PP + +.PP +Definition in file \fBinput\&.cpp\fP\&. +.SH "Function Documentation" +.PP +.SS "int readOptions (int argc, char * argv[], \fBLife\fP & life)" + +.PP +Read the arguments from cli\&. +.PP +\fBParameters:\fP +.RS 4 +\fIargc\fP Number of arguments\&. +.br +\fIargv\fP Array of arguments\&. +.br +\fI&life\fP Object used to save options +.RE +.PP +\fBExceptions:\fP +.RS 4 +\fIstd::invalid_argument\fP +.RE +.PP +\fBReturns:\fP +.RS 4 +0 if success, and -1 if failed\&. +.RE +.PP + +.PP +Definition at line 29 of file input\&.cpp\&. +.SS "void show_help ()" + +.PP +Show the arguments available from cli\&. +.PP +Definition at line 10 of file input\&.cpp\&. +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/input.d.3 b/docs/man/man3/input.d.3 new file mode 100644 index 0000000..a6cc247 --- /dev/null +++ b/docs/man/man3/input.d.3 @@ -0,0 +1,11 @@ +.TH "build/input.d" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +build/input.d +.SH SYNOPSIS +.br +.PP +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/input.h.3 b/docs/man/man3/input.h.3 new file mode 100644 index 0000000..3f0c6b5 --- /dev/null +++ b/docs/man/man3/input.h.3 @@ -0,0 +1,86 @@ +.TH "include/input.h" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/input.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include '\&.\&./include/life\&.h'\fP +.br + +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBshow_help\fP ()" +.br +.RI "Show the arguments available from cli\&. " +.ti -1c +.RI "int \fBreadOptions\fP (int argc, char *argv[], \fBLife\fP &life)" +.br +.RI "Read the arguments from cli\&. " +.in -1c +.SH "Detailed Description" +.PP + +.PP +\fBAuthor:\fP +.RS 4 +Jefferson Bruno, Ranieri Santos +.RE +.PP +\fBDate:\fP +.RS 4 +22/05/2019 +.RE +.PP + +.PP +Definition in file \fBinput\&.h\fP\&. +.SH "Function Documentation" +.PP +.SS "int readOptions (int argc, char * argv[], \fBLife\fP & life)" + +.PP +Read the arguments from cli\&. +.PP +\fBParameters:\fP +.RS 4 +\fIargc\fP Number of arguments\&. +.br +\fIargv\fP Array of arguments\&. +.br +\fI&life\fP Object used to save options +.RE +.PP +\fBExceptions:\fP +.RS 4 +\fIstd::invalid_argument\fP +.RE +.PP +\fBReturns:\fP +.RS 4 +0 if success, and -1 if failed\&. +.RE +.PP + +.PP +Definition at line 29 of file input\&.cpp\&. +.SS "void show_help ()" + +.PP +Show the arguments available from cli\&. +.PP +Definition at line 10 of file input\&.cpp\&. +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/life.h.3 b/docs/man/man3/life.h.3 new file mode 100644 index 0000000..79e0015 --- /dev/null +++ b/docs/man/man3/life.h.3 @@ -0,0 +1,73 @@ +.TH "include/life.h" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/life.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br + +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBCell\fP" +.br +.RI "Status of the cell\&. " +.ti -1c +.RI "class \fBLife\fP" +.br +.ti -1c +.RI "struct \fBLife::Options\fP" +.br +.RI "Save command line arguments\&. " +.in -1c +.SS "Variables" + +.in +1c +.ti -1c +.RI "const int \fBempty\fP = \-1" +.br +.RI "No cell\&. " +.ti -1c +.RI "const int \fBdead\fP = 0" +.br +.RI "Dead cell\&. " +.ti -1c +.RI "const int \fBalive\fP = 1" +.br +.RI "Alive cell\&. " +.in -1c +.SH "Variable Documentation" +.PP +.SS "const int alive = 1" + +.PP +Alive cell\&. +.PP +Definition at line 12 of file life\&.h\&. +.SS "const int dead = 0" + +.PP +Dead cell\&. +.PP +Definition at line 11 of file life\&.h\&. +.SS "const int empty = \-1" + +.PP +No cell\&. +.PP +Definition at line 10 of file life\&.h\&. +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/main.cpp.3 b/docs/man/man3/main.cpp.3 new file mode 100644 index 0000000..a1cc69b --- /dev/null +++ b/docs/man/man3/main.cpp.3 @@ -0,0 +1,66 @@ +.TH "src/main.cpp" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +src/main.cpp +.SH SYNOPSIS +.br +.PP +\fC#include <\&.\&./include/input\&.h>\fP +.br +\fC#include <\&.\&./include/life\&.h>\fP +.br + +.SS "Functions" + +.in +1c +.ti -1c +.RI "int \fBmain\fP (int argc, char *argv[])" +.br +.in -1c +.SH "Detailed Description" +.PP + +.PP +\fBAuthor:\fP +.RS 4 +Jefferson Bruno, Ranieri Santos +.RE +.PP +\fBDate:\fP +.RS 4 +22/05/2019 +.RE +.PP + +.PP +Definition in file \fBmain\&.cpp\fP\&. +.SH "Function Documentation" +.PP +.SS "int main (int argc, char * argv[])" + +.SS "Regras do game:" +.PP +.IP "1." 4 +Qualquer célula viva com menos de dois vizinhos vivos morre de solidão\&. +.br + +.IP "2." 4 +Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação\&. +.br + +.IP "3." 4 +Qualquer célula morta com exatamente três vizinhos vivos se torna uma célula viva\&. +.br + +.IP "4." 4 +Qualquer célula viva com dois ou três vizinhos vivos continua no mesmo estado para a próxima geração\&. +.br + +.PP + +.PP +Definition at line 17 of file main\&.cpp\&. +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/main.d.3 b/docs/man/man3/main.d.3 new file mode 100644 index 0000000..bb212a8 --- /dev/null +++ b/docs/man/man3/main.d.3 @@ -0,0 +1,11 @@ +.TH "build/main.d" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +build/main.d +.SH SYNOPSIS +.br +.PP +.SH "Author" +.PP +Generated automatically by Doxygen for Cellular Automaton from the source code\&. diff --git a/docs/man/man3/md__r_e_a_d_m_e.3 b/docs/man/man3/md__r_e_a_d_m_e.3 new file mode 100644 index 0000000..72e9934 --- /dev/null +++ b/docs/man/man3/md__r_e_a_d_m_e.3 @@ -0,0 +1,6 @@ +.TH "md__r_e_a_d_m_e" 3 "Fri May 17 2019" "Cellular Automaton" \" -*- nroff -*- +.ad l +.nh +.SH NAME +md__r_e_a_d_m_e \- cellular_automaton +Conway's Game of \fBLife\fP like simulation diff --git a/example.dat b/example.dat new file mode 100644 index 0000000..ba1ad4d --- /dev/null +++ b/example.dat @@ -0,0 +1,13 @@ +10 10 +* +....* +..... +........ +..*.* +...*...... +*** +. + +....* +................ +................ diff --git a/include/life.h b/include/life.h new file mode 100644 index 0000000..028f291 --- /dev/null +++ b/include/life.h @@ -0,0 +1,288 @@ +#ifndef LIFE_H +#define LIFE_H + +#include // getopt() +#include // atoi() +#include // memset() +#include // std::ifstream +#include // setw, setfill +#include // std::cout, std::cin +#include // ostringstream +#include // std::invalid_argument +#include // std::string +#include // std::vector + +const int empty = -1; //!< No cell +const int dead = 0; //!< Dead cell +const int alive = 1; //!< Alive cell + +/// Status of the cell +class Cell { + int x, y; //!< Coordinates + bool alive; //!< Cell state +}; + +/// Individual life +class Life { + using data_type = int; //!< The value type. + using pointer = data_type *; //!< Pointer to a value stored in the container. + using reference = data_type &; //!< Reference to a value stored in the container. + using const_reference = const data_type &; //!< Const reference to a value stored in the container. + + private: + data_type num_rows, num_col; // Dimensions of the matrix. + char cell_char; // Represent the cells. + std::vector> board; // Simulation board. + + public: + /// Default constructor + Life() {} + + /// Desconstructor + ~Life() {} + + /// Set the number of rows + void setNumRows(int n) { num_rows = n; } + + /// Get the number of rows + int getNumRows() { return num_rows; } + + /// Set the number of columns. + void setNumCol(int n) { num_col = n; } + + /// Get the number of columns + int getNumCol() { return num_col; } + + /// Set the char that represent an alive cell + void setCellChar(char a) { cell_char = a; } + + /// Get the char that represent an alive cell + char getCellChar() { return cell_char; } + + private: + void prepare_matrix(data_type size_row, data_type size_col) { + num_rows = size_row; + num_col = size_col; + + board.resize(num_rows); // Define the number of lines + + // In every row, create n columns with -1 (indicate empty space), + // thus this is equivalent to a num_rows x num_col. + for (int i = 0; i < num_rows; i++) { + board[i].assign(num_col, empty); + } + } + + /// Save command line arguments. + struct Options { + int maxgen = 100; //!< Maximum number of generations. + int fps = 2; //!< Number of generations presented per second. + int blocksize = 5; //!< Pixel size of a cell. + std::string alivecolor = "RED"; //!< Color name for representing alive cells. + std::string bkgcolor = "GREEN"; //!< Color name for the background. + std::string imgdir = "data/images/"; //!< Directory where output images are written to. + std::string inputfile; //!< Filename for the input file. + std::string outfile = "data/log.txt"; //!< Filename for the output file. + + } options; //!< Initialize the struct. + + /// Read the arguments from cli. + /*! + * \param argc Number of arguments. + * \param argv Array of arguments. + * \param &life Object used to save options + * \throw std::invalid_argument + * \return 0 if success, and -1 if failed. + */ + int read_options(int argc, char *argv[]) { + // Valid options available to read. + const struct option tmp[9] = { + {"help", no_argument, 0, 'h'}, + {"imgdir", 1, 0, 'd'}, + {"maxgen", 1, 0, 'm'}, + {"fps", 1, 0, 'f'}, + {"blocksize", 1, 0, 's'}, + {"bkgcolor", 1, 0, 'b'}, + {"alivecolor", 1, 0, 'a'}, + {"outfile", 1, 0, 'o'}, + {0, 0, 0, 0}, + }; + + // If there's no argument. + if (argc < 2) { + throw std::invalid_argument("Missing argument!\n"); + return -1; + } + + int opt; + while (optind < argc) { + if ((opt = getopt_long(argc, argv, "hd:m:f:s:b:a:o:", tmp, NULL)) != -1) { + switch (opt) { + case 'h': /* -h or --help */ + show_help(); + return 0; + case 'd': /* -d or --imgdir */ + options.imgdir = optarg; + break; + case 'm': /* -m or --maxgen */ + options.maxgen = atoi(optarg); + break; + case 'f': /* -f or --fps */ + options.fps = atoi(optarg); + break; + case 's': /* -s or --blocksize */ + options.blocksize = atoi(optarg); + break; + case 'b': /* -b or --bkgcolor */ + options.bkgcolor = optarg; + break; + case 'a': /* -a or --alivecolors */ + options.alivecolor = optarg; + break; + case 'o': /* -s or --outfile */ + options.outfile = optarg; + break; + + // No valid arguments provided. + default: + throw std::invalid_argument("Invalid argument!\n"); + return -1; + } + } else { + options.inputfile = argv[optind++]; // Path to data file + } + } + + // Verify if the path to data file was entered correctly. + if (options.inputfile == "") { + throw std::invalid_argument( + "Missing data file or the path was entered before the options.\n"); + return -1; + } + + return 0; + } + + /// Read config from data file. + /*! + * \return 0 if success, and -1 if failed. + */ + int read_file() { + std::ifstream file; + file.exceptions(std::ifstream::failbit | std::ifstream::badbit); + + try { + file.open(options.inputfile); //!< Open the file in reading mode. + + file >> num_rows >> num_col; + file >> cell_char; + + prepare_matrix(num_rows, num_col); // Prepare the matrix to store the cells. + + int i = 0; + std::string line; + while ((std::getline(file, line)) && (i < getNumRows())) { + for (auto j = 0; j < (int)line.size() && j < getNumCol(); j++) { + if (line[j] == getCellChar()) { + board[i][j] = 1; // Alive cell + } + } + + i++; + } + + file.close(); + + } catch (std::ifstream::failure &e) { + return -1; + } + + return 0; + } + + public: + /// Print the command line arguments. + void print_options() { + std::cout << ">>> Options <<< \n"; + std::cout << "imgdir: \"" << options.imgdir << "\"" << std::endl; + std::cout << "maxgen: " << options.maxgen << std::endl; + std::cout << "fps: " << options.fps << std::endl; + std::cout << "blocksize: " << options.blocksize << std::endl; + std::cout << "bkgcolor: " << options.bkgcolor << std::endl; + std::cout << "alivecolor: " << options.alivecolor << std::endl; + std::cout << "inputfile: \"" << options.inputfile << "\"" << std::endl; + std::cout << "outfile: \"" << options.outfile << "\"" << std::endl; + } + + /// Print the matrix. + void print_matrix() { + std::ostringstream data; + + for (int i = 0; i < num_rows; i++) { + for (int j = 0; j < num_col; j++) { + data << std::setw(2) << board[i][j] << " "; + } + data << '\n'; + } + + std::cout << data.str(); + } + + /// Print the board. + void print_board() { + std::ostringstream data; + + for (int i = 0; i < num_rows; i++) { + data << "[ "; + for (int j = 0; j < num_col; j++) { + if (board[i][j] == -1) { + data << " "; + } else { + data << std::setw(1) << cell_char << ""; + } + } + data << " ]\n"; + } + + std::cout << data.str(); + } + + /// Show the arguments available from cli. + void show_help() { + std::cerr + << "Usage: glife [] \n" + "Simulation options:\n" + "\t--help\t\t\tPrint this help text.\n" + "\t--imgdir \t\tSpecify directory where output images are written to.\n" + "\t--maxgen \t\tMaximum number of generations to simulate.\n" + "\t--fps \t\tNumber of generations presented per second.\n" + "\t--blocksize \tPixel size of a cell. Default = 5.\n" + "\t--bkgcolor \tColor name for the background. Default GREEN.\n" + "\t--alivecolor \tColor name for representing alive cells. Default RED.\n" + "\t--outfile \tWrite the text representation of the simulation to the given " + "filename.\n\n" + "Available colors are:\n" + "\tBLACK BLUE CRIMSON DARK_GREEN DEEP_SKY_BLUE DODGER_BLUE\n" + "\tGREEN LIGHT_BLUE LIGHT_GREY LIGHT_YELLOW RED STEEL_BLUE\n" + "\tWHITE YELLOW\n\n"; + } + + int initialize(int argc, char *argv[]) { + try { + read_options(argc, argv); + } catch (const std::invalid_argument &ia) { + std::cerr << "\033[0;31m>>> Error: " << ia.what() << "\033[0m\n"; + show_help(); + return -1; + } + + if (read_file() == -1) { + std::cerr << "\033[0;31m>>> Error: Exception opening/reading/closing file\033[0m\n"; + return -1; + } + + return 0; + } +}; + +#endif \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..dcd20a1 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,51 @@ +/*! + * \file main.cpp + * \author Jefferson Bruno, Ranieri Santos + * \date 22/05/2019 + */ + +#include <../include/life.h> + +/** ### Regras do game: + * + *1. Qualquer célula viva com menos de dois vizinhos vivos morre de solidão.\n + *2. Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação.\n + *3. Qualquer célula morta com exatamente três vizinhos vivos se torna uma célula viva.\n + *4. Qualquer célula viva com dois ou três vizinhos vivos continua no mesmo estado para a próxima geração.\n + */ +int main(int argc, char* argv[]) { + Life game; + + // Show informations if success + if (game.initialize(argc, argv) != -1) { + // #TEST + std::cout << game.getNumRows() << " " << game.getNumCol() << std::endl; + std::cout << game.getCellChar() << std::endl; + game.print_board(); + std::cout << std::endl; + game.print_matrix(); + std::cout << std::endl; + game.print_options(); + std::cout << std::endl; + } + + //=== OBJECTIVE === + /* + life::lifeGame game; + + // Set up simulation + game.initialize(argc, argv); + + // Initial message + game.render(); + + // Game Loop + while (!game.game_over()) { + game.process_events(); + game.update(); + game.render(); + } + */ + + return 0; +} \ No newline at end of file