You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(26) |
Sep
(32) |
Oct
(29) |
Nov
(36) |
Dec
(13) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(17) |
Feb
(14) |
Mar
(12) |
Apr
(20) |
May
(27) |
Jun
(6) |
Jul
(33) |
Aug
(28) |
Sep
(24) |
Oct
(24) |
Nov
(41) |
Dec
(32) |
| 2002 |
Jan
(29) |
Feb
(25) |
Mar
(16) |
Apr
(12) |
May
(22) |
Jun
(24) |
Jul
(11) |
Aug
(7) |
Sep
(4) |
Oct
(31) |
Nov
(30) |
Dec
(22) |
| 2003 |
Jan
(22) |
Feb
(12) |
Mar
(11) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
|
2
|
3
|
4
|
5
|
|
6
(2) |
7
(2) |
8
(1) |
9
|
10
(1) |
11
(1) |
12
|
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
|
20
|
21
(3) |
22
|
23
|
24
(4) |
25
(1) |
26
(1) |
|
27
|
28
(1) |
29
(1) |
30
(5) |
31
(3) |
|
|
|
From: Bill H. <hi...@fa...> - 2000-08-31 14:10:10
|
> I just downloaded and extracted the Vis5d version 5.2 Sunos5 executable from > the Vis5d site. I can run the vis5d executable and display the sample data > files. However, when I try to run any Tcl script the program aborts with the > following error: > > Fatal error in Tcl_CreateCommand! > > Any ideas about what might be going on? > > I'm running on a Sun Ultra60, 450MHz, 528MB Ram. Full Tcl support has been > installed as I have been running Vis5d v4.3 for a long time on this same > machine. I think I have fixed this in src/script.c by changing: #define MAX_COMMANDS 250 to: #define MAX_COMMANDS 400 The fix is in: ftp://www.ssec.wisc.edu/pub/vis5d-5.2/vis5d-5.2.tar.Z.31aug2000 Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hi...@fa... 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html |
|
From: Doggett, C. M. <Mat...@af...> - 2000-08-31 13:36:48
|
> I just downloaded and extracted the Vis5d version 5.2 Sunos5 executable > from the Vis5d site. I can run the vis5d executable and display the > sample data files. However, when I try to run any Tcl script the program > aborts with the following error: > > Fatal error in Tcl_CreateCommand! > > Any ideas about what might be going on? > > I'm running on a Sun Ultra60, 450MHz, 528MB Ram. Full Tcl support has been > installed as I have been running Vis5d v4.3 for a long time on this same > machine. > > Thanks. > Matt > _______________________________________________________ > MATTHEW K. DOGGETT, Capt, USAF > Meteorologist / ACMES Project Manager > > Air Force Combat Climatology Center (828) 271-4216 > 151 Patton Ave, Rm 120 DSN 673-9010 > Asheville, NC 28801-5002 FAX: (828) 271-4334 > > mat...@af... > _______________________________________________________ > > |
|
From: Doggett, C. M. <Mat...@af...> - 2000-08-31 13:36:46
|
I just downloaded and extracted the Vis5d version 5.2 Sunos5 executable from the Vis5d site. I can run the vis5d executable and display the sample data files. However, when I try to run any Tcl script the program aborts with the following error: Fatal error in Tcl_CreateCommand! Any ideas about what might be going on? I'm running on a Sun Ultra60, 450MHz, 528MB Ram. Full Tcl support has been installed as I have been running Vis5d v4.3 for a long time on this same machine. Thanks. Matt _______________________________________________________ MATTHEW K. DOGGETT, Capt, USAF Meteorologist / ACMES Project Manager Air Force Combat Climatology Center (828) 271-4216 151 Patton Ave, Rm 120 DSN 673-9010 Asheville, NC 28801-5002 FAX: (828) 271-4334 mat...@af... _______________________________________________________ |
|
From: From: B. H. <hi...@fa...> - 2000-08-30 22:57:36
|
Hi David, Andres probably has it right. Modify foo_to_v5d.f for your makefile and add -DLITTLE to CFLAGS. Good luck. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hi...@fa... 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html |
|
From:
<and...@id...> - 2000-08-30 21:21:19
|
"O'Sullivan, D.J." wrote: > Hello. I am a Masters student completing my thesis on visualisation of > satellite meterological data at the University of Leicester. > > I am having problems at the moment getting my data into v5d format. I have > used the foo_to_v5d.f template. The program is compiling and running fully > to produce an output file but when I try and display it in Vis5d I get an > error message saying "Error: not a v5d file" and "Error: datafile xxx.v5d > not found". > > Has anybody had similar problems when using the foo_to_v5d.f template. I > have enclosed my program in case anybody would look at it. Any help would be > much appreciated as time is not on my side. > > Cheers > David O Sullivan > > ------------------------------------------------------------------------ > Name: convert.f.txt > convert.f.txt Type: Plain Text (text/plain) > Encoding: quoted-printable Linux on x86 or another little endian box? if little endian, from binio.c : * The file format is assumed to be BIG-ENDIAN. * If this code is compiled with -DLITTLE and executes on a little endian * CPU then byte-swapping will be done. ....compile with -DLITTLE .... -- andres calderon |
|
From: O'Sullivan, D.J. <dj...@le...> - 2000-08-30 20:14:42
|
Hello. I am a Masters student completing my thesis on visualisation of satellite meterological data at the University of Leicester. I am having problems at the moment getting my data into v5d format. I have used the foo_to_v5d.f template. The program is compiling and running fully to produce an output file but when I try and display it in Vis5d I get an error message saying "Error: not a v5d file" and "Error: datafile xxx.v5d not found". Has anybody had similar problems when using the foo_to_v5d.f template. I have enclosed my program in case anybody would look at it. Any help would be much appreciated as time is not on my side. Cheers David O Sullivan |
|
From: Steven G. J. <st...@al...> - 2000-08-30 19:54:19
|
>Is anyone successfully running VIS5D using a PowerPC-based (Macintosh G3 >or G4) version of LINUX? Yes. See Vis5d+ (vis5d.sourceforge.net, also linked to from the top of the Vis5d page) for a version of Vis5d with an autoconf "configure" script that lets it compile out of the box on PowerPC Linux. (In fact, getting Vis5d to run on my LinuxPPC G3 laptop was the initial motivation for me to add this work to Vis5d). Note that gcc-2.95.2 for PPC has a bug (http://gcc.gnu.org/ml/gcc-bugs/1999-11/msg00163.html) that can cause Vis5d to crash (typically when you try to plot an isosurface). There is a patch available for gcc; the easiest thing, though, is to get the latest PPC gcc RPMs from Franz Sirl (ftp://dev.linuxppc.org/users/fsirl/R5/RPMS/ppc/). Cordially, Steven G. Johnson |
|
From: <cor...@ma...> - 2000-08-30 18:40:44
|
Is anyone successfully running VIS5D using a PowerPC-based (Macintosh G3 or G4) version of LINUX? Thanks, John ******************************************************************************* * Dr. John Cortinas, Jr. cor...@ns... * * University of Oklahoma/CIMMS <www.nssl.noaa.gov/~cortinas> * * NOAA/National Severe Storms Laboratory * * 1313 Halley Circle (405) 366-0482 Office * * Norman, OK 73069 (630) 604-8811 Fax * * * * "Your greatest responsibility is to become everything that you are, * * not only for your benefit, but for mine." -Leo Buscaglia * ******************************************************************************* |
|
From: Steven G. J. <st...@gi...> - 2000-08-29 18:15:56
|
Axel,
Thanks for reporting this problem. [see below message]
The problem was that in soundingGUI.c, update_snd_widgets was calling
LUI_ButtonSetState for gtx->temp_button, even though that button was NULL
(it wasn't created in make_lui_stuff because gtx->vertsys was 0). I don't
pretend to understand exactly what that button is for or why it is NULL
(what the heck is vertsys?), but a quick fix is to have LUI_ButtonSetState
check whether its argument is NULL:
Index: lui5/newbutton.c
===================================================================
RCS file: /cvsroot/vis5d/vis5d/lui5/newbutton.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 newbutton.c
--- lui5/newbutton.c 2000/08/05 19:26:49 1.1.1.1
+++ lui5/newbutton.c 2000/08/29 17:20:51
@@ -279,7 +279,7 @@
*/
void LUI_ButtonSetState( LUI_NEWBUTTON *b, int state )
{
- if (b->toggle) {
+ if (b && b->toggle) {
b->state = state;
draw_button( b );
}
This seems to correct the crashing bug you report.
Cordially,
Steven G. Johnson
PS. Bug reports like this are best sent to the Vis5d mailing list (see the
cc above).
On Tue, 29 Aug 2000, Axel Reimann wrote:
> Hi Steven,
>
> I don't really know whom to address this
> bug report to -- so I'll try your address
> first ;)
>
> All versions of Vis5D I've worked with
> so far exit with a segfault (Linux/Mesa)
> if you do the following:
>
> - open Vis5d: vis5d hole.v5d
> - press DISPLAY
> - press DISPLAY 0 -> Options
> - change any settings or not, it doesn't matter
> - press DONE
> - press Return to Vis5D
>
> Et voila, you got a segfault.
> Is this behavior known already?
>
> Happy greetings from Berlin,
> Axel
>
|
|
From: David N. <Dav...@va...> - 2000-08-28 19:03:42
|
Works great. Thanks!
One suggestion for further developments: Display window on controlling
monitor should be minimized, hidden or removed since it does not serve a
purpose.
David
> -----Original Message-----
> From: Steven G. Johnson [SMTP:st...@gi...]
> Sent: Saturday, August 26, 2000 2:46 AM
> To: Vis5d Mailing List
> Subject: bug fix for Vis5d 5.2: -wdpy causes crashes
>
> David Nunes wrote:
> > I am trying to use the -wdpy option with Vis5d 5.2 under AIX 4.3. It
> does
> > not seem to work for me, however. Below is what I am trying and what I
> get.
>
> The following patch below fixes the bug, which was really obvious once I
> found the line of code causing the crash:
>
> Index: src/api.c
> ===================================================================
> RCS file: /cvsroot/vis5d/vis5d/src/api.c,v
> retrieving revision 1.4
> diff -u -r1.4 api.c
> --- src/api.c 2000/08/06 07:07:27 1.4
> +++ src/api.c 2000/08/26 08:21:22
> @@ -9839,7 +9839,7 @@
> {
> Cursor cursor;
>
> - cursor = XCreateFontCursor (GfxDpy, shape);
> + cursor = XCreateFontCursor (dpy, shape);
> XDefineCursor (dpy, win, cursor);
> XFreeCursor (dpy, cursor);
> return 1;
>
>
>
> However, once I fixed this, I noticed that something else was strange with
> -wdpy. The sounding window was appearing when the program launched, on
> the same screen as the 3d display, instead of being initially
> hidden. Worse, clicking on the "Sounding" button caused Vis5d to crash.
>
> Anyway, I tracked down the problems, which are fixed by the below
> additional patch. Everything seems to work now.
>
> (I'll be releasing a Vis5d+ 1.0.2 one of these days with the fixes.)
>
> Cordially,
> Steven G. Johnson
>
> ===================================================================
> RCS file: /cvsroot/vis5d/vis5d/src/api.c,v
> retrieving revision 1.5
> diff -u -r1.5 api.c
> --- api.c 2000/08/26 08:26:13 1.5
> +++ api.c 2000/08/26 09:42:18
> @@ -3044,7 +3044,8 @@
>
> XSynchronize(SndDpy, 1);
> if (dtx->Sound.SoundCtrlWindow){
> - XMapWindow( SndDpy, dtx->Sound.SoundCtrlWindow);
> + extern Display *GuiDpy;
> + XMapWindow( GuiDpy, dtx->Sound.SoundCtrlWindow);
> }
> XMapWindow( SndDpy, dtx->Sound.soundwin);
> XSynchronize(SndDpy, 0);
> @@ -3056,11 +3057,10 @@
> DPY_CONTEXT("vis5d_map_sndwindow");
>
> if (dtx->Sound.SoundCtrlWindow){
> - XUnmapWindow( SndDpy, dtx->Sound.SoundCtrlWindow);
> + extern Display *GuiDpy;
> + XUnmapWindow( GuiDpy, dtx->Sound.SoundCtrlWindow);
> }
> - else{
> - XMapWindow( SndDpy, dtx->Sound.soundwin);
> - }
> + XUnmapWindow( SndDpy, dtx->Sound.soundwin);
> return 0;
> }
> /* MJK 12.10.98 end */
> Index: sounding.c
> ===================================================================
> RCS file: /cvsroot/vis5d/vis5d/src/sounding.c,v
> retrieving revision 1.3
> diff -u -r1.3 sounding.c
> --- sounding.c 2000/08/24 06:55:23 1.3
> +++ sounding.c 2000/08/26 09:42:18
> @@ -651,11 +651,6 @@
> }
> do_pixmap_art(dtx);
>
> - /* MJK 12.15.98 */
> - if (dtx->Sound.SoundCtrlWindow != 0){
> - XMapWindow(SndDpy, dtx->Sound.soundwin);
> - }
> -
> return 1;
> }
>
|
|
From: Steven G. J. <st...@gi...> - 2000-08-26 10:43:00
|
David Nunes wrote:
> I am trying to use the -wdpy option with Vis5d 5.2 under AIX 4.3. It does
> not seem to work for me, however. Below is what I am trying and what I get.
The following patch below fixes the bug, which was really obvious once I
found the line of code causing the crash:
Index: src/api.c
===================================================================
RCS file: /cvsroot/vis5d/vis5d/src/api.c,v
retrieving revision 1.4
diff -u -r1.4 api.c
--- src/api.c 2000/08/06 07:07:27 1.4
+++ src/api.c 2000/08/26 08:21:22
@@ -9839,7 +9839,7 @@
{
Cursor cursor;
- cursor = XCreateFontCursor (GfxDpy, shape);
+ cursor = XCreateFontCursor (dpy, shape);
XDefineCursor (dpy, win, cursor);
XFreeCursor (dpy, cursor);
return 1;
However, once I fixed this, I noticed that something else was strange with
-wdpy. The sounding window was appearing when the program launched, on
the same screen as the 3d display, instead of being initially
hidden. Worse, clicking on the "Sounding" button caused Vis5d to crash.
Anyway, I tracked down the problems, which are fixed by the below
additional patch. Everything seems to work now.
(I'll be releasing a Vis5d+ 1.0.2 one of these days with the fixes.)
Cordially,
Steven G. Johnson
===================================================================
RCS file: /cvsroot/vis5d/vis5d/src/api.c,v
retrieving revision 1.5
diff -u -r1.5 api.c
--- api.c 2000/08/26 08:26:13 1.5
+++ api.c 2000/08/26 09:42:18
@@ -3044,7 +3044,8 @@
XSynchronize(SndDpy, 1);
if (dtx->Sound.SoundCtrlWindow){
- XMapWindow( SndDpy, dtx->Sound.SoundCtrlWindow);
+ extern Display *GuiDpy;
+ XMapWindow( GuiDpy, dtx->Sound.SoundCtrlWindow);
}
XMapWindow( SndDpy, dtx->Sound.soundwin);
XSynchronize(SndDpy, 0);
@@ -3056,11 +3057,10 @@
DPY_CONTEXT("vis5d_map_sndwindow");
if (dtx->Sound.SoundCtrlWindow){
- XUnmapWindow( SndDpy, dtx->Sound.SoundCtrlWindow);
+ extern Display *GuiDpy;
+ XUnmapWindow( GuiDpy, dtx->Sound.SoundCtrlWindow);
}
- else{
- XMapWindow( SndDpy, dtx->Sound.soundwin);
- }
+ XUnmapWindow( SndDpy, dtx->Sound.soundwin);
return 0;
}
/* MJK 12.10.98 end */
Index: sounding.c
===================================================================
RCS file: /cvsroot/vis5d/vis5d/src/sounding.c,v
retrieving revision 1.3
diff -u -r1.3 sounding.c
--- sounding.c 2000/08/24 06:55:23 1.3
+++ sounding.c 2000/08/26 09:42:18
@@ -651,11 +651,6 @@
}
do_pixmap_art(dtx);
- /* MJK 12.15.98 */
- if (dtx->Sound.SoundCtrlWindow != 0){
- XMapWindow(SndDpy, dtx->Sound.soundwin);
- }
-
return 1;
}
|
|
From: Steven G. J. <st...@gi...> - 2000-08-25 18:02:35
|
I think it could do it, but it's probably not perfectly suited for such a use. It's more geared towards volumetric datasets. You might look at some other projects, such as: http://academy.cas.cz/~gis/ http://FMaps.sourceforge.net/ Steven On Fri, 25 Aug 2000, Bill Gardner wrote: > Good afternoon, > I am trying to find an application which will > allow sea going charts to be displayed in Linux plus the ability to show > the vessels position from a GPS > and display the other information such as speed drift ETA etc., > So would your application be of help ? |
|
From: Brent L. S. <sh...@fs...> - 2000-08-24 22:22:25
|
FYI, I had the same problem as David Nunes (See below attachment) using Vis5D 5.1 running on a Linux PC where the remote display was set to an IBM workstation running AIX 4.3. Also, I use Vis5D with tcl scripts to produce automated products for our web site. I always have to have my display open for the scripts to work, which is a little irritating when I am in the middle of working on something and Vis5D kicks off. I tried using the -offscreen switch, but for some reason some of the custom color tables I use end up reversed in the final GIF image created in this manner. I thought it had something to do with the fact that in this mode Vis5D writes the file in PPM format and calls convert, but when I manually save an image in PPM format during an interactive session and call convert myself after-the-fact, the problem doesn't occur. Any ideas? Cheers, -- ****************************************************************** * Brent L. Shaw Title : Research Associate * * NOAA/OAR/FSL/FRD R/FS1 Affil. : CIRA/CSU * * 325 Broadway Phone : (303) 497-6100 * * Boulder, CO 80305-3328 E-Mail : sh...@fs... * * http://laps.fsl.noaa.gov Room : DSRC - 2B511 * ****************************************************************** David Nunes wrote: > > I am trying to use the -wdpy option with Vis5d 5.2 under AIX 4.3. It does > not seem to work for me, however. Below is what I am trying and what I get. > ******************** > met2_nunesd% vis5d -wdpy met3:0.0 MM.v5d > Cache size: 280 grids > X Error of failed request: BadCursor (invalid Cursor parameter) > Major opcode of failed request: 2 (X_ChangeWindowAttributes) > Resource id in failed request: 0x38001d7 > Serial number of failed request: 3011 > Current serial number in output stream: 3824 > ******************************** > |
|
From: David N. <Dav...@va...> - 2000-08-24 19:36:22
|
I am trying to use the -wdpy option with Vis5d 5.2 under AIX 4.3. It does not seem to work for me, however. Below is what I am trying and what I get. ******************** met2_nunesd% vis5d -wdpy met3:0.0 MM.v5d Cache size: 280 grids X Error of failed request: BadCursor (invalid Cursor parameter) Major opcode of failed request: 2 (X_ChangeWindowAttributes) Resource id in failed request: 0x38001d7 Serial number of failed request: 3011 Current serial number in output stream: 3824 ******************************** Thank You David --------------------------------------------------------------------- David A. Nunes Air Quality Project Planner/Modeler San Joaquin Valley Air Pollution Control District 1990 E. Gettysburg Avenue (559) 230-5825 Fresno, CA 93726-0244 FAX:(559) 230-6064 http://www.valleyair.org dav...@va... --------------------------------------------------------------------- |
|
From: Steven G. J. <st...@gi...> - 2000-08-24 08:00:07
|
Vis5d 5.2 contains a bunch of code like:
if (XLoadFont(...))
...do stuff with font...
Apparently, this code was written assuming that XLoadFont returns 0 if
there is an error loading the font. It doesn't. Rather, if the font
isn't available, it simply crashes with a BadName error.
In particular, this causes Vis5d to crash on systems (e.g. SuSE Linux) for
which DEFAULT_SOUNDFONTNAME ("6x12") is not available, even if you never
open the sounding window. (Thanks to Michael Tung for reporting this.)
The proper thing to do is to use XLoadQueryFont, which returns NULL if the
font can't be found, in which case you can recover gracefully. This is
what the below patch does. In addition, it switches to the more-common
"fixed" font if "6x12" is not available, and cleans up a couple of memory
leaks from FontStruct pointers not being freed.
This will be incorporated into a Vis5d+ 1.0.1 release
(vis5d.sourceforge.net), available in the next day or two. I hope that it
will also be included in the mainline tree.
Cordially,
Steven G. Johnson
PS. Would people rather I didn't send these patches to the main Vis5d
list? I could send them directly to Bill Hibbard instead, and/or to the
"vis5d-devel" list I've set up on the SourceForge site (if he wants to
subscribe to that).
|
|
From: Steven G. J. <st...@gi...> - 2000-08-24 03:23:09
|
Hi, I've encountered a problem with the Vis5d 5.2 code: the contour()
plotting function declares very large arrays (2.5 MB!) on the stack.
This causes the stack space to be exhausted sometimes (under Linux),
resulting in crashes. (Thanks to Tairan Wang at MIT for finding this
bug.)
The below patch modifies contour() to allocate these arrays dynamically
with malloc(); there shouldn't be much speed hit since calc_{hv}slice
already allocates 6 or more such arrays with malloc() anyway.
As long as I was allocating them dynamically, I thought I'd allocate a
buffer just big enough to hold the maximum possible number of vertices for
the given slice, rather than a fixed 400*400 array. Looking through the
contour() source code, it seems that the maximum possible number of
vertices for the most pathological slice is:
4*(nrows-1)*(ncols-1)*|(high-low)/interval|
I'd appreciate it if someone took a look at contour.c and checked this
(Bill?). (It works fine on for the sample cases I've tried, checking for
array overruns with Electric Fence.) In any case, the old code already
had checks for overruns, so the worst that can happen is that the
contour-drawing stops partway through the slice.
I hope that this patch, or something like it, goes into the main Vis5d
sources. I'll be releasing a 1.0.1 update to Vis5d+ soon
(vis5d.sourceforge.net).
Steven
PS. With this fix and my earlier modifications to Vis5d+ (e.g. adding
POSIX mutex support), I believe that POSIX threading now works under
Linux.
Index: contour.c
===================================================================
RCS file: /cvsroot/vis5d/vis5d/src/contour.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 contour.c
--- contour.c 2000/08/05 19:26:55 1.1.1.1
+++ contour.c 2000/08/24 02:06:01
@@ -37,7 +37,7 @@
#define XY
-
+#include <stdio.h>
#include <string.h>
#include "memory.h"
#include "globals.h"
@@ -669,8 +669,8 @@
float xd, yd ,xx, yy;
float clow, chi;
float gg;
- float vx[MAXTEMP], vy[MAXTEMP];
- int ipnt[2*MAXTEMP];
+ float *vx, *vy;
+ int *ipnt;
int nump, ip;
register int numv;
char *mark;
@@ -680,6 +680,22 @@
int lbl_len, lbl_dot;
int use_resize;
+ /* Dynamically allocate temp. arrays, to avoid using excessive
+ stack space and crashing on some systems. It's not going to be
+ appreciably slower, since the caller (calc_hslice or
+ calc_vslice) calls malloc at least 6 times anyway. calc_hslice
+ and calc_vslice determine maxv1 & maxv2 based on an upper bound
+ for the number of vertices derived from the code below. */
+ const int maxtemp = maxv1 > maxv2 ? maxv1 : maxv2;
+ vx = (float*) malloc(sizeof(float)*maxtemp);
+ vy = (float*) malloc(sizeof(float)*maxtemp);
+ ipnt = (int*) malloc(sizeof(int)*((nr-1)*(nc-1) + 1)); /* see below loop */
+ if (!vx || !vy || !ipnt) {
+ fprintf(stderr, "You do not have enough memory to create contours.\n");
+ free(vx); free(vy); free(ipnt);
+ return 0;
+ }
+
use_resize = 0;
ffex = ffey = 0;
@@ -697,6 +713,7 @@
if (interval==0.0) {
/* bad contour interval */
+ free(vx); free(vy); free(ipnt);
return 0;
}
if (interval<0.0) {
@@ -764,8 +781,10 @@
/* allocate mark array */
mark = (char *) allocate( ctx, nr * nc * sizeof(char) );
- if (!mark)
+ if (!mark) {
+ free(vx); free(vy); free(ipnt);
return 0;
+ }
/* initialize mark array to zeros */
memset( mark, 0, nr*nc*sizeof(char) );
@@ -806,9 +825,9 @@
numv = nump = 0;
/* compute contours */
- for (ir=0; ir<nrm && numv<MAXTEMP-8 && nump<2*MAXTEMP; ir++) {
+ for (ir=0; ir<nrm && numv<maxtemp-8 && nump<2*maxtemp; ir++) {
xx = xd*ir+XMIN;
- for (ic=0; ic<ncm && numv<MAXTEMP-8 && nump<2*MAXTEMP; ic++) {
+ for (ic=0; ic<ncm && numv<maxtemp-8 && nump<2*maxtemp; ic++) {
float ga, gb, gc, gd;
float gv, gn, gx;
register float tmp1, tmp2;
@@ -870,7 +889,7 @@
/* gg is current contour line value */
gg = clow;
- for (il=0; il<numc && numv+8<MAXTEMP; il++, gg += interval) {
+ for (il=0; il<numc && numv+8<maxtemp; il++, gg += interval) {
float gba, gca, gdb, gdc;
int ii;
@@ -1151,8 +1170,8 @@
/* copy vertices from vx, vy arrays to either v1 or v2 arrays */
ip = 0;
- for (ir=0;ir<nrm && ip<2*MAXTEMP;ir++) {
- for (ic=0;ic<ncm && ip<2*MAXTEMP;ic++) {
+ for (ir=0;ir<nrm && ip<2*maxtemp;ir++) {
+ for (ic=0;ic<ncm && ip<2*maxtemp;ic++) {
int start, len;
start = ipnt[ip];
len = ipnt[ip+1] - start;
@@ -1179,6 +1198,8 @@
/* deallocate mark array */
deallocate( ctx, mark, nr * nc * sizeof(char) );
+
+ free(vx); free(vy); free(ipnt);
return 1;
}
Index: work.c
===================================================================
RCS file: /cvsroot/vis5d/vis5d/src/work.c,v
retrieving revision 1.3
diff -u -r1.3 work.c
--- work.c 2000/08/06 07:07:27 1.3
+++ work.c 2000/08/24 02:06:02
@@ -1922,6 +1922,8 @@
float *boxverts;
int numboxverts;
Display_Context dtx;
+ int contour_ok;
+ int max_cont_verts;
dtx = ctx->dpy_ctx;
/* MJK 12.04.98 */
@@ -1993,13 +1995,20 @@
if (!slicedata)
return;
- vr1 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
- vc1 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
- vr2 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vc2 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vr3 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vc3 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vl = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
+ /* compute an upper bound on the number of vertices that contour()
+ can return: */
+ max_cont_verts = 4 * (dtx->Nr-1) * (dtx->Nc-1)
+ * fabs((high-low)/interval) + .5;
+ if (max_cont_verts > MAX_CONT_VERTS)
+ max_cont_verts = MAX_CONT_VERTS;
+
+ vr1 = (float *) malloc(sizeof(float)*max_cont_verts);
+ vc1 = (float *) malloc(sizeof(float)*max_cont_verts);
+ vr2 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vc2 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vr3 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vc3 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vl = (float *) malloc(sizeof(float)*max_cont_verts);
if (!vr1 || !vc1 || !vr2 || !vc2 || !vr3 || !vc3 || !vl){
printf(" You do not have enough memory to create hslices.\n");
@@ -2013,7 +2022,7 @@
free(vr2);
}
if (vc2){
- free(vr3);
+ free(vc2);
}
if (vc3){
free(vc3);
@@ -2035,16 +2044,21 @@
base = low;
/* call contouring routine */
- contour( ctx, slicedata, dtx->Nr, dtx->Nc, interval, low, high, base,
- vr1, vc1, MAX_CONT_VERTS, &num1,
- vr2, vc2, MAX_CONT_VERTS/2, &num2,
- vr3, vc3, MAX_CONT_VERTS/2, &num3
- );
+ contour_ok =
+ contour( ctx, slicedata, dtx->Nr, dtx->Nc, interval, low, high, base,
+ vr1, vc1, max_cont_verts, &num1,
+ vr2, vc2, max_cont_verts/2, &num2,
+ vr3, vc3, max_cont_verts/2, &num3);
/* done with grid and slice */
deallocate( ctx, slicedata, -1 );
release_grid( ctx, time, var, grid );
+ if (!contour_ok) {
+ free(vr1);free(vc1);free(vr2);free(vc2);free(vr3);free(vc3);free(vl);
+ return;
+ }
+
/* generate level coordinates array */
if (num1>num2 && num1>num3) {
maxnum = num1;
@@ -2067,7 +2081,7 @@
/* MJK 12.04.98 */
if (ctx->DisplaySfcHSlice[var]){
- num1 = fit_vecs_to_topo (ctx, num1, MAX_CONT_VERTS, vr1, vc1, vl);
+ num1 = fit_vecs_to_topo (ctx, num1, max_cont_verts, vr1, vc1, vl);
}
@@ -2087,7 +2101,7 @@
/* MJK 12.04.98 */
if (ctx->DisplaySfcHSlice[var]){
- num2 = fit_vecs_to_topo (ctx, num2, MAX_CONT_VERTS/2, vr2, vc2, vl);
+ num2 = fit_vecs_to_topo (ctx, num2, max_cont_verts/2, vr2, vc2, vl);
}
@@ -2107,7 +2121,7 @@
/* MJK 12.04.98 */
if (ctx->DisplaySfcHSlice[var]){
- num3 = fit_vecs_to_topo (ctx, num3, MAX_CONT_VERTS/2, vr3, vc3, vl);
+ num3 = fit_vecs_to_topo (ctx, num3, max_cont_verts/2, vr3, vc3, vl);
}
@@ -2204,6 +2218,8 @@
int numboxverts;
Display_Context dtx;
int ctxnl, ctxll;
+ int contour_ok;
+ int max_cont_verts;
/* WLH 15 Oct 98 */
float ctxlow;
@@ -2232,15 +2248,21 @@
if (!slice)
return;
- vr1 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
- vc1 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
- vl1 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS);
- vr2 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vc2 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vl2 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vr3 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vc3 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
- vl3 = (float *) malloc(sizeof(float)*MAX_CONT_VERTS/2);
+ /* compute an upper bound on the number of vertices that contour()
+ can return: */
+ max_cont_verts = 4 * (rows-1) * (cols-1) * fabs((high-low)/interval) + .5;
+ if (max_cont_verts > MAX_CONT_VERTS)
+ max_cont_verts = MAX_CONT_VERTS;
+
+ vr1 = (float *) malloc(sizeof(float)*max_cont_verts);
+ vc1 = (float *) malloc(sizeof(float)*max_cont_verts);
+ vl1 = (float *) malloc(sizeof(float)*max_cont_verts);
+ vr2 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vc2 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vl2 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vr3 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vc3 = (float *) malloc(sizeof(float)*max_cont_verts/2);
+ vl3 = (float *) malloc(sizeof(float)*max_cont_verts/2);
if (!vr1 || !vc1 || !vl1 || !vr2 || !vc2 || !vl2 || !vr3 || !vc3 || !vl3){
printf(" You do not have enough memory to create vslices.\n");
if (vr1){
@@ -2281,14 +2303,20 @@
else
base = low;
/* call contouring routine */
- contour( ctx, slice, rows, cols, interval, low, high, base,
- vr1, vc1, MAX_CONT_VERTS, &num1,
- vr2, vc2, MAX_CONT_VERTS/2, &num2,
- vr3, vc3, MAX_CONT_VERTS/2, &num3
- );
+ contour_ok =
+ contour( ctx, slice, rows, cols, interval, low, high, base,
+ vr1, vc1, max_cont_verts, &num1,
+ vr2, vc2, max_cont_verts/2, &num2,
+ vr3, vc3, max_cont_verts/2, &num3);
deallocate( ctx, slice, -1 );
release_grid( ctx, time, var, grid );
+
+ if (!contour_ok) {
+ free(vr1); free(vc1); free(vr2); free(vc2); free(vr3); free(vc3);
+ free(vl1); free(vl2); free(vl3);
+ return;
+ }
/*
* Convert 2-D coordinates from [0,rows-1][0,cols-1] to 3-D coords
|
|
From: From: B. H. <hi...@fa...> - 2000-08-21 21:25:11
|
Hi Mike, > We have compiled Vis5D on the HP Visualize Center using the HP OpenGL and > the special X11 libraries for the wide screen. It works great. The image > can fill the entire 2560 X 768 space (haven't tried the 3200 X 1024, but I > am certain it will also work). Performance for animation and manipulation > is at "full" interactive speed. It is pretty impressive. I will be > collecting additional datasets to demonstrate on the system and I will be > looking for on-campus users as well. Great. > I assume Vis5D does not have an inherent stereo mode since it appeared that > we needed CAVE5D to work on the IDesk. Correct me if I am wrong about this. NCAR has a version that uses stereo on SGI. There is a link to it on the is5D web page. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hi...@fa... 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html |
|
From: Michael R. <re...@en...> - 2000-08-21 20:39:36
|
Bill, We have compiled Vis5D on the HP Visualize Center using the HP OpenGL and the special X11 libraries for the wide screen. It works great. The image can fill the entire 2560 X 768 space (haven't tried the 3200 X 1024, but I am certain it will also work). Performance for animation and manipulation is at "full" interactive speed. It is pretty impressive. I will be collecting additional datasets to demonstrate on the system and I will be looking for on-campus users as well. I assume Vis5D does not have an inherent stereo mode since it appeared that we needed CAVE5D to work on the IDesk. Correct me if I am wrong about this. Thanks Mike Redmond UW-Madison |
|
From: O'Sullivan, D.J. <dj...@le...> - 2000-08-21 16:53:56
|
Apologies if this message has been recieved twice. Hello. I am an MSc in post graduate student at the University of Leicester, U.K. and am undertaking part of my dissertation on the visualisation of remotely sensed data using Vis5D. As somebody with no previous knowledge of Fortran I am having some difficulty converting my data to v5d format. I was wondering if anybody has a similar piece of code that they have used used in the past and could send me so I could use it as a reference. I already have the template available in the convert subdirectory of Vis5D but find it a bit confusing. Any help would be much appreciated. Thankyou David O Sullivan |
|
From: Chang S. K. <su...@ko...> - 2000-08-11 01:21:02
|
Dear young Ph.D.'s from ASEAN/APEC and developing countries,
The Virtual Ocean Environment Center at the Korea Ocean R&D Institute, Ansan nearby Seoul) Korea invites applications for one or two postdoctoral positions in VR programming and/or ocean numerical modeling. Applications for one to two-year postdoc positions from individuals specialized in any sub-discipline or inter-discipline will be seriously considered. Preference will be given to candidates with strengths in coastal hydrodynamic numerical modeling and/or VR programming in C++, Java on Irix.
The application process is conducted through the KOSEF (Korea Science and Engineering Foundation). The KOSEF's foreign scientist program is opened to individuals from ASEAN ,APEC member states and many developing countries in the world.
Those Ph.D's who are interesting in the program, please visit the web of KOSEF and get detailed information (http://www.kosef.re.kr/english ). Upon learning the program policy and conditions, recent Ph.D.'s who are interesting in the subjects above mentioned should send a letter of interest, a resume, and a list of references to me before submit the application form to the KOSEF. Due date to KOSEF application is on 30th of September 2000.
Cheers, /csk/
_________________________________________________________
Chang S. Kim, Ph.D. * email: su...@ko...
Korea Ocean R&D Institute * URL: http://surfkim.kordi.re.kr
Coastal Environ Engineering Lab. * URL: http://vrocean.kordi.re.kr
1270 Sadong Ansan 425-170 South Korea /Voice&Fax: +82-(0)31-400-6340
/VR Ocean Lab: 400-6335
|
|
From: Bill H. <hi...@fa...> - 2000-08-10 12:32:34
|
Hi Steven, Thanks for your recent bug fixes. I have applied them all to our source distribution for Vis5D version 5.2. Thank you also for setting up the SourceForge server. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hi...@fa... 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html |
|
From: Bill H. <hi...@fa...> - 2000-08-08 15:06:02
|
> I'm trying to use the vis5d api with my own gui interface and seemed
> to be completely misunderstanding something. The following, very
> short, program is supposed to just open a v5d gridfile and display
> a box and map for 30 seconds and then quit. It does everything
> successful except I cannot see anything. I've been digging through
> the api manual and the vis5d source and cannot figure out what
> I'm missing. Any ideas?
This can be very hard to figure out. I can't see anything
obvious. If I were you, I'd start with the vis5d/src/main.c
and edit from that, testing after every small change to make
sure it still works.
Good luck,
Bill
> ----------------------------------------------------------------------------
> #include <stdio.h>
> #include <tk.h>
> #include "v5d.h"
> #include "api.h"
>
> int main (int argc, char **argv)
> {
> int ret;
> int c,d;
> char filename[128];
>
> if (argc != 2) {
> fprintf(stderr,"Usage: %s <vis5d file>\n",argv[0]);
> exit(1);
> } else {
> strcpy(filename,*(argv+1));
> printf("Opening \"%s\"\n",filename);
> }
>
> /* Initialize Vis5d */
> vis5d_initialize(0); /* Done once */
> vis5d_workers(0); /* All work done in foreground */
> vis5d_init_path("/usr/local/vis5d-5.2"); /* Location of MAP and TOPO */
>
> vis5d_init_window("My Test",500, 100, 600, 600);
> c = vis5d_alloc_data_context();
> d = vis5d_alloc_display_context();
> vis5d_init_begin(c, d);
> vis5d_init_memory( c, 0 );
>
> if (vis5d_open_gridfile( c,filename , 0 )<0) {
> vis5d_terminate(1);
> exit(0);
> }
> vis5d_init_display_values(c, -1, d);
>
> if (vis5d_init_data_end( c )<0) {
> printf("Error in vis5d_init_data_end\n");
> vis5d_terminate(1);
> exit(0);
> }
>
> vis5d_graphics_mode (d, VIS5D_BOX, VIS5D_ON); /* Turn on box */
> vis5d_graphics_mode (d, VIS5D_MAP, VIS5D_ON); /* Turn on map */
> vis5d_enable_sfc_map(d, VIS5D_ON);
>
> ret=vis5d_draw_frame(d,0); fprintf(stderr," draw_frame returned=%d\n",ret);
> ret=vis5d_swap_frame(d); fprintf(stderr," swap_frame returned=%d\n",ret);
>
> sleep(30); /* Sleep 30 seconds */
> vis5d_terminate(0);
> exit(0);
> }
--
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hi...@fa... 608-263-4427 fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html
|
|
From: <th...@as...> - 2000-08-07 18:50:44
|
Hi,
I'm trying to use the vis5d api with my own gui interface and seemed
to be completely misunderstanding something. The following, very
short, program is supposed to just open a v5d gridfile and display
a box and map for 30 seconds and then quit. It does everything
successful except I cannot see anything. I've been digging through
the api manual and the vis5d source and cannot figure out what
I'm missing. Any ideas?
Bill
----------------------------------------------------------------------------
#include <stdio.h>
#include <tk.h>
#include "v5d.h"
#include "api.h"
int main (int argc, char **argv)
{
int ret;
int c,d;
char filename[128];
if (argc != 2) {
fprintf(stderr,"Usage: %s <vis5d file>\n",argv[0]);
exit(1);
} else {
strcpy(filename,*(argv+1));
printf("Opening \"%s\"\n",filename);
}
/* Initialize Vis5d */
vis5d_initialize(0); /* Done once */
vis5d_workers(0); /* All work done in foreground */
vis5d_init_path("/usr/local/vis5d-5.2"); /* Location of MAP and TOPO */
vis5d_init_window("My Test",500, 100, 600, 600);
c = vis5d_alloc_data_context();
d = vis5d_alloc_display_context();
vis5d_init_begin(c, d);
vis5d_init_memory( c, 0 );
if (vis5d_open_gridfile( c,filename , 0 )<0) {
vis5d_terminate(1);
exit(0);
}
vis5d_init_display_values(c, -1, d);
if (vis5d_init_data_end( c )<0) {
printf("Error in vis5d_init_data_end\n");
vis5d_terminate(1);
exit(0);
}
vis5d_graphics_mode (d, VIS5D_BOX, VIS5D_ON); /* Turn on box */
vis5d_graphics_mode (d, VIS5D_MAP, VIS5D_ON); /* Turn on map */
vis5d_enable_sfc_map(d, VIS5D_ON);
ret=vis5d_draw_frame(d,0); fprintf(stderr," draw_frame returned=%d\n",ret);
ret=vis5d_swap_frame(d); fprintf(stderr," swap_frame returned=%d\n",ret);
sleep(30); /* Sleep 30 seconds */
vis5d_terminate(0);
exit(0);
}
|
|
From: myvatna <my...@ti...> - 2000-08-07 08:30:06
|
Hi, I tried to visualize the Sounding Window by using a script in the "offscreen" mode, but an error occurred when the script opens the such window. Note that the script works fine in normal scripting mode. Any suggestion? Thanks Massimiliano -- TiscaliFreeNet, libero accesso ad Internet. http://www.tiscalinet.it |
|
From: Steven G. J. <st...@gi...> - 2000-08-06 20:07:05
|
Dear Vis5d+ users and developers, I'd like to announce that I've set up a "Vis5d+" web page and project on SourceForge, at: http://vis5d.sourceforge.net/ For those of you who have used my "autoconf" version of Vis5d (5.2.<x>a), "Vis5d+" is the new name, and Vis5d+ 1.0 is available for immediate download with a couple of bug-fixes compared to Vis5d 5.2.5a. However, it's my hope that this project will also attract other developers. SourceForge provides free version control (CVS), mailing lists, bug-tracking, and other services in addition to web and ftp hosting, so I'm hoping that in the future Vis5d+ will become a central place for development of enhanced versions of Vis5d. Last I checked, there were six(!) separate enhanced versions of Vis5d, that for one reason or another weren't merged into the official version. I hope that some of them will get merged into Vis5d+ at some point, and that future branchings will be forestalled. I'll also continue to track changes in the mainline Vis5d sources and share bugfixes where possible. Your comments are appreciated by me, and I think by the Vis5d developers as well. Cordially, Steven G. Johnson PS. One immediate project for non-programmers is to update the manual. It would be nice to have an HTML version with links, subsections, pictures, etcetera, preferably generated from something like TeXinfo or DocBook that can also be used to generate nice printed versions. |