DoProjection(3D)

NAME
DoProjection - Create a projection studio attribute object for cameras

SYNOPSIS
C:
DtObject DoProjection(window, ptype, prp, viewplane,
	hither, yon)
DtArea *window;
DtProjectionType ptype;
DtPoint3 prp;
DtReal viewplane;
DtReal hither;
DtReal yon;

FORTRAN:
INTEGER*4 DOPRJ(WINDOW, PTYPE, PRP, VWPLAN,
	HITHER, YON)
REAL*8 WINDOW(4)
INTEGER*4 PTYPE
REAL*8 PRP(3)
REAL*8 VWPLAN
REAL*8 HITHER
REAL*8 YON

DESCRIPTION
DoProjection creates a projection studio attribute object for cameras. The parameters hither and yon specify the location of the near and far clipping planes relative to the camera. The hither plane, yon plane, and viewing plane are defined perpendicular to the direction of view and should be specified in camera coordinates. Because the camera's location (in its own relative coordinate system) is always (0.0, 0.0, 0.0) looking down the negative Z-axis, both the hither plane and the yon plane must be ahead of the camera, that is, the parameters hither and yon must be negative.

The parameter viewplane should also be negative. Its absolute value indicates the distance from the camera to the viewing plane. The parameter window specifies an arbitrary rectangular region on the viewing plane, also in camera coordinates.

The parameter prp (projection reference point) specifies a point relative to the camera. If the parameter ptype is DcPerspective <DCPRSP>, prp and the window corners specify a pyramid. The region of the pyramid between the near and far clipping planes defines the view volume. If ptype is DcParallel <DCPRLL>, the view volume is the parallelepiped produced by the parallel projection of the window corners between the near and far clipping planes along the line from the prp through the center of the window. For perspective transformations, the Z component of the prp must be greater than viewplane (or smaller, if absolute values are considered).

ERRORS
DoProjection will fail if hither is less than or equal to yon.

[WARNING - value out of range]

DoProjection will fail if hither is greater than or equal to 0.0.

[WARNING - value out of range]

SEE ALSO
DoCamera(3D), DoCameraMatrix(3D), DoParallel(3D), DoPerspective(3D)