[GRASS-user] nviz and Grass 6.3 cvs in Ubuntu 6.06

Hamish hamish_nospam at yahoo.com
Thu Dec 7 00:13:30 EST 2006


Tomas Lanczos wrote:
> Thanks Hamish,
> 
> > 
> > 3D raster volumes are a little buggy, see:
> >   http://thread.gmane.org/gmane.comp.gis.grass.devel/16786/focus=16886
> >   http://intevation.de/rt/webrt?serial_num=4725
> 
> Well, I see ...
> 
> > Neither Bob's nor Soeren*'s patches have been applied in CVS yet. 
> > [*] geovol_file *vf = NULL
> > can you try applying them and see if it fixes your problem?
> 
> Where can I find more info about the patches? I am only a geologist,
> but can learn quickly :-))).

Bob's was in the first message in the above linked thread:
 for visualization/nviz/src/map_obj.c


--- map_obj.c	2006-11-16 12:22:16.000000000 -0400
+++ map_obj.c_bak	2006-11-16 12:21:56.000000000 -0400
 <at>  <at>  -437,6 +437,7  <at>  <at> 
     char const_string[] = "constant";
     char zero_string[] = "0";
     int new_id;
+    int mode;
     int *surf_list, num_surfs, i;
     Nv_clientData *new_data;
     int file_used = 0;
 <at>  <at>  -560,6 +561,7  <at>  <at> 
         return (TCL_ERROR);
     }
     new_id = GVL_new_vol();
+    mode = 0;

     /* See if there is a default file name specified */
     if ((argc >= 3) && (strncmp(argv[2], "name=", 5))) {
 <at>  <at>  -570,6 +572,9  <at>  <at> 
             return (TCL_ERROR);
 		}
 		file_used = 1;
+            mode |= DM_GOURAUD;
+	    GVL_isosurf_set_drawmode(new_id, mode);
+            GVL_slice_set_drawmode(new_id, mode);
     }

     sprintf(id, "Nvol%d", new_id);


Soeren's:
 for lib/ogsf/gvl_calc.c


Index: gvl_calc.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/lib/ogsf/gvl_calc.c,v
retrieving revision 1.3
diff -u -r1.3 gvl_calc.c
--- gvl_calc.c  9 Feb 2006 03:08:57 -0000       1.3
+++ gvl_calc.c  9 Jul 2006 13:48:54 -0000
@@ -444,7 +444,7 @@
 {
     int x, y, z;
     int i, a, read;
-    geovol_file *vf;
+    geovol_file *vf = NULL;
     geovol_isosurf *isosurf;

     data_buffer *dbuff;




> I played with it to reproduce  the error. So, the error happens
> when I do the the following: select Visualize - > Volume - > select
> file, then select visualization type -> isosurface -> choose attribute
> -> do anything else -> segmentation fault. Doing slices is working
> fine. 
> 
> But what is really strange but maybe helps (or just coincidence) is
> that when I tried to do something similar in Paraview I got the same
> error. 
> 
> > do you see anything about a segmentation fault on the 
> > terminal after it breaks?
> 
> No, except the "segmentation fault" nothing else.


try with Bob's patch.



Hamish




More information about the grass-user mailing list