DoBoundingVol(3D) — Stardent Computer Inc. (\*(Dd)
NAME
DoBoundingVol − Create a bounding volume object
SYNOPSIS
C:
DtObject DoBoundingVol(volume, alternate_object)
DtVolume ∗volume;
DtObject alternate_object;
Fortran:
INTEGER∗4 DOBV(VOLUME, ALTOBJ)
REAL∗8 VOLUME(6)
INTEGER∗4 ALTOBJ
DESCRIPTION
DoBoundingVol returns a bounding volume object. A bounding volume defines a box in modeling coordinates that is assumed to completely enclose all objects below it in the scene data base, i.e., all child branches rooted below that point in the display tree. When a bounding volume object is executed, the given volume is projected onto the device. If there is no intersection with the device or if the diagonal of the smallest right rectangle that can enclose this projection in X and Y is smaller than the DoMinBoundingVolExt <DOMBVE>, then the rest of the current group is not executed. However, if the bounding volume is visible but under the minimum size, then the optional alternate_object is executed.
If there is no alternate object, use a null object pointer, DcNullObject <DCNULL>. Then nothing will be drawn if the bounded objects cannot cover the minimum area on the device.
Alternate objects are simpler versions of the objects being skipped to avoid a lot of complex rendering that would contribute little to the final image. One may want to have more than one alternate object; i.e., execute object2 if object1 is too small or execute object3 if object2 is too small, and so on. In this case, the alternate object will be a group object that contains a new shorter minimum bounding extention and a bounding volume containing the even simpler alternate object.
The volume parameter is a user-supplied three-dimensional space specifying the bounding volume. DsCompBoundingVol <DSCBV> can be used to compute a volume that contains a user-supplied object.
If the current bounding volume switch DoBoundingVolSwitch <DOBVS> is DcOff <DCOFF>, then bounding volume calculations will be skipped.
SEE ALSO
DoBoundingVolSwitch(3D), DoMinBoundingVolExt(3D), DsCompBoundingVol(3D)
September 29, 2021