2017-04-26 17:20:15 +02:00
|
|
|
/*************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* Copyright (c) 1994 Stanford University */
|
|
|
|
/* */
|
|
|
|
/* All rights reserved. */
|
|
|
|
/* */
|
|
|
|
/* Permission is given to use, copy, and modify this software for any */
|
|
|
|
/* non-commercial purpose as long as this copyright notice is not */
|
|
|
|
/* removed. All other uses, including redistribution in whole or in */
|
|
|
|
/* part, are forbidden without prior written permission. */
|
|
|
|
/* */
|
|
|
|
/* This software is provided with absolutely no warranty and no */
|
|
|
|
/* support. */
|
|
|
|
/* */
|
|
|
|
/*************************************************************************/
|
|
|
|
|
|
|
|
/************************************************************************
|
|
|
|
* *
|
|
|
|
* constants.h: constants needed for rendering system *
|
|
|
|
* *
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
#define PI 3.14159265358979323846
|
|
|
|
|
|
|
|
#define MAX_NUMPROC 64
|
|
|
|
#define NODE0 0 /* processor no. to which first process is bound */
|
|
|
|
|
|
|
|
/* rendering parameters */
|
|
|
|
#define PIXELS_PER_BLOCK_DIM 4
|
|
|
|
#define ZSCALE 1
|
|
|
|
#ifdef DIM
|
|
|
|
#define ROTATE_STEPS 8
|
|
|
|
#define STEP_SIZE 3
|
|
|
|
#else
|
|
|
|
#define ROTATE_STEPS 8
|
|
|
|
#define STEP_SIZE 3
|
|
|
|
#endif
|
|
|
|
#define ROOT 0
|
|
|
|
|
|
|
|
/* BOOLEAN constants used */
|
|
|
|
#define TRUE 1 /* BOOLEAN defined as a user type */
|
|
|
|
#define FALSE 0 /* in my_types.h */
|
|
|
|
#define YES 1
|
|
|
|
#define NO 0
|
|
|
|
|
2017-04-26 18:03:02 +02:00
|
|
|
/* Definition of object space coordinates: */
|
2017-04-26 17:20:15 +02:00
|
|
|
#define NM 3 /* number of coordinates */
|
|
|
|
#define X 0 /* x-coordinate */
|
|
|
|
#define Y 1 /* y-coordinate */
|
|
|
|
#define Z 2 /* z-coordinate */
|
|
|
|
|
2017-04-26 18:03:02 +02:00
|
|
|
/* Definition of pixel image coordinates: */
|
2017-04-26 17:20:15 +02:00
|
|
|
#define NI 2 /* number of coordinates */
|
|
|
|
|
|
|
|
/* NORMAL constant using 16-bit signed short */
|
|
|
|
#if 0
|
|
|
|
#define NORM_LSHIFT 127.0 /* left shift to store normal as short */
|
|
|
|
#define NORM_RSHIFT .00787401574803149606
|
|
|
|
#define LOOKUP_PREC 255
|
|
|
|
#define LOOKUP_HSIZE 65024 /* = (255*127+127)*2 */
|
|
|
|
#define LOOKUP_SIZE 130050 /* = 255*255*2 */
|
|
|
|
#endif
|
|
|
|
#define NORM_LSHIFT 31.0
|
|
|
|
#define NORM_RSHIFT .03225806451612903225
|
|
|
|
#define LOOKUP_PREC 63
|
|
|
|
#define LOOKUP_HSIZE 3968
|
|
|
|
#define LOOKUP_SIZE 7938
|
|
|
|
|
|
|
|
/* PIXEL constants used */
|
|
|
|
#define NULL_PIXEL 0 /* initialization value for pixel */
|
|
|
|
#define PIX_CUR_VERSION 1 /* version of .pix file used */
|
|
|
|
|
2017-04-26 18:03:02 +02:00
|
|
|
/* Definition of string sizes: */
|
2017-04-26 17:20:15 +02:00
|
|
|
#define FILENAME_SIZE 80 /* max user filename */
|
|
|
|
#define FILENAME_STRING_SIZE (FILENAME_SIZE+1) /* + 1 for null char */
|
|
|
|
|
2017-04-26 18:03:02 +02:00
|
|
|
/* Definition of minimum and maximum values: */
|
2017-04-26 17:20:15 +02:00
|
|
|
#define MIN_DENSITY 0 /* density */
|
|
|
|
#define MAX_DENSITY 255 /* density */
|
|
|
|
#define MIN_MAGNITUDE 0 /* magnitude of density gradient */
|
|
|
|
#define MAX_MAGNITUDE 442 /* sqrt(MAX_GRADIENT**2*3) */
|
|
|
|
#define MIN_OPACITY 0.0 /* compositing opacity */
|
|
|
|
#define MAX_OPACITY 1.0 /* (0.0=transparent, 1.0=opaque) */
|
|
|
|
#define MIN_OPC 0 /* */
|
|
|
|
#define MAX_OPC 255 /* */
|
|
|
|
#define INV_MAX_OPC .00392156862745098039
|
|
|
|
#define MIN_PIXEL 0 /* pixel or voxel color or opacity */
|
|
|
|
#define MAX_PIXEL 255 /* */
|
|
|
|
#define INV_MAX_PIXEL .00392156862745098039
|
|
|
|
#define MAX_INLEN 1024 /* size of any input map or space */
|
|
|
|
#define MAX_OUTLEN 4096 /* size of any output map or space */
|
|
|
|
#define SMALL 0.00001 /* Don't use {SMALL,BIG} in single precision */
|
|
|
|
#define BIG 9999.999 /* expressions alongside {big,small} numbers */
|
|
|
|
/*#define MAX_INT 4294967295*/ /* 2^32-1 is the maximum integer */
|
|
|
|
|
|
|
|
/* Definition of global constants assumed */
|
|
|
|
#define INSET 1 /* inset assumes gradient */
|
|
|
|
/* operator not 5x5 */
|
|
|
|
|
|
|
|
#define MAX_PYRLEVEL 9 /* Maximum level in binary pyramid */
|
2017-04-26 18:03:02 +02:00
|
|
|
/* (allows 1x1x1..512x512x512 voxels) */
|
2017-04-26 17:20:15 +02:00
|
|
|
|