Tdpack(3NCARG) | NCAR GRAPHICS | Tdpack(3NCARG) |

# NAME¶

Tdpack - A set of routines allowing one to draw representations of three-dimensional objects.

# SYNOPSIS¶

TDPACK (which stands for "Three Dimensional PACKage") is a collection of routines for projecting objects from a 3-dimensional coordinate system having U, V, and W axes to a 2-dimensional projection plane having X and Y axes and/or for drawing the projections of those objects. This can be referred to somewhat loosely as "drawing objects in three dimensions".

Tdpack consists of the following routines:

- Initialization Routines:
- TDINIT -
- Define eye position, line of sight, up direction, and stereo flag.
- TDPARA -
- Define the reference parallelogram.
- TDCLRS -
- Define colors for TDPACK.
- Parameter-Access Routines:
- TDGETI -
- Get the integer value of an internal parameter.
- TDGETR -
- Get the real value of an internal parameter.
- TDGTRS -
- Get the definition of a specified rendering style.
- TDSETI -
- Set the integer value of an internal parameter.
- TDSETR -
- Set the real value of an internal parameter.
- TDSTRS -
- Define a specified rendering style.
- Point-Transforming Routines:
- TDPRPT -
- Project from 3-space to the projection plane.
- TDPRPA -
- Project from 3-space to the plane of the reference parallelogram.
- TDPRPI -
- Project from the plane of the reference parallelogram to 3-space.
- Line-Drawing Routines:
- TDLINE -
- Draw the projection of a line in 3-space.
- TDLNPA -
- Draw the projection of a line in the plane of the reference parallelogram.
- Grid-Drawing Routines:
- TDGRDS -
- Draw the grids on all the faces of a box in 3-space.
- TDGRID -
- Draw the grid on a particular face of a box in 3-space.
- Label-Drawing Routines:
- TDLBLS -
- Draw labels for all faces of a box in 3-space.
- TDLBLA -
- Draw labels for a particular face of a box in 3-space.
- TDPLCH -
- Draw characters in the plane of the reference parallelogram.
- Surface-Drawing Routines:
- TDDTRI -
- Draw triangles defined by a triangle list.
- TDSTRI -
- Add triangles defining a simple surface to a triangle list.
- TDITRI -
- Add triangles defining an isosurface to a triangle list.
- TDMTRI -
- Add triangles defining a 3D marker to a triangle list.
- TDCTRI -
- Order the triangles in a triangle list for proper rendering.
- TDSORT -
- Cut triangles with a plane perpendicular to one of the axes.
- TDOTRI -
- Generic sorting routine

# C-BINDING SYNOPSIS¶

#include <ncarg/ncargC.h>

c_tdinit

c_tdpara

c_tdclrs

c_tdgeti

c_tdgetr

c_tdgtrs

c_tdseti

c_tdsetr

c_tdstrs

c_tdprpt

c_tdprpa

c_tdprpi

c_tdline

c_tdlnpa

c_tdgrds

c_tdgrid

c_tdlbls

c_tdlbla

c_tdplch

c_tddtri

c_tdstri

c_tditri

c_tdmtri

c_tdotri

c_tdctri

c_tdsort

# ACCESS¶

To use Tdpack, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.

# MESSAGES¶

When error conditions are detected, the support routine SETER is called. By default, SETER writes a message to the standard error file (as defined by I1MACH(4)) and then terminates execution. It is possible to put SETER into recovery mode and regain control after a recoverable error (which includes all of the possible errors).

The possible error messages are listed below. All errors are recoverable in the sense that a user program which has called ENTSR to set recovery mode will get control back after one of these errors occurs.

TDGETI - UNCLEARED PRIOR ERROR

TDGETR - UNCLEARED PRIOR ERROR

TDGETR - UNRECOGNIZED PARAMETER NAME

TDINIT - UNCLEARED PRIOR ERROR

TDPARA - UNCLEARED PRIOR ERROR

TDPRPA - UNCLEARED PRIOR ERROR

TDPRPI - UNCLEARED PRIOR ERROR

TDPRPT - UNCLEARED PRIOR ERROR

TDSETI - UNCLEARED PRIOR ERROR

TDSETR - UNCLEARED PRIOR ERROR

TDSETR - UNRECOGNIZED PARAMETER NAME

# SEE ALSO¶

Online: tdclrs, tddtri, tdgeti, tdgetr, tdgrds, tdgrid, tdgtrs, tdinit, tditri, tdlbla, tdlbls, tdline, tdlnpa, tdmtri, tdotri, tdpack_params, tdpara, tdplch, tdprpa, tdprpi, tdprpt, tdseti, tdsetr, tdsort, tdstri, tdstrs

# COPYRIGHT¶

Copyright (C) 1987-2009

University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement.

July 1997 | UNIX |