GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
Loading...
Searching...
No Matches
viz.h
Go to the documentation of this file.
1#include <stdio.h>
2#include <math.h>
3#include <sys/types.h>
4
5#define GRID_ID "grid003.02"
6#define DSPF_ID "dspf003.02"
7
8#define LINTERP(A, B, C) ((C - A) / (B - A)) * 255
9#define VOID_TYPE char
10
11#define FLINTERP(A, B, C, D, E) (((C - A) * (E - D)) / (B - A)) + D
12/*#define LENGTH(A,B,C) sqrt(A*A + B*B + C*C) */
13
14/* used in the lambert shading model */
15#define NV(A, B, C) ((A * A) + (B * B) + (C * C))
16#define MAXLITS 3
17
18#define MAXTHRESH 127
19#define MAXPOLY 10
20
21typedef struct {
22 int nthres; /* number of thresholds */
23 float tvalue[MAXTHRESH]; /* array of threshold values */
24 int litmodel; /* 1 = flat, 2 = gradient(6), 3 = gradient(26) */
26
27typedef struct {
28 int token; /* type of file */
29 void *g3mapin, *g3mapout; /* RASTER3D_Map */
30 FILE *datainfp, *dataoutfp;
31 FILE *dspfinfp, *dspfoutfp;
32 int xdim, ydim, zdim;
33 float north, south, east, west;
34 float top, bottom;
35 float ns_res, ew_res, tb_res;
36 int zone;
37 int proj;
38 int type; /* 1 = short int, 2 = integer, 3 = float */
39 float min, max; /* max and min values present in the data */
40 long Dataoff; /* offset of beginning of data in file */
41 long Lookoff; /* offset of beginning of lookup table in file */
42 cmndln_info linefax; /* more global info */
43 int headsize; /* size of datainf file header, necessary for random
44 access to grid3 data */
45} file_info;
46
47typedef struct {
48 float v1[3]; /* polygon vertices */
49 float v2[3];
50 float v3[3];
51 float n1[3], n2[3], n3[3]; /* normals for vertices */
52} poly_info;
53
54typedef struct {
55 int npoly; /* number of polygons in cube at given threshold */
56 int t_ndx; /* index of given threshold */
57 poly_info poly[MAXPOLY]; /* vertices and normals */
58} cube_info;
59
60typedef struct {
63} Cube_data;
64
65typedef struct {
66 int nverts;
67 int verts[8];
68 int nedges;
69 int edges[12];
70 int npolys;
71 int polys[30];
72} CELL_ENTRY; /* for writing out in condensed format */
73
74/* cube_io.c */
75int write_cube(Cube_data *, int, file_info *);
76int write_cube_buffer(unsigned char *, int, int, file_info *);
78int my_fread(char *, int, int, FILE *);
79int my_fread(char *, int, int, FILE *);
81int new_dspf(file_info *);
82
83/* dspf_header.c */
86int dfread_header_old(file_info *, FILE *);
87
88/* print_info.c */
90
91/* struct_copy.c */
92int struct_copy(char *, char *, int);
93
94extern CELL_ENTRY cell_table[];
#define min(a, b)
Definition viz.h:65
int nverts
Definition viz.h:66
int npolys
Definition viz.h:70
int nedges
Definition viz.h:68
int n_thresh
Definition viz.h:61
int nthres
Definition viz.h:22
int litmodel
Definition viz.h:24
int t_ndx
Definition viz.h:56
int npoly
Definition viz.h:55
float east
Definition viz.h:33
long Lookoff
Definition viz.h:41
int xdim
Definition viz.h:32
void * g3mapin
Definition viz.h:29
int proj
Definition viz.h:37
float ew_res
Definition viz.h:35
FILE * datainfp
Definition viz.h:30
cmndln_info linefax
Definition viz.h:42
long Dataoff
Definition viz.h:40
FILE * dspfinfp
Definition viz.h:31
int type
Definition viz.h:38
float bottom
Definition viz.h:34
float max
Definition viz.h:39
int zone
Definition viz.h:36
int token
Definition viz.h:28
int headsize
Definition viz.h:43
int write_cube(Cube_data *, int, file_info *)
Definition cube_io.c:26
int dfwrite_header(file_info *)
Definition dspf_header.c:7
CELL_ENTRY cell_table[]
Definition cell_table.c:3
int struct_copy(char *, char *, int)
Definition struct_copy.c:1
int read_cube(Cube_data *, file_info *)
Definition cube_io.c:137
int write_cube_buffer(unsigned char *, int, int, file_info *)
Definition cube_io.c:96
int new_dspf(file_info *)
Definition cube_io.c:300
int dfread_header_old(file_info *, FILE *)
#define MAXPOLY
Definition viz.h:19
int print_head_info(file_info *)
Definition print_info.c:3
#define MAXTHRESH
Definition viz.h:18
int my_fread(char *, int, int, FILE *)
Definition cube_io.c:272
int reset_reads(file_info *)
Definition cube_io.c:290
int dfread_header(file_info *)
Definition dspf_header.c:85