[GRASS-dev] Rast_set_c_value question

All,

Does Rast_set_c_value set value of all cells in raster or individual cell?

I have a code:

s = Rast_cell_size(CELL_TYPE)

Rast_set_c_value(outptr[i], int(tmpcell), CELL_TYPE)

outptr[i] = G_incr_void_ptr(outptr[i], s)

can anybody explain what this does?

ā€“

Regards,
Rashad

Rashad M wrote:

Does `Rast_set_c_value` set value of all cells in raster or individual cell?

Look at the code in lib/raster/raster.c.

It converts the CELL value given by its second argument to the type
specified by its third argument and stores the converted value at the
pointer given by its first argument.

I have a code:

s = Rast_cell_size(CELL_TYPE)

Rast_set_c_value(outptr[i], int(tmpcell), CELL_TYPE)

outptr[i] = G_incr_void_ptr(outptr[i], s)

can anybody explain what this does?

The above code is logically equivalent to:

  *(outptr[i]++) = (int) tmpcell;

except that outptr[i] could be a CELL*, FCELL* or DCELL*, with the
actual type determined at run time.

--
Glynn Clements <glynn@gclements.plus.com>