
tditri
Adds triangles defining an isosurface to a triangle list (for use with selected TDPACK routines).
Available in version 4.3.1 and later.
Prototype
procedure tditri ( u [*] : float, v [*] : float, w [*] : float, f [*][*][*] : float, fiso [1] : float, rtri [*][10] : float, ntri [1] : integer, render_index [1] : integer )
Arguments
uA real array dimensioned nu which must be monotonically increasing.
vA real array dimensioned nv which must be monotonically increasing.
wA real array dimensioned nw which must be monotonically increasing.
fA real array dimensioned nw x nv x nu, which, along with u, v, and w, defines the isosurface to be drawn.
fisoA scalar float cutoff value defining the isosurface. The purpose of a call to tditri is to generate a set of triangles separating the 3-space box within which the function f is defined into two volumes: one where the value of f is less than or equal to fiso and another where the value of f is greater than fiso.
rtriA float input/output array, dimensioned mtri x 10, in which a list of triangles has been stored.
ntriAn input/output integer specifying the number of triangles currently in the triangle list.. It is the user's responsibility to zero this initially and its value is increased by each call to a triangle-generating routine like tditri. If ntri becomes equal to mtri, tditri does not take an error exit; instead, it just stops generating triangles. Therefore, it's a good idea, after calling tditri, to check the value of ntri against the dimension mtri; if they're equal, it probably means that the triangle list filled up and that the rendered surface will be incomplete.
Description
This routine is part of the low-level TDPACK package, which is a group of Fortran and C callable 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".
Please see the documentation on TDITRI for a full description of this procedure.
See Also
Initialization routines: tdinit, tdpara, tdclrs
Parameter access routines: tdgetp, tdgtrs, tdsetp, tdstrs
Point transforming routines: tdprpt, tdprpa, tdprpi
Line drawing routines: tdline, tdlndp, tdlnpa, tdlpdp, tdcurv, tdcudp
Grid drawing routines: tdgrds, tdgrid
Label drawing routines: tdlbls, tdlbla, tdlblp, tdplch
Surface drawing routines: tddtri, tdstri, tditri, tdmtri, tdttri, tdctri, tdotri, tdsort
Simplified interface routines: tdez2d, tdez3d
Examples
See example 4 on the three-dimensional graphics applications page.