DATASERV (kgeom) functions


LIBRARY ROUTINE

kgeom_new_layout - cast a geometry object to one with a new layout

LIBRARY CALL

kgeom_object *
kgeom_new_layout(
   kgeom_object *object, 
   int           new_layout)

INPUT

OUTPUT

none

RETURN VALUE

a pointer to the cast object on success, NULL on failure

DESCRIPTION

This function will "cast" an existing geometry object to have a new layout. If the requested layout is different than the layout of the provided object, then a new object is returned which matches the original object, but has the requested layout.

Specifically, this routine will adjust the number of normal and color vectors contained in each primitive of the given object to match the requested layout.

This function is intended to simplify processing. For example, a routine which only wants KPER_VERTEX data can use this function to guarantee that the geometry it will process has only KPER_VERTEX data.

The cast geometry object is a distinct from the original geometry object; it is constructed by first making a copy of the original geometry object and then adjusting the number of color and normal vectors. The original object will be destroyed after the copy. If there are no changes necessary, then the original object will be returned.

ADDITIONAL INFORMATION

none

EXAMPLES

none

SIDE EFFECTS

none

RESTRICTIONS

none

MODIFICATION

none

FILES

$DATASERV/objects/library/kgeom/src/cast.c

SEE ALSO

kgeom(3)

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.