Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F73080794
rpaint.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Jul 18, 09:40
Size
3 KB
Mime Type
text/x-c
Expires
Sat, Jul 20, 09:40 (1 d, 22 h)
Engine
blob
Format
Raw Data
Handle
19137923
Attached To
R10977 RADIANCE Photon Map
rpaint.h
View Options
/* RCSid $Id: rpaint.h,v 2.12 2016/03/06 01:13:18 schorsch Exp $ */
/*
* rpaint.h - header file for image painting.
*/
#ifndef _RAD_RPAINT_H_
#define _RAD_RPAINT_H_
#include "driver.h"
#include "view.h"
#ifdef __cplusplus
extern
"C"
{
#endif
#if defined(_WIN32) || defined(_WIN64)
/* stupid Windows name collisions */
#undef COORD
#define COORD radCOORD
#undef RECT
#define RECT radRECT
#endif
typedef
short
COORD
;
/* an image coordinate */
typedef
struct
pnode
{
struct
pnode
*
kid
;
/* children */
COORD
x
,
y
;
/* position */
COORD
xmin
,
ymin
,
xmax
,
ymax
;
/* rectangle */
COLOR
v
;
/* value */
}
PNODE
;
/* a paint node */
/* child ordering */
#define DL 0
/* down left */
#define DR 1
/* down right */
#define UL 2
/* up left */
#define UR 3
/* up right */
#define newptree() (PNODE *)calloc(4, sizeof(PNODE))
typedef
struct
{
COORD
l
,
d
,
r
,
u
;
/* left, down, right, up */
}
RECT
;
/* a rectangle */
extern
PNODE
ptrunk
;
/* the base of the image tree */
extern
VIEW
ourview
;
/* current view parameters */
extern
VIEW
oldview
;
/* previous view parameters */
extern
int
hresolu
,
vresolu
;
/* image resolution */
extern
int
newparam
;
/* parameter setting changed */
extern
char
*
dvcname
;
/* output device name */
extern
char
rifname
[];
/* rad input file name */
extern
int
psample
;
/* pixel sample size */
extern
double
maxdiff
;
/* max. sample difference */
extern
int
greyscale
;
/* map colors to brightness? */
extern
int
pdepth
;
/* image depth in current frame */
extern
RECT
pframe
;
/* current frame rectangle */
extern
double
exposure
;
/* exposure for scene */
extern
struct
driver
*
dev
;
/* driver functions */
extern
int
nproc
;
/* number of processes */
/* defined in rview.c */
extern
void
devopen
(
char
*
dname
);
extern
void
devclose
(
void
);
extern
void
printdevices
(
void
);
extern
void
command
(
char
*
prompt
);
extern
void
rsample
(
void
);
extern
int
refine
(
PNODE
*
p
,
int
pd
);
/* defined in rv2.c */
extern
void
getframe
(
char
*
s
);
extern
void
getrepaint
(
char
*
s
);
extern
void
getview
(
char
*
s
);
extern
void
lastview
(
char
*
s
);
extern
void
saveview
(
char
*
s
);
extern
void
loadview
(
char
*
s
);
extern
void
getfocus
(
char
*
s
);
extern
void
getaim
(
char
*
s
);
extern
void
getmove
(
char
*
s
);
extern
void
getrotate
(
char
*
s
);
extern
void
getpivot
(
char
*
s
);
extern
void
getorigin
(
char
*
s
);
extern
void
getexposure
(
char
*
s
);
extern
int
getparam
(
char
*
str
,
char
*
dsc
,
int
typ
,
void
*
p
);
extern
void
setparam
(
char
*
s
);
extern
void
traceray
(
char
*
s
);
extern
void
writepict
(
char
*
s
);
/* defined in rv3.c */
extern
int
getrect
(
char
*
s
,
RECT
*
r
);
extern
int
getinterest
(
char
*
s
,
int
direc
,
FVECT
vec
,
double
*
mp
);
extern
float
*
greyof
(
COLOR
col
);
extern
int
paint
(
PNODE
*
p
);
extern
int
waitrays
(
void
);
extern
void
newimage
(
char
*
s
);
extern
void
redraw
(
void
);
extern
void
repaint
(
int
xmin
,
int
ymin
,
int
xmax
,
int
ymax
);
extern
void
paintrect
(
PNODE
*
p
,
RECT
*
r
);
extern
PNODE
*
findrect
(
int
x
,
int
y
,
PNODE
*
p
,
int
pd
);
extern
void
compavg
(
PNODE
*
p
);
extern
void
scalepict
(
PNODE
*
p
,
double
sf
);
extern
void
getpictcolrs
(
int
yoff
,
COLR
*
scan
,
PNODE
*
p
,
int
xsiz
,
int
ysiz
);
extern
void
freepkids
(
PNODE
*
p
);
extern
void
newview
(
VIEW
*
vp
);
extern
void
moveview
(
double
angle
,
double
elev
,
double
mag
,
FVECT
vc
);
extern
void
pcopy
(
PNODE
*
p1
,
PNODE
*
p2
);
extern
void
zoomview
(
VIEW
*
vp
,
double
zf
);
#ifdef __cplusplus
}
#endif
#endif
/* _RAD_RPAINT_H_ */
Event Timeline
Log In to Comment