2021-10-11 18:37:13 -03:00

176 lines
4.7 KiB
C

/*
* Copyright (c) 1986, 1987, 1988, 1989 by Sun Microsystems, Inc.
* Permission to use, copy, modify, and distribute this software for any
* purpose and without fee is hereby granted, provided that the above
* copyright notice appear in all copies and that both that copyright
* notice and this permission notice are retained, and that the name
* of Sun Microsystems, Inc., not be used in advertising or publicity
* pertaining to this software without specific, written prior permission.
* Sun Microsystems, Inc., makes no representations about the suitability
* of this software or the interface defined in this software for any
* purpose. It is provided "as is" without express or implied warranty.
*/
#ifndef lint
static char sccsid[] = "@(#)xformattpas.c 1.1 94/10/31 Copyr 1983 Sun Micro";
#endif
/*
Copyright (c) 1983 by Sun Microsystems, Inc.
*/
int set_ndc_space_2();
int set_ndc_space_3();
int set_projection();
int set_view_depth();
int set_view_plane_distance();
int set_view_plane_normal();
int set_view_reference_point();
int set_view_up_2();
int set_view_up_3();
int set_viewing_parameters();
int set_viewport_2();
int set_viewport_3();
int set_window();
int setndcspace2(width, height)
double width, height;
{
return(set_ndc_space_2(width, height));
}
int setndcspace3(width, height, depth)
double width, height, depth;
{
return(set_ndc_space_3(width, height, depth));
}
int setprojection(projtype, dx, dy, dz)
int projtype;
double dx, dy, dz;
{
return(set_projection(projtype, dx, dy, dz));
}
int setviewdepth(near, far)
double near, far;
{
return(set_view_depth(near, far));
}
int setviewplanedist(dist)
double dist;
{
return(set_view_plane_distance(dist));
}
int setviewplanenorm(dx, dy, dz)
double dx, dy, dz;
{
return(set_view_plane_normal(dx, dy, dz));
}
int setviewrefpoint(x, y, z)
double x, y, z;
{
return(set_view_reference_point(x, y, z));
}
int setviewup2(dx, dy)
double dx, dy;
{
return(set_view_up_2(dx, dy));
}
int setviewup3(dx, dy, dz)
double dx, dy, dz;
{
return(set_view_up_3(dx, dy, dz));
}
typedef struct {
double p_xmin, p_xmax, p_ymin, p_ymax; } p_windtype;
typedef struct {
double p_xmin, p_xmax, p_ymin, p_ymax, p_zmin, p_zmax; } p_porttype;
typedef struct {
double p_vwrefpt[3];
double p_vwplnorm[3];
double p_viewdis;
double p_frontdis;
double p_backdis;
int p_projtype;
double p_projdir[3];
p_windtype p_window;
double p_vwupdir[3];
p_porttype p_viewport;
} p_vwprmtype;
typedef struct {
float xmin, xmax, ymin, ymax; } windtype;
typedef struct {
float xmin,xmax,ymin,ymax,zmin,zmax; } porttype;
typedef struct {
float vwrefpt[3];
float vwplnorm[3];
float viewdis;
float frontdis;
float backdis;
int projtype;
float projdir[3];
windtype window;
float vwupdir[3];
porttype viewport;
} vwprmtype;
int setviewingparams(viewparm2)
p_vwprmtype *viewparm2;
{
vwprmtype *viewparm;
viewparm->vwrefpt[1] = viewparm2->p_vwrefpt[1];
viewparm->vwrefpt[2] = viewparm2->p_vwrefpt[2];
viewparm->vwrefpt[3] = viewparm2->p_vwrefpt[3];
viewparm->vwplnorm[1] = viewparm2->p_vwplnorm[1];
viewparm->vwplnorm[2] = viewparm2->p_vwplnorm[2];
viewparm->vwplnorm[3] = viewparm2->p_vwplnorm[3];
viewparm->viewdis = viewparm2->p_viewdis;
viewparm->frontdis = viewparm2->p_frontdis;
viewparm->backdis = viewparm2->p_backdis;
viewparm->projtype = viewparm2->p_projtype;
viewparm->projdir[1] = viewparm2->p_projdir[1];
viewparm->projdir[2] = viewparm2->p_projdir[2];
viewparm->projdir[3] = viewparm2->p_projdir[3];
viewparm->window.xmin = viewparm2->p_window.p_xmin;
viewparm->window.xmax = viewparm2->p_window.p_xmax;
viewparm->window.ymin = viewparm2->p_window.p_ymin;
viewparm->window.ymax = viewparm2->p_window.p_ymax;
viewparm->vwupdir[1] = viewparm2->p_vwupdir[1];
viewparm->vwupdir[2] = viewparm2->p_vwupdir[2];
viewparm->vwupdir[3] = viewparm2->p_vwupdir[3];
viewparm->viewport.xmin = viewparm2->p_viewport.p_xmin;
viewparm->viewport.xmax = viewparm2->p_viewport.p_xmin;
viewparm->viewport.ymin = viewparm2->p_viewport.p_ymin;
viewparm->viewport.ymax = viewparm2->p_viewport.p_ymax;
viewparm->viewport.zmin = viewparm2->p_viewport.p_zmin;
viewparm->viewport.zmax = viewparm2->p_viewport.p_zmax;
return(set_viewing_parameters(viewparm));
}
int setviewport2(xmin, xmax, ymin, ymax)
double xmin, xmax, ymin, ymax;
{
return(set_viewport_2(xmin, xmax, ymin, ymax));
}
int setviewport3(xmin, xmax, ymin, ymax, zmin, zmax)
double xmin, xmax, ymin, ymax, zmin, zmax;
{
return(set_viewport_3(xmin, xmax, ymin, ymax, zmin, zmax));
}
int setwindow(umin, umax, vmin, vmax)
double umin, umax, vmin, vmax;
{
return(set_window(umin, umax, vmin, vmax));
}