.ds f. vrast.sec
.NH 1 "VRAST LIBRARY"
.XS
\s12\*(SN  VRAST LIBRARY\s0
.XE
.sp 2
.NH 2 "INTRODUCTION TO THE VRAST LIBRARY"
.XS
      \*(SN  INTRODUCTION
.XE
.sp 2
.PP
The vrast library contains routines used to perform bilinear interpolated
raster fills over areas in an image defined by four points, including
degenerate cases such as colinear points, twists, etc. 
.sp 2
ALL programs that utilize these routines MUST include the statement:
.sp
#include "vinclude.h"
.br
#include "vipl/lvrast.h"
.sp 3
.NH 2 "VRAST ROUTINES"
.XS
      \*(SN  VRAST ROUTINES
.XE
.sp 2
.NH 3 " bilin_fill_c()"
.XS
              \*(SN   bilin_fill_c()
.XE
.sp
.LP
bilinear interpolated raster fill for BYTE data.
.sp 2
.B
.sp
int bilin_fill_c(left,right,top,bottom,ptr,nr,nc)
.br
struct line *left, *right, *top, *bottom;
.br
char *ptr;
.br
int nc, nr;
.sp
.R
.LP
-- -- -- -- -- -- -- -- -- -- -- -- -- -- --  explanation of arguments  -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
.sp
.LP
Each call to bilin_fill_c() will use the intensity levels and edge locations
specified by \fIleft,right,top,bottom\fR line structures to raster fill 
the given area with the correct intensity interpolation in the output array.
.IP left: 10
A pointer to the structure line and specifies the left side line in the
output image that corresponds to one side of a pixel in the input image.
.IP right: 10
A pointer to the structure line and specifies the right side line in the
output image that corresponds to one side of a pixel in the input image.
.IP bottom: 10
A pointer to the structure line and specifies the bottom side line in the
output image that corresponds to one side of a pixel in the input image.
.IP top: 10
A pointer to the structure line and specifies the top side line in the
output image that corresponds to one side of a pixel in the input image.
.IP ptr: 
A char pointer to the output data area for the raster fill.
.IP nr:
The number of rows in the data array pointed to by ptr.
.IP nc:
The number of columns in the data array pointed to by ptr.
.LP
=====================================================================
.sp 4
.NH 3 " bilin_fill_s()"
.XS
              \*(SN   bilin_fill_s()
.XE
.sp
.LP
bilinear interpolated raster fill for SHORT data.
.sp 2
.B
.sp
int bilin_fill_s(left,right,top,bottom,ptr,nr,nc)
.br
struct line *left, *right, *top, *bottom;
.br
char *ptr;
.br
int nc, nr;
.sp
.R
.LP
-- -- -- -- -- -- -- -- -- -- -- -- -- -- --  explanation of arguments  -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
.sp
.LP
Each call to bilin_fill_s() will use the intensity levels and edge locations
specified by \fIleft,right,top,bottom\fR line structures to raster fill 
the given area with the correct intensity interpolation in the output array.
.IP left: 10
A pointer to the structure line and specifies the left side line in the
output image that corresponds to one side of a pixel in the input image.
.IP right: 10
A pointer to the structure line and specifies the right side line in the
output image that corresponds to one side of a pixel in the input image.
.IP bottom: 10
A pointer to the structure line and specifies the bottom side line in the
output image that corresponds to one side of a pixel in the input image.
.IP top: 10
A pointer to the structure line and specifies the top side line in the
output image that corresponds to one side of a pixel in the input image.
.IP ptr: 
A short pointer to the output data area for the raster fill.
.IP nr:
The number of rows in the data array pointed to by ptr.
.IP nc:
The number of columns in the data array pointed to by ptr.
.LP
=====================================================================
.sp 4
.NH 3 " bilin_fill_i()"
.XS
              \*(SN   bilin_fill_i()
.XE
.sp
.LP
bilinear interpolated raster fill for INT data.
.sp 2
.B
.sp
int bilin_fill_i(left,right,top,bottom,ptr,nr,nc)
.br
struct line *left, *right, *top, *bottom;
.br
char *ptr;
.br
int nc, nr;
.sp
.R
.LP
-- -- -- -- -- -- -- -- -- -- -- -- -- -- --  explanation of arguments  -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
.sp
.LP
Each call to bilin_fill_i() will use the intensity levels and edge locations
specified by \fIleft,right,top,bottom\fR line structures to raster fill 
the given area with the correct intensity interpolation in the output array.
.IP left: 10
A pointer to the structure line and specifies the left side line in the
output image that corresponds to one side of a pixel in the input image.
.IP right: 10
A pointer to the structure line and specifies the right side line in the
output image that corresponds to one side of a pixel in the input image.
.IP bottom: 10
A pointer to the structure line and specifies the bottom side line in the
output image that corresponds to one side of a pixel in the input image.
.IP top: 10
A pointer to the structure line and specifies the top side line in the
output image that corresponds to one side of a pixel in the input image.
.IP ptr: 
A int pointer to the output data area for the raster fill.
.IP nr:
The number of rows in the data array pointed to by ptr.
.IP nc:
The number of columns in the data array pointed to by ptr.
.LP
=====================================================================
.sp 4
.NH 3 " bilin_fill_f()"
.XS
              \*(SN   bilin_fill_f()
.XE
.sp
.LP
bilinear interpolated raster fill for SHORT data.
.sp 2
.B
.sp
int bilin_fill_f(left,right,top,bottom,ptr,nr,nc)
.br
struct line *left, *right, *top, *bottom;
.br
char *ptr;
.br
int nc, nr;
.sp
.R
.LP
-- -- -- -- -- -- -- -- -- -- -- -- -- -- --  explanation of arguments  -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
.sp
.LP
Each call to bilin_fill_f() will use the intensity levels and edge locations
specified by \fIleft,right,top,bottom\fR line structures to raster fill 
the given area with the correct intensity interpolation in the output array.
.IP left: 10
A pointer to the structure line and specifies the left side line in the
output image that corresponds to one side of a pixel in the input image.
.IP right: 10
A pointer to the structure line and specifies the right side line in the
output image that corresponds to one side of a pixel in the input image.
.IP bottom: 10
A pointer to the structure line and specifies the bottom side line in the
output image that corresponds to one side of a pixel in the input image.
.IP top: 10
A pointer to the structure line and specifies the top side line in the
output image that corresponds to one side of a pixel in the input image.
.IP ptr: 
A float pointer to the output data area for the raster fill.
.IP nr:
The number of rows in the data array pointed to by ptr.
.IP nc:
The number of columns in the data array pointed to by ptr.
