/*----------------------------MegaWave2 module----------------------------*/
/* mwcommand
name = {fmpset};
version = {"1.0"};
author = {"Lionel Moisan"};
function = {"Set multiple pixel values on a Fimage"};
usage = {
 's':[s=1.]->s    "scale factor, default 1. (the pixel width is 1/s)",
 in->in           "input Fimage", 
 p->p             "2-Flist of points",
 g->g             "value to set",
 out<-fmpset      "output Fimage (modified input)"
        };
*/

#include <stdio.h>
#include "mw.h"

Fimage fmpset(in,p,g,s)
     Fimage in;
     Flist p;
     float g;
     float *s;
{
  int nx,ny,i,x,y;

  nx = in->ncol; ny = in->nrow;
  for (i=0;i<p->size;i++) {
    x = (int)(*s*p->values[i*p->dim  ]);
    y = (int)(*s*p->values[i*p->dim+1]);
    if (x>=0 && x<nx && y>=0 && y<ny)
      in->gray[y*nx+x] = g;
  }
  return(in);
}
