[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