Browse Source

Propagate nulls

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@52207 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 13 years ago
parent
commit
1f2fb3b217
2 changed files with 18 additions and 0 deletions
  1. 9 0
      imagery/i.his.rgb/his2rgb.c
  2. 9 0
      imagery/i.rgb.his/rgb2his.c

+ 9 - 0
imagery/i.his.rgb/his2rgb.c

@@ -37,6 +37,15 @@ void his2rgb(CELL *rowbuffer[3], int columns)
 
 
     for (sample = 0; sample < columns; sample++) {
+	if (Rast_is_c_null_value(&rowbuffer[0][sample]) ||
+	    Rast_is_c_null_value(&rowbuffer[1][sample]) ||
+	    Rast_is_c_null_value(&rowbuffer[2][sample])) {
+	    Rast_set_c_null_value(&rowbuffer[0][sample], 1);
+	    Rast_set_c_null_value(&rowbuffer[1][sample], 1);
+	    Rast_set_c_null_value(&rowbuffer[2][sample], 1);
+	    continue;
+	}
+
 	red = green = blue = 0.0;
 	scalei = (double)rowbuffer[1][sample];
 	scalei /= 255.;

+ 9 - 0
imagery/i.rgb.his/rgb2his.c

@@ -35,6 +35,15 @@ void rgb2his(CELL * rowbuffer[3], int columns)
     double hue = 0.0L;		/* hue                                   */
 
     for (sample = 0; sample < columns; sample++) {
+	if (Rast_is_c_null_value(&rowbuffer[0][sample]) ||
+	    Rast_is_c_null_value(&rowbuffer[1][sample]) ||
+	    Rast_is_c_null_value(&rowbuffer[2][sample])) {
+	    Rast_set_c_null_value(&rowbuffer[0][sample], 1);
+	    Rast_set_c_null_value(&rowbuffer[1][sample], 1);
+	    Rast_set_c_null_value(&rowbuffer[2][sample], 1);
+	    continue;
+	}
+
 	scaler = (double)rowbuffer[0][sample];
 	scaler /= 255.0;
 	scaleg = (double)rowbuffer[1][sample];