GINO Graphics Suite - GINO v9.0  

gDrawVolume

Syntax

[C/C++:]
void gDrawVolume(float xp, float yp, float zp, int npts, GPOINT *points, ...);
[F90:]
subroutine gDrawVolume(xp, yp, zp, npts, points, gVVec, gAbs, gURot, gVRot, gWRot, gUComp)

real, intent(in) :: xp,yp,zp
integer, intent(in) :: npts
type (GPOINT), intent(in) :: points(*)

type (GPOINT3), optional, intent(in) :: gVVec
integer, optional, intent(in) :: gAbs
real, optional, intent(in) :: gURot, gVRot, gWRot
integer, optional, intent(in) :: gUComp

Arguments

xp, yp, zp
Origin (bottom, centre) of volume

npts
Number of points in outline

points
Array containing outline vertices

Optional Args

gVVec
Optional orientation vector

gAbs
Optional orientation vector direction flag

= GABSOLUTE, Absolute vector
= GRELATIVE, Relative vector

gURot ,gVRot, gWRot
Optional rotations about local axes (default 0.0,0.0,0.0)

gUComp
Optional object complexity (default 10)

Description

The routine gDrawVolume() draws a 'solid' volume of rotation constructed of outward facing facets according to the specified complexity. The volume is generated by rotating the set of outline vertices contained in the  points array, about a vertical axis which passes through the origin (xp, yp, zp).

An alternative orientation can be specified using either up to three local axes rotations (gURot, gVRot, gWRot) or by using an absolute/relative vector, gVVec from the object's origin. In the latter case a local rotation about the object's vertical axis can also be added in gVRot.

The argument gUComp defines the object's complexity about its U axis (circumference). This value determines the number of divisions (facets) in this direction and therefore, the objects smoothness. The number of facets in the vertical  (V axis) direction is determined by npts.

The facets are drawn in the current facet colour/material according to the current lighting/shading environment and subject to the current modelling/viewing transformations.

See Also

gDrawVolume Usage
gDrawFacet