|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 3868 (0xf1c) Types: TextFile Names: »var.h++«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/euug-87hel/sec1/image/varc++/var.h++«
/* This file contains the definitions necessary to use vision archive based stuff. */ #ifndef VAR_H #define VAR_H 1 /* Structure for a list of positions filenames and file types */ struct band { int b_position; // The position of a band in the pixel char * b_file_name; // The name of the file char * b_file_type; // The type of the file }; /* header structure for archive files */ struct var_header { char * vh_file_type; // type of entire file int vh_bytes_per_pixel; int vh_number_bands; struct band * vh_bands; // bands to store image int vh_length; // length of image int vh_width; // width of image char * vh_comments; // the comments on the image char * vh_header; // the contents of the _.HEADER file }; /* structure for storing color info. Overlay field is in for compatibility with ikonas. Also it rounds out the data structure so it is an integral number of words long. */ struct color_pixel { unsigned char red; // red pixel unsigned char green; // green pixel unsigned char blue; // blue pixel unsigned char overlay; // overlay pixel }; /* Reads in the beginning of an archive and parses the Header file */ struct var_header * var_read_header(FILE * var_file); /* This is the general data reading routine that reads in any kind of data */ void * var_read_data(FILE * var_file , struct var_header * vh ); /* Returns an array of doubles given a file that can be used otherwise fails also fills in comment field */ double * var_read_doubles(FILE * var_file , struct var_header * vh ); /* Returns an array of longs given a file that can be used that way otherwise fails also fills in comment field */ long * var_read_longs (FILE * var_file , struct var_header * vh ); /* Returns an array of color structures for color images also fills in comment field */ struct color_pixel * var_read_color (FILE * var_file , struct var_header * vh ); /* Creates the beginning of an archive */ struct var_header * var_create_header ( char * file_type, char * comments, int bytes_per_pixel, int number_bands, struct band * bands, int length, int width ); /* sets up the header for an array of doubles */ struct var_header * var_create_double_header ( int length , int width ); /* sets up the header for an array of longs */ struct var_header * var_create_long_header ( int length , int width ); /* sets up the header for an array of color pixels */ struct var_header * var_create_color_header ( int length , int width ); /* Writes the header and comments for a file otherwise fails also fills in comment field */ void var_write_header(FILE * var_file , struct var_header * vh); /* Writes the data out to the file as directed by the header */ void var_write_data(FILE * var_file , struct var_header * vh , void * data ); /* Writes an array of doubles given a file that can be used otherwise fails also fills in comment field */ void var_write_doubles(FILE * var_file , struct var_header * vh, double * array ); /* Writes an array of longs given a file that can be used that way otherwise fails also fills in comment field */ void var_write_longs (FILE * var_file , struct var_header * vh, long * array ); /* Writes an array of color structures for color images also fills in comment field */ void var_write_color (FILE * var_file , struct var_header * vh, struct color_pixel * array ); #endif VAR_H /* Copyright (C) 1986, David Sher in the University of Rochester Permission is granted to any individual or institution to use, copy, or redistribute this software so long as it is not sold for profit, provided this copyright notice is retained. */