I currently try to generate a flight path for NVIZ with
d.nviz. While it works for Bob, it doesn't for me.
Of course latest GRASS 6.1-CVS (maybe Bob does not use
the current CVS version).
I would like to ask if a list member could try in Spearfish:
g.region rast=elevation.dem
d.nviz -ick inp=elevation.dem out=flight dist=500 ht=30 frames=200
# then digitize a nice path
nviz nviz el=elevation.dem script=flight
According to Bob NVIZ should start, load the DEM, and start
to render the flight. It should output a new script flight.kanimator
as well.
In my version nothing like this happens, it just loads the DEM.
To narrow down the problem we need volunteers to test the
current NVIZ...
I just grabbed the current nviz and ogsf from CVS and tried them out with the d.nviz below. Everything worked fine.
For curiousity I then tried out d.nviz on my CygWin installation and it did not work. The viewer just sat there as you report below. It appears that nviz is ignoring the SendScriptline argument from the d.nviz script (or any other script).
The system that it does work on is RedHat7.3 with tcl/tk 8.3. I will do some digging around to see if I can figure out why the interpretor is sometimes ignoring SendScriptline.
--
Bob
Markus Neteler wrote:
Hi,
I currently try to generate a flight path for NVIZ with
d.nviz. While it works for Bob, it doesn't for me.
Of course latest GRASS 6.1-CVS (maybe Bob does not use
the current CVS version).
I would like to ask if a list member could try in Spearfish:
g.region rast=elevation.dem
d.nviz -ick inp=elevation.dem out=flight dist=500 ht=30 frames=200
# then digitize a nice path
nviz nviz el=elevation.dem script=flight
According to Bob NVIZ should start, load the DEM, and start
to render the flight. It should output a new script flight.kanimator
as well.
In my version nothing like this happens, it just loads the DEM.
To narrow down the problem we need volunteers to test the
current NVIZ...
I have dug into the scripting problem and found a potential problem. Each command in the script is executed by the procedure SendScriptLine. This procedure can be found in script_support.tcl.
This procedure uses the TK "send" command which is probably the source of the problems.
To identify if the send command is failing change the following line from SendScriptLine
catch {send $ProcessName "$line"} rval
to
send $ProcessName "$line"
This will allow any errors from "send" to be output to stderr.
With my CygWin installation I recieved the following error ...
X server insecure (must use xauth-style authorization)
Let me know if you get a similar error. I am not sure of a work-around for this yet. Presumably any any system not using xauth will have the same problem?
I currently try to generate a flight path for NVIZ with
d.nviz. While it works for Bob, it doesn't for me.
Of course latest GRASS 6.1-CVS (maybe Bob does not use
the current CVS version).
I would like to ask if a list member could try in Spearfish:
g.region rast=elevation.dem
d.nviz -ick inp=elevation.dem out=flight dist=500 ht=30 frames=200
# then digitize a nice path
nviz nviz el=elevation.dem script=flight
According to Bob NVIZ should start, load the DEM, and start
to render the flight. It should output a new script flight.kanimator
as well.
In my version nothing like this happens, it just loads the DEM.
To narrow down the problem we need volunteers to test the
current NVIZ...
works for me. Debian's 6.0.0 package and yesterday's CVS on two
different computers; both using tcl/tk 8.3.
On Tue, May 17, 2005 at 04:43:35PM -0300, Bob Covill wrote:
Hi Markus,
I have dug into the scripting problem and found a potential problem.
Each command in the script is executed by the procedure SendScriptLine.
This procedure can be found in script_support.tcl.
This procedure uses the TK "send" command which is probably the source
of the problems.
To identify if the send command is failing change the following line
from SendScriptLine
catch {send $ProcessName "$line"} rval
to
send $ProcessName "$line"
This will allow any errors from "send" to be output to stderr.
Magic! Now it works...!
I changed
catch {send $ProcessName "$line"} rval
return $rval
to
send $ProcessName "$line"
return 1
and now NVIZ immediately starts the render the flight.
Maybe 'return 1' is wrong, but keeping the original 'return $rval'
line led to
Error in startup script: can't read "rval": no such variable
Maybe this was the bug: rval not defined.
With my CygWin installation I recieved the following error ...
X server insecure (must use xauth-style authorization)
This is a different error, I assume.
Let me know if you get a similar error. I am not sure of a work-around
for this yet. Presumably any any system not using xauth will have the
same problem?
Probably (I know little about xauth).
How should I change the catch line in CVS? It seems to depend
on the tcltk version.