grits
8 years agoAdd clicked signal to GritsObject
Andy Spencer [Sat, 15 Oct 2011 09:20:50 +0000 (09:20 +0000)]
Add clicked signal to GritsObject

Using mouse-down/mouse-up is rather not helpful since GritsViewer does a
lot with mouse drags.

8 years agoAdd mouse-over testing to test plugin
Andy Spencer [Sat, 15 Oct 2011 06:22:56 +0000 (06:22 +0000)]
Add mouse-over testing to test plugin

8 years agoAdd mouse, keyboard, and motion events to GritsObject
Andy Spencer [Sat, 15 Oct 2011 06:20:43 +0000 (06:20 +0000)]
Add mouse, keyboard, and motion events to GritsObject

These work by chaining the event from GritsOpenGL up to each individual
object, which then emits the callback if it is currently selected
(moused over).

8 years agoAdd mouse enter/leave signals to objects
Andy Spencer [Sat, 15 Oct 2011 06:13:39 +0000 (06:13 +0000)]
Add mouse enter/leave signals to objects

This uses the OpenGL Selection render mode to determine which objects
the mouse is over. It requires fairly tight integration between
GritsOpenGL and GritsObject.

The signal code is handled internally by GritsObject. However, most of
the actual selection matching work is done by GritsOpenGL.

Object types that wish to improve performance can implement the pick()
function in addition to the draw() function. The pick function is used
when performing selection matching. It works similar to draw, but does
not need to do textures/lighting/opacity/etc.

8 years agoCleanup GritsPoly
Andy Spencer [Sat, 15 Oct 2011 06:03:48 +0000 (06:03 +0000)]
Cleanup GritsPoly

- Add GL points at the corners
- Use polygon offset between fill and border
- Calculate actual center position

8 years agoRemove excess debug messages
Andy Spencer [Sat, 15 Oct 2011 06:01:09 +0000 (06:01 +0000)]
Remove excess debug messages

8 years agoAdd string parser to GritsPoly
Andy Spencer [Wed, 12 Oct 2011 08:30:35 +0000 (08:30 +0000)]
Add string parser to GritsPoly

8 years agoAdd configurable borders to GritsPoly
Andy Spencer [Wed, 12 Oct 2011 08:30:16 +0000 (08:30 +0000)]
Add configurable borders to GritsPoly

8 years agoFix crash when unable to cache http files
Andy Spencer [Tue, 11 Oct 2011 06:28:27 +0000 (06:28 +0000)]
Fix crash when unable to cache http files

8 years agoVersion bump for 0.5.2 v0.5.2
Andy Spencer [Mon, 12 Sep 2011 00:35:19 +0000 (00:35 +0000)]
Version bump for 0.5.2

8 years agoRemove no-undefined-symbols from gen.sh
Andy Spencer [Fri, 9 Sep 2011 06:19:49 +0000 (06:19 +0000)]
Remove no-undefined-symbols from gen.sh

This should be done properly in the Makefiles now.

8 years agoAdd linker flag for the math library
Andy Spencer [Fri, 9 Sep 2011 06:13:49 +0000 (06:13 +0000)]
Add linker flag for the math library

8 years agoFix compiler warning with gluTessCallback
Andy Spencer [Fri, 9 Sep 2011 06:07:29 +0000 (06:07 +0000)]
Fix compiler warning with gluTessCallback

8 years agoAdd glut config check v0.5.1
Andy Spencer [Wed, 24 Aug 2011 17:40:41 +0000 (17:40 +0000)]
Add glut config check

8 years agoVersion bump for 0.5.1
Andy Spencer [Wed, 24 Aug 2011 16:10:32 +0000 (16:10 +0000)]
Version bump for 0.5.1

8 years agoFix linker flags
Andy Spencer [Wed, 24 Aug 2011 16:00:47 +0000 (16:00 +0000)]
Fix linker flags

8 years agoAbort when opengl setup fails
Andy Spencer [Wed, 24 Aug 2011 15:43:20 +0000 (15:43 +0000)]
Abort when opengl setup fails

