summaryrefslogtreecommitdiffstats
Side-by-side diff
-rw-r--r--src/Makefile.am55
-rw-r--r--src/controller/README_controller.txt18
-rw-r--r--src/controller/actions/clear_selection.h (renamed from src/controller/clear_selection.h)0
-rw-r--r--src/controller/actions/clear_selection.sqc (renamed from src/controller/clear_selection.sqc)4
-rw-r--r--src/controller/actions/pan.c8
-rw-r--r--src/controller/actions/pan.h9
-rw-r--r--src/controller/actions/process_hits.c (renamed from src/controller/exp004processhits.c)12
-rw-r--r--src/controller/actions/process_hits.h8
-rw-r--r--src/controller/actions/sel_save.c141
-rw-r--r--src/controller/actions/sel_save.h9
-rw-r--r--src/controller/actions/sel_save.sqc (renamed from src/controller/selsave.sqc)8
-rw-r--r--src/controller/actions/selection_from_db.h (renamed from src/controller/selection_from_db.h)0
-rw-r--r--src/controller/actions/selection_from_db.sqc (renamed from src/controller/selection_from_db.sqc)8
-rw-r--r--src/controller/actions/set_ortho.h (renamed from src/controller/set_ortho.h)0
-rw-r--r--src/controller/actions/vis_sel_set.h (renamed from src/controller/vis_sel_set.h)0
-rw-r--r--src/controller/actions/zoom.c (renamed from src/controller/performzoom.c)12
-rw-r--r--src/controller/actions/zoom.h9
-rw-r--r--src/controller/callbacks/display.c (renamed from src/controller/exp004display.c)8
-rw-r--r--src/controller/callbacks/display.h9
-rw-r--r--src/controller/callbacks/keyboard.c (renamed from src/controller/keyboard.c)10
-rw-r--r--src/controller/callbacks/keyboard.h (renamed from src/controller/keyboard.h)0
-rw-r--r--src/controller/callbacks/mouse.c (renamed from src/controller/exp004mouse.c)36
-rw-r--r--src/controller/callbacks/mouse.h9
-rw-r--r--src/controller/callbacks/mouse_wheel.c (renamed from src/controller/mousewheel.c)22
-rw-r--r--src/controller/callbacks/mouse_wheel.h (renamed from src/controller/mousewheel.h)8
-rw-r--r--src/controller/callbacks/reshape.c (renamed from src/controller/exp004reshape.c)10
-rw-r--r--src/controller/callbacks/reshape.h6
-rw-r--r--src/controller/exp004display.h6
-rw-r--r--src/controller/exp004mouse.h6
-rw-r--r--src/controller/exp004processhits.h8
-rw-r--r--src/controller/exp004reshape.h6
-rw-r--r--src/controller/performzoom.h9
-rw-r--r--src/controller/selsave.h9
-rw-r--r--src/controller/set_ortho.c21
-rw-r--r--src/model/geometry/density_legend_geometry.c4
-rw-r--r--src/view/exp004view.c20
36 files changed, 332 insertions, 176 deletions
diff --git a/src/controller/actions/selection_from_db.sqc b/src/controller/actions/selection_from_db.sqc
new file mode 100644
index 0000000..442f7c2
--- a/dev/null
+++ b/src/controller/actions/selection_from_db.sqc
@@ -0,0 +1,84 @@
+#define GL_GLEXT_PROTOTYPES
+#include "selection_from_db.h"
+#include "../../model/geometry/map_geometry.h"
+#include "../../view/exp004state0.h"
+#include "../../util/check_error.h"
+#include <GL/glut.h>
+#include "sqlca.h"
+extern struct sqlca sqlca;
+
+/*
+ * A simple alias to make the code more readable.
+ */
+#define S exp004state0
+
+void
+selection_from_db (void)
+{
+ /*
+ * db2dclgn -d exp004 -t vis_sel_set
+ */
+ EXEC SQL BEGIN DECLARE SECTION;
+ EXEC SQL INCLUDE 'controller/actions/vis_sel_set.h';
+ EXEC SQL END DECLARE SECTION;
+
+ EXEC SQL DECLARE c3 CURSOR FOR
+ SELECT * FROM vis_sel_set ORDER BY title, id DESC;
+
+ EXEC SQL OPEN c3;
+ check_error (__FILE__, __LINE__);
+
+ /*
+ * This loop currently assumes only one set in the table and does
+ * not use the title assigned to that set. This should be improved
+ * to allow the user to manage multiple sets by name.
+ */
+ EXEC SQL FETCH c3 INTO:vis_sel_set;
+ while (sqlca.sqlcode != 100)
+ {
+ int i = vis_sel_set.id - 1;
+
+ /*
+ * Loaded sets do not automatically become part of the current
+ * selection, however they could be added to it. This is an
+ * issue to work out in the interaction.
+ */
+ // S.selection.set[i] = true;
+
+ float *c = S.base_colors_data + (i * 4);
+ *c = vis_sel_set.r;
+ c++;
+ *c = vis_sel_set.g;
+ c++;
+ *c = vis_sel_set.b;
+ c++;
+ *c = 0.6;
+
+ EXEC SQL FETCH c3 INTO:vis_sel_set;
+ }
+
+ EXEC SQL CLOSE c3;
+ check_error (__FILE__, __LINE__);
+
+ EXEC SQL COMMIT;
+ check_error (__FILE__, __LINE__);
+
+ /*
+ * Update the graphics memory.
+ */
+
+ glBindBuffer (GL_ARRAY_BUFFER, S.buffers[BASE_COLORS]);
+ glColorPointer (4, GL_FLOAT, 0, 0);
+ glBufferData (GL_ARRAY_BUFFER,
+ sizeof (S.base_colors_data), S.base_colors_data,
+ GL_STATIC_DRAW);
+
+ /*
+ * Rebuild the display list.
+ */
+ map_geometry ();
+
+ glutPostRedisplay ();
+
+ return;
+}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.