[GRASS-dev] Google Summer of Code 2008

Michael Barton michael.barton at asu.edu
Thu Feb 21 16:35:25 EST 2008



voice: 480-965-6262; fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

On Feb 21, 2008, at 2:27 PM, grass-dev-request at lists.osgeo.org wrote:

>>
>> I was going to suggest extending v.what to take xy coordinates  
>> (single
>> xy or line of xy's with a buffer distance to find stuff within that
>> buffer distance of the coordinates; set of at least 3 xy's to ID a
>> polygon and find the stuff within it).
>>
>> However, I want to also strongly second Helena's idea. The new  
>> wxPython
>> GUI is essentially finished. Now it needs testing, bug fixing,
>> optimizing, etc.
>>
>> The one piece of the GUI that is not done is a 2.5+D visualizer along
>> the lines of NVIZ. As you know, NVIZ is built with a mix of TclTk,  
>> a Tk
>> OpenGL widget, and C. What we need is something that will run in
>> wxPython instead of TclTk. There are various ways to do this, I'm  
>> sure
>> with pros and cons. My personal preference for interface is that this
>> new tool would visually appear in the following way:
>>
>> -Start the wxpnviz module and you get a new toolbox window to control
>> the N-dimensional view.
>> -The module will grab any active maps in your layer tree (i.e., the  
>> ones
>> you are displaying in 2D in the map display) and render them in 3D --
>> sort of like the current NVIZ button tries to do in TclTk now.
>> -The 2.5 or 3D image (i.e., include volumes) appears in the same  
>> window
>> as the 2D map did, replacing the previous view of the 2D map with a
>> 2.5/3D rendered image that is controlled by the toolbox. That is, the
>> OpenGL canvas could replace the wx.PseudoDC canvas that used for 2D
>> display, for example. You would not have a special N-dimensional  
>> display
>> window that you need to manage separately from other display windows
>> (i.e., don't do it like NVIZ does now).
>> - All map management would continue to be done through the current  
>> layer
>> manager, rather than a separate interface (i.e., not the way that  
>> NVIZ
>> works now).
>> - The rendering module would also display overlays like grids,
>> barscales, and the like in the same way that the 2D manager does.
>>
>> The ideas is that for the user, you don't need to learn a new  
>> interface
>> for basic map display management to get a N-dimensional  
>> visualization.
>> The only new interface to learn would be those tools specifically
>> related to the N-dimensional visualization (e.g., rotation,
>> z-exaggeration, lighting, isosurface selection, etc).
>>
>> The other thing that would be nice for many people would be to have a
>> command version of the visualizer that could accept a set of  
>> arguments
>> (or maybe a configuration file) that controlled the display and  
>> rendered
>> to a PNG instead of the wxPython display window
>>
>> Michael
>
> why not to use the python bindings of VTK (http://www.vtk.org) to do  
> 3D
> rendering? It seems to me that VTK is a bit easier to handle than  
> OpenGL
> directly, but my programming skills are not the best.
> WolfgangZ

I don't know a lot about VTK. However, OpenGL support comes with  
wxPython, without a need for another dependency.

One other suggestion that I forgot to mention. How about expanding  
r.los along the lines of r.cva?

Michael



More information about the grass-dev mailing list