8 years agoAdd timeout for http servers
Andy Spencer [Wed, 24 Aug 2011 15:42:25 +0000 (15:42 +0000)]
Add timeout for http servers

Keep it low for now because a hung sever blocks tile loading

8 years agoSwitch to higher resolution elevation dataset
Andy Spencer [Wed, 24 Aug 2011 15:39:10 +0000 (15:39 +0000)]
Switch to higher resolution elevation dataset

- Tweak perspective so we can zoom in farther
- Use less preference for edge faces for better shading

8 years agoSpeed up movement when at low elevation
Andy Spencer [Sat, 30 Jul 2011 21:14:53 +0000 (21:14 +0000)]
Speed up movement when at low elevation

8 years agoUpdate map URL and layers
Andy Spencer [Sat, 2 Jul 2011 04:17:45 +0000 (04:17 +0000)]
Update map URL and layers

Server moved to vmap0.tiles.osgeo.org

Added new layers for labels, roads, and a few other things

8 years agoAdd reset locale when formatting certain strings
Andy Spencer [Sat, 2 Jul 2011 03:19:35 +0000 (03:19 +0000)]
Add reset locale when formatting certain strings

LC_NUMERIC is used to determine the conversion for "%f" this can result
in errors when formatting strings with expected floating point formats.

8 years agoVersion bump for 0.5 v0.5.x v0.5
Andy Spencer [Sat, 18 Jun 2011 22:42:04 +0000 (22:42 +0000)]
Version bump for 0.5

8 years agoAdd GL bindings example program
Andy Spencer [Sat, 18 Jun 2011 22:16:27 +0000 (22:16 +0000)]
Add GL bindings example program

Basic standalone program that draws a circle using:
  - Cairo
  - GktGLExt
  - GLX (X11)
  - WGL (Win32)
  - CGL (Mac OS, not implemented)

8 years agoAdd some stubbed code for Mac OS support
Andy Spencer [Sat, 18 Jun 2011 22:12:38 +0000 (22:12 +0000)]
Add some stubbed code for Mac OS support

