Selaa lähdekoodia

m.nviz.image: add flag to change normal direction of isosurfaces

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@57622 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 11 vuotta sitten
vanhempi
commit
af20a2021b
3 muutettua tiedostoa jossa 12 lisäystä ja 1 poistoa
  1. 7 1
      misc/m.nviz.image/args.c
  2. 1 0
      misc/m.nviz.image/local_proto.h
  3. 4 0
      misc/m.nviz.image/volume.c

+ 7 - 1
misc/m.nviz.image/args.c

@@ -699,7 +699,13 @@ void args_volume(struct GParams *params)
     params->isosurf_shine_const->description = _("Shininess value(s) for isosurfaces");
     params->isosurf_shine_const->guisection = _("Volumes");
     params->isosurf_shine_const->options = "0-255";
-    
+
+    params->isosurf_toggle_norm_dir = G_define_flag();
+    params->isosurf_toggle_norm_dir->key = 'n';
+    params->isosurf_toggle_norm_dir->description =
+	_("Toggles normal direction of all isosurfaces (changes light effect)");
+    params->isosurf_toggle_norm_dir->guisection = _("Volumes");
+
     /* slices */
     /* slice axis */
     params->slice = G_define_option();

+ 1 - 0
misc/m.nviz.image/local_proto.h

@@ -7,6 +7,7 @@
 struct GParams
 {
     struct Flag *mode_all;
+    struct Flag *isosurf_toggle_norm_dir;
 
     struct Option 
     /* surface */

+ 4 - 0
misc/m.nviz.image/volume.c

@@ -108,6 +108,10 @@ int add_isosurfs(const struct GParams *params, nv_data *data)
 
 	nisosurfs = GVL_isosurf_num_isosurfs(id);
 
+	if (params->isosurf_toggle_norm_dir->answer) {
+	    GVL_isosurf_set_flags(id, nisosurfs-1, 1);
+	}
+
 	/* topography (level) */
 	if (GVL_isosurf_set_att_const(id, nisosurfs-1, ATT_TOPO, level) < 0) {
 	    G_fatal_error(_("Unable to set isosurface (%d) attribute (%d) of volume %d"),