(This won't compile yet)

8 years agoChange binaries to shared objects
Andy Spencer [Sat, 18 Jun 2011 22:10:17 +0000 (22:10 +0000)]
Change binaries to shared objects

There's a double load of the GObjects when using static libraries with
plugins. Shared libraries avoid this, I think there are other work
arounds that let static binaries work too, but this should be fine for
now.

8 years agoUse only shared libs on win32
Andy Spencer [Wed, 8 Jun 2011 16:10:52 +0000 (16:10 +0000)]
Use only shared libs on win32

8 years agoVersion bump to 0.5-p0
Andy Spencer [Tue, 7 Jun 2011 09:50:15 +0000 (09:50 +0000)]
Version bump to 0.5-p0

8 years agoSwitch from GtkGLExt to internal OpenGL handling
Andy Spencer [Tue, 7 Jun 2011 08:43:32 +0000 (08:43 +0000)]
Switch from GtkGLExt to internal OpenGL handling

GtkGLExt has many problems:
  - It's code is bloated and convoluted
  - It doesn't work on Win32
  - It doesn't work with gtk+-3.0
  - The last release was in early 2006

Using our own lets us fix these issues and should be easier to maintain
than trying to figure out the GtkGLExt mess, or waiting for someone else
to fix it.

8 years agoUse -shared for plugins
Andy Spencer [Tue, 24 May 2011 06:11:49 +0000 (06:11 +0000)]
Use -shared for plugins

8 years agoMisc http fixes
Andy Spencer [Tue, 24 May 2011 06:01:36 +0000 (06:01 +0000)]
Misc http fixes

Caching still doesn't work, but it appears to be a server problem.

8 years agoSwitch map and sat plugins to using thread pools
Andy Spencer [Tue, 24 May 2011 05:59:48 +0000 (05:59 +0000)]
Switch map and sat plugins to using thread pools

TODO: switch evel as well

8 years agoImprove shutdown code
Andy Spencer [Tue, 24 May 2011 05:51:20 +0000 (05:51 +0000)]
Improve shutdown code

8 years agoUpdate valgrind suppressions
Andy Spencer [Tue, 24 May 2011 05:23:10 +0000 (05:23 +0000)]
Update valgrind suppressions

8 years agoRemove old TODO items
Andy Spencer [Tue, 24 May 2011 05:23:10 +0000 (05:23 +0000)]
Remove old TODO items

8 years agoAdd hidden method for object
Andy Spencer [Tue, 24 May 2011 05:16:55 +0000 (05:16 +0000)]
Add hidden method for object

This allows object to hide nested objects when they are hidden

8 years agoTighten up locking to allow for nested objects
Andy Spencer [Tue, 24 May 2011 05:09:16 +0000 (05:09 +0000)]
Tighten up locking to allow for nested objects

9 years agoFix caching bugs with some http servers
Andy Spencer [Mon, 14 Feb 2011 05:26:29 +0000 (05:26 +0000)]
Fix caching bugs with some http servers

Some server (e.g. weather.gov) send old versions of index files which
causes grits_http_available to return incorrect information.

Setting `Cache-Control: max-age=0' fixes this.

9 years agoAdd GritsPoly for drawing sets of polygons
Andy Spencer [Mon, 24 Jan 2011 03:42:45 +0000 (03:42 +0000)]
Add GritsPoly for drawing sets of polygons

Currently uses OpenGL display lists for performance reasons.

9 years agoAdd volume testing code
Andy Spencer [Mon, 24 Jan 2011 03:36:33 +0000 (03:36 +0000)]
Add volume testing code

Render some iso-balls with optional radar rendering

Based on GritsTester

9 years agoAdd GritsTester for debugging GritsObjects
Andy Spencer [Mon, 24 Jan 2011 03:33:30 +0000 (03:33 +0000)]
Add GritsTester for debugging GritsObjects

The "tester" object is similar to a stripped down version of
GisOpenGL/GisViewer. It is intended for debugging GisObjects during
development. It displays one or more objects centered in the view and
and supports panning/moving around to inspect various parts of the
object.

9 years agoAdd GritsVolume for 3D volume rendering
Andy Spencer [Mon, 24 Jan 2011 03:30:34 +0000 (03:30 +0000)]
Add GritsVolume for 3D volume rendering

This is based on the Marching Cubes algorithm.

Be warned, the API for this is not quite entirely stable..

9 years agoAdd convex tessellation example
Andy Spencer [Mon, 24 Jan 2011 03:23:40 +0000 (03:23 +0000)]
Add convex tessellation example

This tessellates a non-convex polygon such that it can be drawn
correctly.

9 years agoAdd interpolation example
Andy Spencer [Mon, 24 Jan 2011 03:21:23 +0000 (03:21 +0000)]
Add interpolation example

Also interpolate reflectivity colormap

9 years agoCleanup examples organization
Andy Spencer [Mon, 24 Jan 2011 03:07:02 +0000 (03:07 +0000)]
Cleanup examples organization

9 years agoUpdate grits-test
Andy Spencer [Sat, 22 Jan 2011 20:16:55 +0000 (20:16 +0000)]
Update grits-test

9 years agoAllow disabling operations in grits_object_draw
Andy Spencer [Sat, 22 Jan 2011 20:13:05 +0000 (20:13 +0000)]
Allow disabling operations in grits_object_draw

Objects now include a GRITS_SKIP_* bitmask used for disabling various
operations in grits_object_draw. The default is to perform all tests and
operations, however some of these are expensive. Objects which do not
need some operations or take care of it themselves can disable the tests
in grits_object_draw to save processing time.

For instance, saving the OpenGL state can be quite costly for simple
objects.

9 years agoAdd grits_object_queue_draw function
Andy Spencer [Sat, 22 Jan 2011 20:11:13 +0000 (20:11 +0000)]
Add grits_object_queue_draw function

9 years agoStore GritsViewer references in GritsObjects
Andy Spencer [Sat, 22 Jan 2011 20:09:25 +0000 (20:09 +0000)]
Store GritsViewer references in GritsObjects

This makes it easier to write modules without having to store the viewer
reference all over the place.

It could also help simplify adding/removing objects from the viewer, but
that has not been implemented yet.

9 years agoFix bugs in GritsPlugins
Andy Spencer [Sat, 22 Jan 2011 20:03:11 +0000 (20:03 +0000)]
Fix bugs in GritsPlugins

1. Properly track module references
2. Flush events before unloading the module

This prevents the case where the module unloaded while there are still
callbacks that reference the modules executable code.

9 years agoMisc formatting updates
Andy Spencer [Sat, 22 Jan 2011 20:00:41 +0000 (20:00 +0000)]
Misc formatting updates

9 years agoUse common vector operations for ROAM
Andy Spencer [Sat, 22 Jan 2011 19:58:33 +0000 (19:58 +0000)]
Use common vector operations for ROAM

9 years agoAdd vector operations to utilities
Andy Spencer [Sat, 22 Jan 2011 19:57:15 +0000 (19:57 +0000)]
Add vector operations to utilities

9 years agoDelete OpenGL textures in grits_marker_finalize
Andy Spencer [Sat, 22 Jan 2011 19:51:52 +0000 (19:51 +0000)]
Delete OpenGL textures in grits_marker_finalize

9 years agoAdd debugging to GritsCallback
Andy Spencer [Sat, 22 Jan 2011 19:51:10 +0000 (19:51 +0000)]
Add debugging to GritsCallback

9 years agoDraw plugins in wireframe mode as well
Andy Spencer [Sat, 22 Jan 2011 19:48:39 +0000 (19:48 +0000)]
Draw plugins in wireframe mode as well

9 years agoLower contrast on global texture parameters
Andy Spencer [Sat, 22 Jan 2011 19:47:34 +0000 (19:47 +0000)]
Lower contrast on global texture parameters

This looks slightly less `pretty' but makes it easier to see things.

9 years agolibgis -> grits: Update doap
Andy Spencer [Sun, 28 Nov 2010 06:09:57 +0000 (06:09 +0000)]
libgis -> grits: Update doap

9 years agolibgis -> grits: Update functions/types/etc
Andy Spencer [Sat, 20 Nov 2010 07:45:58 +0000 (07:45 +0000)]
libgis -> grits: Update functions/types/etc

9 years agolibgis -> grits: Update non-technical references
Andy Spencer [Sat, 20 Nov 2010 07:16:08 +0000 (07:16 +0000)]
libgis -> grits: Update non-technical references

9 years agolibgis -> grits: Fix build after rename
Andy Spencer [Sat, 20 Nov 2010 07:07:41 +0000 (07:07 +0000)]
libgis -> grits: Fix build after rename

9 years agolibgis -> grits: Rename files
Andy Spencer [Sat, 20 Nov 2010 06:53:33 +0000 (06:53 +0000)]
libgis -> grits: Rename files

9 years agoOnly delete sections on maintainer-clean
Andy Spencer [Thu, 18 Nov 2010 07:05:16 +0000 (07:05 +0000)]
Only delete sections on maintainer-clean

The sections file is included in the .tar.gz so it should not be deleted
with clean.

This fixes a Debian git-buildpackage error.

9 years agoAdd version info for Debian
Andy Spencer [Sun, 14 Nov 2010 00:09:16 +0000 (00:09 +0000)]
Add version info for Debian

- Add -version-info for libtool
- Add version number to /usr/{lib,share}/gis

9 years agoUpdate TODO
Andy Spencer [Thu, 18 Nov 2010 07:32:58 +0000 (07:32 +0000)]
Update TODO

9 years agoMove g_signal_connects to realize callback
Andy Spencer [Thu, 18 Nov 2010 06:35:21 +0000 (06:35 +0000)]
Move g_signal_connects to realize callback

Under Mesa the "configure" callback is is triggered before the "realize"
callback. This causes a crash because some OpenGL initialization must be
performed after the widget is realized.

Moving the callback connects forces proper ordering.

9 years agoRevert "Test pure distance based errors"
Andy Spencer [Mon, 1 Nov 2010 03:55:14 +0000 (03:55 +0000)]
Revert "Test pure distance based errors"

This reverts commit 2303ef60aac043b63daec4a70a9ee7d70e0ce62f.

9 years agoTest pure distance based errors
Andy Spencer [Mon, 1 Nov 2010 03:54:15 +0000 (03:54 +0000)]
Test pure distance based errors

This commit is for historic purposes and will be reverend shortly.

9 years agoKeep the sphere locked while drawing the wireframe
Andy Spencer [Mon, 1 Nov 2010 03:47:24 +0000 (03:47 +0000)]
Keep the sphere locked while drawing the wireframe

9 years agoGive extra weight to "edge" triangles when splitting
Andy Spencer [Mon, 1 Nov 2010 03:37:53 +0000 (03:37 +0000)]
Give extra weight to "edge" triangles when splitting

"Edge" triangles are triangles where one of the edges of the triangle
makes up an edge off the mesh. For example, the triangle E below is an
edge triangle due to the top edge.

This helps prevent jagged "edges" on the tops of mountains, etc. It also
helps round out the edges of the globe  when viewed from far away.

  ________________
  \    ______    /
   \  /\ E  /\  /
    \/__\  /__\/
         \/

9 years agoSwap order of args to sync_neighbors function
Andy Spencer [Mon, 1 Nov 2010 03:32:38 +0000 (03:32 +0000)]
Swap order of args to sync_neighbors function

9 years agoStore "kids" in RoamTriangle only
Andy Spencer [Mon, 1 Nov 2010 03:24:46 +0000 (03:24 +0000)]
Store "kids" in RoamTriangle only

roam_diamond_merge uses:
self = parent_triangle[0];
base = parent_triangle[1];
kids = {self,base}.kids[0,1];

9 years agoClean up formatting in roam.c
Andy Spencer [Mon, 1 Nov 2010 03:18:14 +0000 (03:18 +0000)]
Clean up formatting in roam.c

- Fix whitespace
- Use abbreviated names in split/merge
- Should be no functional changes

9 years agoUpdate ROAM_DEBUG
Andy Spencer [Mon, 1 Nov 2010 02:55:25 +0000 (02:55 +0000)]
Update ROAM_DEBUG

- Use (void) to prevent unused function warnings
- Only do depth-test in non-debug mode

9 years agoAdd sky effects
Andy Spencer [Mon, 25 Oct 2010 05:03:26 +0000 (05:03 +0000)]
Add sky effects

9 years agoMove OpenGL code from GisOpenGL to objects
Andy Spencer [Sun, 24 Oct 2010 11:57:09 +0000 (11:57 +0000)]
Move OpenGL code from GisOpenGL to objects

Add draw functions to GisObjectClass which should be set by subclasses.
This allows outside object types to be written in the normal way
(instead of always using GisCallback).

This also moves a lot of drawing code out of GisOpenGL which should
prevent it from becoming too big.

Unfortunately, there are some pesky dependency problems between
GisObject/GisViewer/GisOpenGL/GTK now. For example, Wms pulls in
GisTile, which pulls in GisViewer/GisViewer, which pulls in all of GTK.

9 years agoUse GisBounds for height_func instead of GisTile
Andy Spencer [Sun, 24 Oct 2010 11:50:15 +0000 (11:50 +0000)]
Use GisBounds for height_func instead of GisTile

9 years agoRename GisBBox to GisBounds
Andy Spencer [Sun, 24 Oct 2010 11:40:30 +0000 (11:40 +0000)]
Rename GisBBox to GisBounds

It sounds better..

9 years agoAdd "Description of a Project" file
Andy Spencer [Fri, 10 Sep 2010 03:12:59 +0000 (03:12 +0000)]
Add "Description of a Project" file

9 years agoSwitch g_strcmp0 to plain strcmp for glib < 2.16 v0.4.1
Andy Spencer [Tue, 18 May 2010 03:25:44 +0000 (03:25 +0000)]
Switch g_strcmp0 to plain strcmp for glib < 2.16

9 years agoVersion bump for 0.4.1
Andy Spencer [Sun, 16 May 2010 23:42:12 +0000 (23:42 +0000)]
Version bump for 0.4.1

9 years agoVersion 0.4 v0.4
Andy Spencer [Wed, 12 May 2010 03:37:58 +0000 (03:37 +0000)]
Version 0.4

9 years agoVersion bump to -p1
Andy Spencer [Mon, 10 May 2010 05:55:19 +0000 (05:55 +0000)]
Version bump to -p1

9 years agoAdd more files to dist
Andy Spencer [Mon, 10 May 2010 05:35:40 +0000 (05:35 +0000)]
Add more files to dist

9 years agoFix compiler warnings
Andy Spencer [Mon, 10 May 2010 05:34:23 +0000 (05:34 +0000)]
Fix compiler warnings

9 years agoVersion bump to 0.4-p0
Andy Spencer [Thu, 6 May 2010 06:37:49 +0000 (06:37 +0000)]
Version bump to 0.4-p0

9 years agoFix some possible memory issues in GisHttp
Andy Spencer [Wed, 5 May 2010 07:40:39 +0000 (07:40 +0000)]
Fix some possible memory issues in GisHttp

9 years agoAdd support for hidden objects
Andy Spencer [Wed, 5 May 2010 05:51:23 +0000 (05:51 +0000)]
Add support for hidden objects

9 years agoMove GisChunkCallback calls to the main threads
Andy Spencer [Mon, 3 May 2010 08:17:37 +0000 (08:17 +0000)]
Move GisChunkCallback calls to the main threads

Hopefully fix some more Win32 bugs

9 years agoMove gdk_pixbuf calls to main thread
Andy Spencer [Mon, 3 May 2010 07:43:11 +0000 (07:43 +0000)]
Move gdk_pixbuf calls to main thread

Hopefully this will fix some Win32 issues

9 years agoLoad marker from callback in GisPluginTest
Andy Spencer [Mon, 3 May 2010 05:16:43 +0000 (05:16 +0000)]
Load marker from callback in GisPluginTest

9 years agoAdd texture coords to tiles
Andy Spencer [Mon, 3 May 2010 04:38:28 +0000 (04:38 +0000)]
Add texture coords to tiles

9 years agoUse 2^x textures for GisMarker
Andy Spencer [Mon, 3 May 2010 01:10:45 +0000 (01:10 +0000)]
Use 2^x textures for GisMarker

9 years agoAdding OpenGL info query example
Andy Spencer [Sun, 2 May 2010 06:24:09 +0000 (06:24 +0000)]
Adding OpenGL info query example

9 years agoWin32 build fixes
Andy Spencer [Sun, 2 May 2010 01:31:59 +0000 (01:31 +0000)]
Win32 build fixes

9 years agoMiscellaneous bug fixes
Andy Spencer [Sat, 1 May 2010 07:17:04 +0000 (07:17 +0000)]
Miscellaneous bug fixes

- Lots of plugged memory leaks
- Lots of small improvements

9 years agoWin32 port
Andy Spencer [Sat, 1 May 2010 00:00:32 +0000 (00:00 +0000)]
Win32 port

- Use conditional -fPIC
  - All Win32 is PIC

- Use conditional -static
  - -static on Win32 causes double DLL includes

- Add "b" flag to fopen

- Manually fseek when appending
  - Otherwise ftell is incorrect

9 years agoImprove Z-range in OpenGL
Andy Spencer [Mon, 26 Apr 2010 04:52:47 +0000 (04:52 +0000)]
Improve Z-range in OpenGL

This keeps radars of interfering with each other quite so badly

9 years agoImprove threading
Andy Spencer [Mon, 26 Apr 2010 04:51:27 +0000 (04:51 +0000)]
Improve threading

- Clean up some gdk_thread_{enter,leave} calls
- Fix bug in gis_viewer_add (linked list handling)
- Call gtk_gl_init from gis-test (not sure if this is important)

9 years agoFix gis_http_available bugs
Andy Spencer [Mon, 26 Apr 2010 04:49:44 +0000 (04:49 +0000)]
Fix gis_http_available bugs

- Used wrong RE
- Used wrong subexpression reference