/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   Copyright 1989-2018 by AutoDesSys, Inc.                                                 *
 *                                                                                           *
 *   This software and its associated documentation contains proprietary,                    *
 *   confidential, and trade secret information of AutoDesSys Inc. and may not be            *
 *   disclosed, copied in any form, or used for any purpose except as specifically           *
 *   permitted in writing by AutoDesSys, Inc.                                                *
 *                                                                                           *
 *   AutoDesSys, Inc. grants permission to use the software to those who purchase            *
 *   a license.  Such a usage will be made according to the terms and conditions             *
 *   specified in the license agreement to which a licensee agrees before installing         *
 *   and commencing usage of the software.  The license agreement can be found               *
 *   on the envelop that contains the software CD.                                           *
 *                                                                                           *
 *   AutoDesSys, Inc. also grants permission to licensees to develop extensions to           *
 *   the software, which can be in the form of scripts or plugins.  The permission           *
 *   includes calling the API and call back functions provided by AutoDesSys, Inc.           *
 *   and accessing information relevant to these functions and the general workings          *
 *   of form.Z, but only up to the point to which AutoDesSys, Inc. has chosen to             *
 *   expose, through its form.Z SDK Manual.  All extensions developed by third               *
 *   parties will include a copy of this copyright note in an easily accessible place or     *
 *   a clear instruction to read this original note by AutoDesSys, Inc.                      *
 *                                                                                           *
 *   All the software distributed under a license, either for the purpose of using it or     *
 *   for the purpose of developing extensions, is distributed AS IS, WITHOUT                 *
 *   WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND                                    *
 *   AutoDesSys, Inc. HEREBY DISCLAIMS ALL SUCH WARRANTIES,                                  *
 *   INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF                                         *
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.                                    *
 *                                                                                           *
 *   formZ, RenderZone, and RadioZity are registered trademarks of AutoDesSys, Inc.          *
 *                                                                                           *
 *   form.Z SDK, Version 8.6.3, Dec 03, 2018                                                 *
 *                                                                                           *
 *                                                                                           *
 *********************************************************************************************/


#ifndef	__FZ_ANIM_API_H__
#define	__FZ_ANIM_API_H__	1

#ifdef  __cplusplus
extern "C" {
#endif


#include "fzrt_platform.h"
#include "fzrt_extern.h"

#include "fz_view_api.h"
#include "fz_rmtl_api.h"


/****************************************************************

	FZ_ANIM_DATA_UUID

	Description
		Unique identifier for the formz Animation Data

	Availability	7.0.0.0

 ****************************************************************/
#define FZ_ANIM_DATA_UUID "\x77\x69\xf9\x06\xb9\x3f\x48\xad\x89\x32\x86\xab\x6f\x0b\x7e\x9b"



/****************************************************************

	fz_anim_node_ptr


	Description
		Animation Node. This represents a node in the animation 
		hierarchy tree.  Nodes are divided into three classes and define 
		what is animated in the scene.

		Animation nodes can be grouped into a tree structure with 
		parents and children.  Generally, entity nodes have tracks as 
		children which represent the animatable data of the entities. 
		Also, tracks have controllers as children which represent 
		how the tracks change over time.  Tracks technically can 
		be children of entities, other tracks, or even controllers, 
		as fzrt_int as the parent node has an animatable parameter. 
		Entity nodes can be children to other entities, which 
		are influenced by the parent in some way.  The most common of this 
		being object entities as children of an animation group that 
		defines the coordinate system the object entities inhabit.

	Availability	6.1.0.0

 ****************************************************************/
typedef struct anim_node_td		*fz_anim_node_ptr;

/****************************************************************

	FZ_ANIM_OBJT

	Description
		Animated Object.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_OBJT		"\x7b\xef\x79\xe7\xf1\xf3\x4f\x47\xa7\x5e\xfd\x59\x7e\x7e\xdf\x49"
/****************************************************************

	FZ_ANIM_OBJT_PART

	Description
		Animated Object Part.  Points, Segments, Curves, and Faces can be animated parts.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_OBJT_PART	"\x6d\x1d\x3d\x2b\xa8\x34\x48\xf8\xbb\x41\xbe\xb0\x19\xf0\xf9\x67"
/****************************************************************

	FZ_ANIM_GRUP

	Description
		Animated Group.  This animated entity defines a coordinate system that other entities 
		can be children of.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_GRUP		"\x89\xd0\xa8\xbf\xcb\x18\x4c\x59\x8c\x26\xa6\xc3\xf4\x2a\x12\xf7"
/****************************************************************

	FZ_ANIM_LITE

	Description
		Animated Light.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_LITE		"\xc7\x3d\xbd\x33\xd3\x44\x44\x70\x9c\x78\x23\x93\x1e\x7d\x09\x0c"
/****************************************************************

	FZ_ANIM_VIEW

	Description
		Animated View.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_VIEW		"\xc1\xc0\x7f\x3f\xf6\xd8\x43\xaa\x9a\x73\x28\xf8\x2d\xbe\xf7\xf4"
/****************************************************************

	FZ_ANIM_SURF

	Description
		Animated Surface Style.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_SURF		"\x0c\x29\x1e\x16\x9d\xad\x46\xd4\xaf\xce\xf2\x85\x87\xd8\xec\x77"
/****************************************************************

	FZ_ANIM_DFRM

	Description
		Animated Deformation Style.

	Availability	6.1.0.0

 ****************************************************************/
							
#define FZ_ANIM_DFRM		"\xca\xf5\xdf\x8f\x36\x87\x41\xd8\x82\xd2\x3a\xa7\xda\x80\xec\x2d"




/****************************************************************

	FZ_TRAC_TYPE_POS_X

	Description
		Position X.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_X				"\xea\xea\xc5\xa7\x9b\xa8\x41\xce\xa9\xc0\x97\x23\x9a\xed\x86\x65"
/****************************************************************

	FZ_TRAC_TYPE_POS_Y

	Description
		Position Y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_Y				"\xae\x77\x98\x31\x66\x56\x46\x82\x87\x18\x44\xe3\xb4\xae\x9b\xde"
/****************************************************************

	FZ_TRAC_TYPE_POS_Z

	Description
		Position Z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_Z				"\x22\xf7\xe0\x3b\xcb\xf9\x4f\x2a\x89\x3f\x46\xab\x31\xb5\x8d\x49"
/****************************************************************

	FZ_TRAC_TYPE_ROT_X

	Description
		Rotation around x axis.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ROT_X				"\x13\xc2\x79\xf5\xb7\x89\x4d\xa0\x94\xa8\xd6\x6d\xcb\xe8\xd0\x0b"
/****************************************************************

	FZ_TRAC_TYPE_ROT_Y

	Description
		Rotation around y axis.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ROT_Y				"\x99\x30\xb0\x95\xf6\xb1\x41\xb9\x8d\x70\xf0\x09\x92\x63\xd7\x6d"
/****************************************************************

	FZ_TRAC_TYPE_ROT_Z

	Description
		Rotation around z axis.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ROT_Z				"\xbd\xd9\x2b\xd6\x28\x2b\x4c\xda\xb6\x51\xd3\x7f\x94\xa3\x2f\x75"
/****************************************************************

	FZ_TRAC_TYPE_SCALE_X

	Description
		Scale in x.  For animated object entities

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_SCALE_X			"\xdd\x26\x4d\x92\xac\x03\x48\x7b\x85\x6f\x76\x68\xca\xf9\x48\x4c"
/****************************************************************

	FZ_TRAC_TYPE_SCALE_Y

	Description
		Scale in y.  For animated object entities

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_SCALE_Y			"\xdf\x01\xf5\x4e\xc9\x15\x46\x49\xb5\xbf\x73\x23\x53\x6f\x43\xf0"
/****************************************************************

	FZ_TRAC_TYPE_SCALE_Z

	Description
		Scale in z.  For animated object entities

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_SCALE_Z			"\x1e\x27\x76\xe3\x5b\xb8\x45\x85\x85\x27\xcf\x8e\x53\x62\x3d\x03"
/****************************************************************

	FZ_TRAC_TYPE_POS_PATH

	Description
		Distance along a path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_PATH			"\xc6\x56\xfb\xd0\x14\x25\x47\xf1\x8a\x09\xdf\x56\x29\x52\x66\xd9"
/****************************************************************

	FZ_TRAC_TYPE_POS_PATH_X

	Description
		Distance in x along a path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_PATH_X			"\xc2\x9c\x48\x96\x83\xef\x46\xc6\x91\xbf\xb7\xb9\xf9\xd3\xa2\xcf"
/****************************************************************

	FZ_TRAC_TYPE_POS_PATH_Y

	Description
		Distance in y along a path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_PATH_Y			"\x46\x40\x76\x88\xab\xf9\x48\x22\xa2\x58\x41\x43\xdb\x97\x05\x0e"
/****************************************************************

	FZ_TRAC_TYPE_POS_PATH_Z

	Description
		Distance in z along a path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_POS_PATH_Z			"\x56\x28\x7a\xd7\xf2\x23\x4f\xf2\x8b\xfc\x47\x2b\xab\xdd\x42\xee"
/****************************************************************

	FZ_TRAC_TYPE_PATH_BANK

	Description
		Bank amount along a path for tangently aligned paths.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_PATH_BANK			"\x4e\x1f\xd3\x3c\x69\x56\x83\x43\x86\xb8\x37\x39\x80\x43\x5d\xea"


/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MAX_X

	Description
		Deformation Cage max x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MAX_X		"\x63\x51\xfb\xf5\xc9\x01\x4f\xa9\x80\x13\xff\xf4\x49\x35\x37\x17"
/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MAX_Y

	Description
		Deformation Cage max y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MAX_Y		"\xdf\x68\x2f\x6b\xf5\xc3\x43\x52\xb1\xf8\xb4\x43\x6d\xfe\xa2\xf1"
/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MAX_Z

	Description
		Deformation Cage max z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MAX_Z		"\xb0\x00\x3c\xa0\xb9\xbe\x4b\xab\x8c\x58\xd1\x90\x92\x9e\x03\x01"
/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MIN_X

	Description
		Deformation Cage min x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MIN_X		"\xec\x5c\x29\xb7\x1e\x33\x43\x8d\xbc\x40\x64\xad\xaa\x1a\xdc\xf7"
/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MIN_Y

	Description
		Deformation Cage min y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MIN_Y		"\xce\x3c\x74\xf7\x4e\xb5\x43\x17\xaf\x9c\xa3\xa1\x75\x1e\xfe\x7e"
/****************************************************************

	FZ_TRAC_TYPE_DFRM_CAGE_MIN_Z

	Description
		Deformation Cage min z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_DFRM_CAGE_MIN_Z		"\x80\x84\x0a\xc6\x01\xcc\x46\x36\x89\x53\xa0\xe3\x97\x14\x5f\x29"


/****************************************************************

	FZ_TRAC_TYPE_EYE_X

	Description
		Eye point x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_X				"\xe4\xb8\x19\x73\xfe\x03\x45\x8f\xad\xb7\x79\x4f\x45\x28\x97\xb9"
/****************************************************************

	FZ_TRAC_TYPE_EYE_Y

	Description
		Eye point y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_Y				"\xf9\x65\x57\xcd\x46\xde\x4f\xe7\x80\x98\xa4\x25\x7a\x18\xe4\x17"
/****************************************************************

	FZ_TRAC_TYPE_EYE_Z

	Description
		Eye point z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_Z				"\xb4\x90\x1f\xe7\x95\xb1\x48\xd1\x8d\x3a\xef\x4e\xd8\x06\x5b\x31"
/****************************************************************

	FZ_TRAC_TYPE_EYE_PATH

	Description
		Eye point path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_PATH			"\x5d\xa3\x10\xee\x16\x9c\x4e\x7b\x8a\x3c\xae\x2d\x42\x17\x3e\x14"
/****************************************************************

	FZ_TRAC_TYPE_EYE_PATH_X

	Description
		Eye point path for x only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_PATH_X			"\xf1\x38\x3f\x0b\x06\x42\x4e\x9c\x9c\x49\xe8\xb9\x3e\xe2\xd4\xd9"
/****************************************************************

	FZ_TRAC_TYPE_EYE_PATH_Y

	Description
		Eye point path for y only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_PATH_Y			"\x9c\x3b\xb9\x41\x5a\xb3\x4e\xa2\x9f\x79\xbc\x96\x7d\xa4\x66\xbe"
/****************************************************************

	FZ_TRAC_TYPE_EYE_PATH_Z

	Description
		Eye point path for z only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_EYE_PATH_Z			"\xa1\xb2\xae\xd8\x6f\x32\x40\xdb\x9d\x45\x5d\x47\xc7\x41\xee\x11"
/****************************************************************

	FZ_TRAC_TYPE_COI_X

	Description
		Center of Interest point x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_X				"\x55\xcf\x78\x39\xeb\x8c\x43\xa9\x97\x12\x8f\x88\x85\x93\x53\x72"
/****************************************************************

	FZ_TRAC_TYPE_COI_Y

	Description
		Center of Interest point y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_Y				"\xa3\x6e\x09\xd9\x79\x05\x45\xc1\xa8\xa7\x0a\xc4\x6b\x75\xef\x0b"
/****************************************************************

	FZ_TRAC_TYPE_COI_Z

	Description
		Center of Interest point z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_Z				"\x57\xc5\x74\x48\x75\xc9\x47\x33\x98\x17\xf2\x2f\xd8\x1c\x85\x56"
/****************************************************************

	FZ_TRAC_TYPE_COI_PATH

	Description
		Center of Interest path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_PATH			"\x05\x3e\xc4\xae\xc1\xeb\x4d\xd3\x8d\x21\x69\x4f\x4f\xdc\xe3\x64"
/****************************************************************

	FZ_TRAC_TYPE_COI_PATH_X

	Description
		Center of Interest path for x only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_PATH_X			"\x80\xd7\xb7\x1e\x07\xc5\x42\xf7\x89\x6c\x4f\x35\x56\xf7\x6d\xd8"
/****************************************************************

	FZ_TRAC_TYPE_COI_PATH_Y

	Description
		Center of Interest path for y only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_PATH_Y			"\x68\x84\xdb\x4f\x1b\xe0\x4b\x9b\xb7\xbb\x30\x44\xed\x0f\x43\x50"
/****************************************************************

	FZ_TRAC_TYPE_COI_PATH_Z

	Description
		Center of Interest path for z only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COI_PATH_Z			"\x4a\xf7\x37\x3a\x99\x06\x48\x06\x8b\x34\x6c\x76\x35\x1b\x20\x76"
/****************************************************************

	FZ_TRAC_TYPE_CLIP

	Description
		Clip.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_CLIP				"\xf7\x4c\x45\xeb\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_HITHER

	Description
		Hither

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_HITHER				"\x62\xa2\xbe\xa8\xd1\x20\x4e\xf0\xb2\x3d\x8d\x07\x71\xe2\x78\xf1"
/****************************************************************

	FZ_TRAC_TYPE_YON

	Description
		Yon

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_YON				"\xf3\x12\x24\x63\xff\x99\x45\x47\x90\x35\x7a\x94\x88\xad\x89\x32"
/****************************************************************

	FZ_TRAC_TYPE_SPIN

	Description
		Spin angle

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_SPIN				"\x2b\x56\x34\x93\x7f\xd4\x45\x00\xbc\x5c\x7d\x3e\x5f\xd9\x0c\xe9"
/****************************************************************

	FZ_TRAC_TYPE_OBLIQUE_SCALE

	Description
		Oblique scale

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_OBLIQUE_SCALE		"\xbe\xdd\x23\xc6\xfb\xc4\xd6\x4e\x8e\xe3\x5f\x60\x6b\xac\xa8\x3a"
/****************************************************************

	FZ_TRAC_TYPE_ISOMETRIC_SCALE_X

	Description
		Isometric Scale x

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ISOMETRIC_SCALE_X	"\x3d\x46\x3e\x88\x51\x44\x38\x49\x8e\x76\xd4\x29\x58\xb9\x79\x43"
/****************************************************************

	FZ_TRAC_TYPE_ISOMETRIC_SCALE_Y

	Description
		Isometric Scale y

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ISOMETRIC_SCALE_Y	"\x8a\xc5\xdc\x53\xda\x58\xd2\x4f\x9c\xbb\x31\xe0\x33\x7a\x4c\x43"
/****************************************************************

	FZ_TRAC_TYPE_ISOMETRIC_SCALE_Z

	Description
		Isometric Scale z

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ISOMETRIC_SCALE_Z	"\xa6\x15\xa6\x44\x35\x24\xcd\x4a\xa7\x66\x9f\x4d\xee\xdf\xbb\x19"
/****************************************************************

	FZ_TRAC_TYPE_PERSPECTIVE_ANGLE

	Description
		Perspective angle.  (Mutually exclusive with FZ_TRAC_TYPE_PERSPECTIVE_FLEN).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_PERSPECTIVE_ANGLE	"\x52\xdf\xd9\x50\x92\x44\x48\x00\x8f\x6d\x6b\xa6\xa1\x75\x1c\xdc"
/****************************************************************

	FZ_TRAC_TYPE_PERSPECTIVE_FLEN

	Description
		Perspective focal length.  (Mutually exclusive with FZ_TRAC_TYPE_PERSPECTIVE_ANGLE).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_PERSPECTIVE_FLEN	"\xf7\x4c\x3d\x0f\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_PANORAMIC_ANGLE

	Description
		Panoramic angle

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_PANORAMIC_ANGLE	"\x37\x96\x79\x06\xa1\xf2\x11\x4c\x92\x4c\xdf\x69\x2a\x95\xda\x2b"
/****************************************************************

	FZ_TRAC_TYPE_OBLIQUE_ANGLE

	Description
		Oblique angle.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_OBLIQUE_ANGLE		"\x96\x54\xf1\x1b\x14\xae\x84\x4f\x89\x5b\x46\x9f\x87\x63\xce\x18"
/****************************************************************

	FZ_TRAC_TYPE_ISOMETRIC_ANGLE_X

	Description
		Isometric angle x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ISOMETRIC_ANGLE_X	"\x2f\xd1\x39\xe5\x70\x61\x51\x45\x9d\x53\x78\x0a\xe9\xf4\xad\xb8"
/****************************************************************

	FZ_TRAC_TYPE_ISOMETRIC_ANGLE_Y

	Description
		Isometric angle y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ISOMETRIC_ANGLE_Y	"\x5f\xb4\x12\xc8\x94\x10\x12\x4b\x9c\x51\x96\xaa\x10\xc1\x56\xf1"
/****************************************************************

	FZ_TRAC_TYPE_VIEW_VISIB

	Description
		Visibility.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_VIEW_VISIB			"\xf7\x4c\x23\xa8\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"

#define FZ_TRAC_TYPE_ZOOM				"\x7a\x03\x27\x7d\x72\xf5\x4f\xe1\x98\x59\x4a\x5e\x38\x03\x84\x25"

/****************************************************************

	FZ_TRAC_TYPE_LITE_X

	Description
		Light origin x.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_X				"\x63\x9f\x4d\x99\x62\xa9\x4b\x4e\xae\x06\xe3\xa1\x51\x8d\x7b\x57"
/****************************************************************

	FZ_TRAC_TYPE_LITE_Y

	Description
		Light origin y.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_Y				"\xbb\xfe\xa6\xee\x38\xb1\x4b\x50\xa2\x87\x15\x08\x0e\x73\x0f\xfe"
/****************************************************************

	FZ_TRAC_TYPE_LITE_Z

	Description
		Light origin z.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_Z				"\x79\xb5\xe5\x35\xa2\x42\x48\x6a\x9a\x83\x1c\x6d\x3b\x57\xe1\x33"
/****************************************************************

	FZ_TRAC_TYPE_LITE_PATH

	Description
		Light origin path.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_PATH			"\x96\x63\x27\x86\x01\x2e\x41\x20\xac\xe7\xca\xb1\x87\x1e\x13\x71"
/****************************************************************

	FZ_TRAC_TYPE_LITE_PATH_X

	Description
		Light origin path for x only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_PATH_X		"\xfc\xad\x24\x77\x13\x9d\x42\x84\xb4\xf4\xaf\x65\x85\x5a\xe5\x8a"
/****************************************************************

	FZ_TRAC_TYPE_LITE_PATH_Y

	Description
		Light origin path for y only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_PATH_Y		"\x99\x95\x95\xde\xae\xdf\x4e\xd7\x86\xf0\x44\x98\xf2\x43\xd9\x80"
/****************************************************************

	FZ_TRAC_TYPE_LITE_PATH_Z

	Description
		Light origin path for z only.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_PATH_Z		"\xf8\x5c\xed\x65\xa4\x72\x48\xd2\x92\xe4\x7c\xa0\xed\x21\xa3\xec"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_X

	Description
		Light center of interest x.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_X			"\x32\x5a\x99\xcd\x74\x8f\x4d\x35\xbb\x52\x75\x1b\xab\xfc\x1d\xf0"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_Y

	Description
		Light center of interest y.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_Y			"\x62\x45\x25\x17\x2a\x20\x44\x37\xb9\x7c\x65\xb3\x1b\x9e\xad\xf4"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_Z

	Description
		Light center of interest z.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_Z			"\xc4\x99\x05\x88\x6b\x6f\x49\x85\x8a\xcc\xa4\x95\x4d\x9f\xec\xca"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_PATH

	Description
		Light center of interest path.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_PATH		"\x8b\xe7\x8e\xa8\x4b\xf8\x41\x35\x94\x42\xd0\x77\x18\x45\xfe\xa7"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_PATH_X

	Description
		Light center of interest path in x only.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_PATH_X	"\x4b\x24\xdc\x2f\xfd\x32\x4e\xe6\xa0\x65\x40\xdc\xfa\x5c\x20\x35"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_PATH_Y

	Description
		Light center of interest path in y only.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_PATH_Y	"\x73\x17\xe4\x03\xa8\x5d\x4b\xb5\xa2\x05\x94\xfe\xd8\x8f\x86\x3e"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COI_PATH_Z

	Description
		Light center of interest path in z only.  (For applicable light types).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COI_PATH_Z	"\xf3\xcb\xba\xa7\xdb\xd8\x43\xd4\xae\xa2\x6b\x07\x76\x5b\x18\x91"
/****************************************************************

	FZ_TRAC_TYPE_LITE_RADIUS

	Description
		Light radius.  (For point lights).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_RADIUS		"\xcd\x9d\xf3\xd4\x52\x2a\x4d\xda\x81\x73\xf0\xa2\x3f\x14\xa7\xd8"
/****************************************************************

	FZ_TRAC_TYPE_LITE_INTENSITY

	Description
		Light intensity.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_INTENSITY		"\x57\x66\xab\xf5\x7f\x10\x40\xe3\xb4\xd3\xfc\x72\x87\xe6\x85\x8f"
/****************************************************************

	FZ_TRAC_TYPE_LITE_COLOR

	Description
		Light color.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_COLOR			"\x6f\xcd\x52\xe8\x8e\x5a\x43\x58\x94\x13\x53\x46\x8a\xad\xc0\xce"
/****************************************************************

	FZ_TRAC_TYPE_LITE_INNER_ANGLE

	Description
		Light inner angle.  (For cone lights).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_INNER_ANGLE	"\x04\x64\x72\xee\x2a\xcd\x40\xaa\xae\xcd\x7f\x18\x30\x50\xa0\x87"
/****************************************************************

	FZ_TRAC_TYPE_LITE_OUTER_ANGLE

	Description
		Light outer angle.  (For cone lights).

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_OUTER_ANGLE	"\xc3\x74\x5b\x02\x06\xca\x49\x88\x9b\x09\x57\x22\xc6\x75\x07\xa0"
/****************************************************************

	FZ_TRAC_TYPE_LITE_VISIB

	Description
		Light visibility.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_VISIB				"\xf7\x4c\x04\x7e\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_SHINING

	Description
		Light shining.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_SHINING			"\xf7\x4c\x05\x73\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_SHADOWS

	Description
		Light casts shadows.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_SHADOWS			"\xf7\x4c\x08\x7c\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_SUN_TIME

	Description
		Sun light's time of day.

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_SUN_TIME			"\xa0\x74\xe1\x54\xc7\x45\x53\x4e\xbf\xf9\x91\xd2\xa0\x89\xc9\x79"
/****************************************************************

	FZ_TRAC_TYPE_LITE_SUN_DAY

	Description
		Sun light's day of year.

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_SUN_DAY			"\xf2\x1a\x74\x39\xbd\x54\x04\x46\xbd\x2a\x9b\x1c\xb8\x68\x13\x8a"
/****************************************************************

	FZ_TRAC_TYPE_LITE_OBJ_VISIB

	Description
		Light's object is visible in rendering.

	Availability	7.0.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_OBJ_VISIB			"\x18\x1c\x3a\x55\x52\x29\xac\x47\x92\xe8\xfb\xc9\xeb\xb8\x91\xde"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ENV_SPIN

	Description
		Environment Light's spin angle.

	Availability	7.0.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ENV_SPIN			"\x09\x59\x3c\x54\x14\xa9\xc4\x47\x9f\x7a\xd7\xd5\x4b\xa8\xd4\x58"


/****************************************************************

	FZ_TRAC_TYPE_LITE_LENSFLARE

	Description
		Light lens flare RenderZone track.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_LENSFLARE		"\xf7\x4c\x06\x9e\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_GLOW

	Description
		Light glow RenderZone track.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_GLOW				"\xf7\x4c\x07\x8b\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_SHADOW_TYPE

	Description
		Light shadow type RenderZone track.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_SHADOW_TYPE		"\xf7\x4c\x09\x70\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_TRNS_SHADOW

	Description
		Light casts transparent shadows.

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_TRNS_SHADOW		"\xf7\x4c\x0a\xa0\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ACCU_POWER

	Description
		Light Accurate Intensity for Power (Radiometric)

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ACCU_POWER		"\xf0\x19\xf8\x68\xf9\xf5\x2e\x4f\xa0\x2b\x16\x92\x5f\xa7\x9e\x9a"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ACCU_BRIGHT

	Description
		Light Accurate Intensity for Brightness (Photometric)

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ACCU_BRIGHT		"\x3d\x82\xd3\xb5\xd1\x5d\x88\x48\x94\xee\xb9\xfb\xeb\x46\xcd\x45"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ACCU_COLOR_TEMP

	Description
		Light Accurate Color Temperature (Kelvin)

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ACCU_COLOR_TEMP	"\x34\x06\x2e\x10\x9b\x9b\x72\x42\x91\x0d\x6e\x2c\x8b\xc2\x2d\x62"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ATMOS_APPLY

	Description
		Distant Light Apply Atmospheric Light

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ATMOS_APPLY		"\x7a\xda\x1e\x68\xb5\x0e\xdb\x43\xb6\xd7\x6d\x33\xf1\x38\x83\xde"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ATMOS_COLOR

	Description
		Distant Light's Atmospheric Color

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ATMOS_COLOR		"\x60\x3a\x7b\x0e\xa8\xf0\xf1\x44\xbf\x84\x5e\x0d\xe5\xe6\x70\x32"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ATMOS_INTENSITY

	Description
		Distant Light's Atmospheric Light's Simple Intensity

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ATMOS_INTENSITY	"\x27\x00\xba\xd1\x7a\xc1\xbf\x4b\xb0\x85\xce\xa2\x77\x4d\xde\xbc"
/****************************************************************

	FZ_TRAC_TYPE_LITE_ATMOS_LUMINANCE

	Description
		Distant Light's Atmospheric Light's Accurate Intensity (Luminance)

	Availability	6.5.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_LITE_ATMOS_LUMINANCE	"\x14\x58\x40\xf4\xa4\x30\xc4\x47\x94\x35\xec\xea\xb3\xb8\xfb\x93"


/****************************************************************

	FZ_TRAC_TYPE_COLR_RED

	Description
		Color red channel track.  For RGB color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_RED			"\xf7\x4c\x47\xca\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_COLR_GREEN

	Description
		Color green channel track.  For RGB color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_GREEN			"\xf7\x4c\x48\xc0\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_COLR_BLUE

	Description
		Color blue channel track.  For RGB color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_BLUE			"\xf7\x4c\x49\xeb\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_COLR_HUE

	Description
		Color hue channel track.  For HSL color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_HUE			"\xf7\x4c\x4a\xdd\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_COLR_SATUR

	Description
		Color saturation channel track.  For HSL color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_SATUR			"\xf7\x4c\x4b\xcd\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_COLR_LIGHTNESS

	Description
		Color lightness channel track.  For HSL color tracks

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_COLR_LIGHTNESS		"\xf7\x4c\x4c\xf8\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"



/****************************************************************

	FZ_TRAC_TYPE_ATTR_VISIB

	Description
		Visibility

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_VISIB				"\xf7\x4b\xfb\xcd\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_SURF_STYLE

	Description
		Surface Style reference

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_SURF_STYLE		"\xf7\x4b\xfc\xbb\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_CAST_SHADOWS

	Description
		Cast shadows

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_CAST_SHADOWS		"\xf7\x4b\xfd\xab\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_RECV_SHADOWS

	Description
		Receives shadows

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_RECV_SHADOWS		"\xf7\x4b\xfe\x9b\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_RNDR_WREF

	Description
		Render as wireframe

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_RNDR_WREF			"\xf7\x4b\xff\x89\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_RNDR_WREF_WIDTH

	Description
		Render as wireframe width

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_RNDR_WREF_WIDTH	"\xf7\x4c\x00\x7e\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_RNDR_SHAD_SURF

	Description
		Render as shaded surface

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_RNDR_SHAD_SURF	"\xf7\x4c\x01\x70\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
/****************************************************************

	FZ_TRAC_TYPE_ATTR_RNDR_BACKDROP

	Description
		Rendering backdrop

	Availability	6.1.0.0

 ****************************************************************/
#define FZ_TRAC_TYPE_ATTR_RNDR_BACKDROP		"\xf7\x4c\x02\x68\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"


/****************************************************************

	FZ_ANIM_CNTL_BEZIER

	Description
		Bezier Controller

	Availability	6.1.0.0

 ****************************************************************/
								
#define FZ_ANIM_CNTL_BEZIER		"\x85\x63\x14\xed\x04\x42\x4c\x29\xbf\x2d\xd6\x2f\x64\x65\xa9\x71"
/****************************************************************

	FZ_ANIM_CNTL_SINE

	Description
		Sine Controller

	Availability	6.1.0.0

 ****************************************************************/
								
#define FZ_ANIM_CNTL_SINE		"\x16\xf2\x74\x2e\xbe\x0a\x49\x0b\xac\xa2\x46\x01\xbf\x30\x47\xeb"
/****************************************************************

	FZ_ANIM_CNTL_NOISE

	Description
		Noise Controller

	Availability	6.1.0.0

 ****************************************************************/
								
#define FZ_ANIM_CNTL_NOISE		"\x0f\x50\x74\xf6\xf2\xce\x45\x9a\xb9\x96\x70\xfb\x48\xea\x23\x98"




/****************************************************************

	FZ_ANIM_MAP_FRAME_2_TIME


	Description
		Maps a frame to a time (in seconds).  This maps a frame to its "starting" time. 
		A frame spans a length of time, a time value is an instantaneous point 
		in time.  Therefore sometimes, when converting from frame to time, 
		the time at the beginning of the frame is desired, and sometimes the time 
		at the end of the frame is desired.  Add 1 when necessary.

	Parameters
		fzrt_int frame  [Input]
			frame number.
		double fps  [Input]
			frames per second.

	Returns
		returns the start time (in seconds) of the input frame.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
 ****************************************************************/
#define FZ_ANIM_MAP_FRAME_2_TIME(frame, fps)		(((double)(frame))/((double)(fps)))
/****************************************************************

	FZ_ANIM_MAP_TIME_2_CLOS_FRAME


	Description
		Maps a time (in seconds) to its closest frame (rounding to nearest). 
		A frame spans a length of time, a time value is an instantaneous point 
		in time.

	Parameters
		double time  [Input]
			time (in seconds).
		double fps  [Input]
			frames per second.

	Returns
		returns the closest frame of the input time.


	Availability	6.1.0.0

 ****************************************************************/
#define FZ_ANIM_MAP_TIME_2_CLOS_FRAME(time, fps)	((fzrt_int)floor(((double)(time))*((double)(fps))+.5))
/****************************************************************

	FZ_ANIM_MAP_TIME_2_CONT_FRAME


	Description
		Maps a time (in seconds) to its containing frame. 
		A frame spans a length of time, a time value is an instantaneous point 
		in time.  This does not round a time to the closest frame, but 
		rather to the frame that contains this point in time.

	Parameters
		double time  [Input]
			time (in seconds).
		double fps  [Input]
			frames per second.

	Returns
		returns the containing frame of the input time.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
 ****************************************************************/
#define FZ_ANIM_MAP_TIME_2_CONT_FRAME(time, fps)	((fzrt_int)floor(((double)(time))*((double)(fps))))
















/****************************************************************

	fz_anim_play_loop_enum


	Description
		Identifiers for the playback loop control options within the project-level animation options.

	Members
		FZ_ANIM_PLAY_LOOP_CONT
			Loop continually
		FZ_ANIM_PLAY_LOOP_PALN
			Loop by reversing the playback time once the end is reached, repeatedly
		FZ_ANIM_PLAY_LOOP_ONCE
			Play once without looping

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_play_loop_enum
{
	FZ_ANIM_PLAY_LOOP_CONT=0,
	FZ_ANIM_PLAY_LOOP_PALN,
	FZ_ANIM_PLAY_LOOP_ONCE,
}fz_anim_play_loop_enum;
/****************************************************************

	fz_anim_opts_parm_enum


	Description
		Identifiers for the general animation options.  Each project has its own set of options.

	Members
		FZ_ANIM_PARM_CRNT_TIME
			Current (active) time (in seconds) of the animation
			Type: double
			Default Value: 0.0
			Range: animation start time
		FZ_ANIM_PARM_CRNT_FRAME
			Current (active) frame of the animation
			Type: fzrt_int
			Default Value: 0
			Range: animation start frame
		FZ_ANIM_PARM_START_TIME
			Animation start time
			Type: double
			Default Value: 0.0
			Range: animation end time
		FZ_ANIM_PARM_END_TIME
			Animation end time
			Type: double
			Default Value: 10.0
			Range: animation start time
		FZ_ANIM_PARM_FPS
			Animation frames per second
			Type: double
			Default Value: 30.0
			Range: 0.0
		FZ_ANIM_PARM_LOOP_CONTROL
			Playback loop control
			Type: fz_anim_play_loop_enum
			Default Value: FZ_ANIM_PLAY_LOOP_CONT
		FZ_ANIM_PARM_SKIP
			Enable frame skipping to keep playback in real time.  If 
			FALSE, no frames will be skipped.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PARM_PB_START_TIME
			Animation playback start time
			Type: double
			Default Value: 0.0
			Range: animation end time
		FZ_ANIM_PARM_PB_END_TIME
			Animation playback end time
			Type: double
			Default Value: 10.0
			Range: animation start time
		FZ_ANIM_PARM_ENTY_PVIEW_SHOW_KEYF
			Show animated entities at their keyframe locations.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PARM_ENTY_PVIEW_SHOW_AT_INTV
			Show animated entities at every specified interval.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_PARM_ENTY_PVIEW_AT_INTV
			Sampling interval at which to show animated entities.
			Type: double
			Default Value: 1 (sec)
			Range: 0
		FZ_ANIM_PARM_ENTY_PVIEW_SHOW_BEFORE
			Whether or not to show specified number of animated entities at specified 
			interval before the current frame.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_PARM_ENTY_PVIEW_BEFORE_NUM
			Number of animated entities 
			before the current frame.
			Type: fzrt_int
			Default Value: 4
		FZ_ANIM_PARM_ENTY_PVIEW_BEFORE_INTV
			Sampling interval at which to show animated entities 
			before the current frame.
			Type: double
			Default Value: 0.25 (sec)
			Range: 0
		FZ_ANIM_PARM_ENTY_PVIEW_SHOW_AFTER
			Whether or not to show specified number of animated entities at specified 
			interval after the current frame.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_PARM_ENTY_PVIEW_AFTER_NUM
			Number of animated entities 
			after the current frame.
			Type: fzrt_int
			Default Value: 4
		FZ_ANIM_PARM_ENTY_PVIEW_AFTER_INTV
			Sampling interval at which to show animated entities 
			after the current frame.
			Type: double
			Default Value: 0.25 (sec)
			Range: 0
		FZ_ANIM_PARM_ENTY_PVIEW_SHOW_TRAIL
			Whether or not to show the trail of animated entities.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PARM_USE_CNTL_CACHE
			Whether or not to use the controller cache.
			Type: fzrt_boolean
			Default Value: TRUE

	Availability	6.1.0.0


	See Also
		fz_anim_opts_set_parm

 ****************************************************************/
typedef enum fz_anim_opts_parm_enum
{
	FZ_ANIM_PARM_CRNT_TIME=0,
	FZ_ANIM_PARM_CRNT_FRAME,
	FZ_ANIM_PARM_START_TIME,
	FZ_ANIM_PARM_END_TIME,
	FZ_ANIM_PARM_FPS,
	FZ_ANIM_PARM_LOOP_CONTROL,
	FZ_ANIM_PARM_SKIP,
	FZ_ANIM_PARM_PB_START_TIME,
	FZ_ANIM_PARM_PB_END_TIME,
	FZ_ANIM_PARM_ENTY_PVIEW_SHOW_KEYF,
	FZ_ANIM_PARM_ENTY_PVIEW_SHOW_AT_INTV,
	FZ_ANIM_PARM_ENTY_PVIEW_AT_INTV,
	FZ_ANIM_PARM_ENTY_PVIEW_SHOW_BEFORE,
	FZ_ANIM_PARM_ENTY_PVIEW_BEFORE_NUM,
	FZ_ANIM_PARM_ENTY_PVIEW_BEFORE_INTV,
	FZ_ANIM_PARM_ENTY_PVIEW_SHOW_AFTER,
	FZ_ANIM_PARM_ENTY_PVIEW_AFTER_NUM,
	FZ_ANIM_PARM_ENTY_PVIEW_AFTER_INTV,
	FZ_ANIM_PARM_ENTY_PVIEW_SHOW_TRAIL,
	FZ_ANIM_PARM_USE_CNTL_CACHE,
	
} fz_anim_opts_parm_enum;



/****************************************************************

	fz_anim_opts_get_parm



	Description
		Gets the parameter indicated by the parameter index of the animation options.

	Parameters
		windex  [Input]
			project window index
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_opts_get_parm_func)(
	fzrt_int					windex,
	fz_anim_opts_parm_enum	parm_id,
	fz_type_td				*data
	);
	
/****************************************************************

	fz_anim_opts_set_parm



	Description
		Sets the parameter indicated by the parameter index of the animation options.

	Parameters
		windex  [Input]
			project window index
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_grup_tree.fsl
		../../../../Scripts/Samples/Utilities/util_anim_part.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_opts_set_parm_func)(
	fzrt_int					windex,
	fz_anim_opts_parm_enum	parm_id,
	fz_type_td				*data
	);


/****************************************************************

	fz_anim_rgst_trac_count



	Description
		Gets the number of tracks in the animation track registry.

	Parameters
		windex  [Input]
			project window index
		count  [Result]
			number of tracks in track registry

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_list_all_tracs.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_rgst_trac_count_func)(
	fzrt_int						windex,
	fzrt_int						*count
	);

/****************************************************************

	fz_anim_rgst_trac_indx_2_uuid



	Description
		Given an index into the animation track registry, this function returns the 
		corresponding track type uuid.  Valid values are 0 to the count - 1 returned by 
		fz_anim_rgst_trac_count.  The uuid can then be used to gain additional information 
		about the track through the fz_anim_rgst_trac_get_parm function.

	Parameters
		windex  [Input]
			project window index
		rgst_indx  [Input]
			index into track registry
		trac_id  [Result]
			track type

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_list_all_tracs.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_rgst_trac_indx_2_uuid_func)(
	fzrt_int						windex,
	fzrt_int						rgst_indx,
	fzrt_UUID_td				trac_id
	);


/****************************************************************

	fz_anim_trac_format_enum


	Description
		Identifiers for animation track type formats.

	Members
		FZ_ANIM_TRAC_FORMAT_UNITLESS
			Number is a unitless, raw float value
		FZ_ANIM_TRAC_FORMAT_DISTANCE
			Number has distance units
		FZ_ANIM_TRAC_FORMAT_ANGLE
			Number has angle units
		FZ_ANIM_TRAC_FORMAT_PERCENT
			Number expressed as a percent
		FZ_ANIM_TRAC_FORMAT_INTEGER
			Number is an integer value

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_trac_format_enum
{
	FZ_ANIM_TRAC_FORMAT_UNITLESS,
	FZ_ANIM_TRAC_FORMAT_DISTANCE,
	FZ_ANIM_TRAC_FORMAT_ANGLE,
	FZ_ANIM_TRAC_FORMAT_PERCENT,
	FZ_ANIM_TRAC_FORMAT_INTEGER,
}fz_anim_trac_format_enum;


/****************************************************************

	fz_anim_rgst_trac_parm_enum


	Description
		Identifiers for the parameters of an animation track type.

	Members
		FZ_ANIM_TRAC_PARM_NAME
			Track type name
			Type: fz_string_td
		FZ_ANIM_TRAC_PARM_DATA_TYPE
			Track type data type for how to get values 
			associated with this track type.  Valid data types 
			are FZ_TYPE_DOUBLE, FZ_TYPE_INT, FZ_TYPE_BOOL, FZ_TYPE_RGB_FLOAT. 
			Tracks with data types of FZ_TYPE_DOUBLE and FZ_TYPE_INT 
			may or may not have valid ranges of values, defined by the 
			FZ_ANIM_TRAC_PARM_RANGE_... parameters.  You don't need 
			to acquire the ranges for FZ_TYPE_BOOL and FZ_TYPE_RGB_FLOAT, 
			since you can infer this from their data types.  In scripts, 
			use the appropriate data-typed variable to retrieve the 
			proper range.
			Type: fs_type_enum
		FZ_ANIM_TRAC_PARM_FORMAT_ID
			Track type format type for how the track 
			values are interpreted and displayed.
			Type: fz_anim_trac_format_enum
		FZ_ANIM_TRAC_PARM_COLOR
			Track type display color in Animation Editor.
			Type: fz_rgb_float_td
		FZ_ANIM_TRAC_PARM_RANGE_FLAGS
			Track type range flags (see fz_fuim_range_enum)
			Type: fzrt_int
		FZ_ANIM_TRAC_PARM_RANGE_MIN
			Track type range min. The type is dependent on the 
			FZ_ANIM_TRAC_PARM_DATA_TYPE parameter.
			Type: double,fzrt_int
		FZ_ANIM_TRAC_PARM_RANGE_MAX
			Track type range max The type is dependent on the 
			FZ_ANIM_TRAC_PARM_DATA_TYPE parameter.
			Type: double,fzrt_int
		FZ_ANIM_TRAC_PARM_IS_DEFAULT
			Whether or not the track type is a default track type, added initially 
			when applicable.
			Type: fzrt_boolean
		FZ_ANIM_TRAC_PARM_IS_PATH_TYPE
			Whether or not the track type is a path track type.
			Type: fzrt_boolean

	Availability	6.1.0.0


	See Also
		fz_anim_rgst_trac_set_parm

 ****************************************************************/
typedef enum fz_anim_rgst_trac_parm_enum
{
	FZ_ANIM_TRAC_PARM_NAME,
	FZ_ANIM_TRAC_PARM_DATA_TYPE,
	FZ_ANIM_TRAC_PARM_FORMAT_ID,
	FZ_ANIM_TRAC_PARM_COLOR,
	FZ_ANIM_TRAC_PARM_RANGE_FLAGS,
	FZ_ANIM_TRAC_PARM_RANGE_MIN,
	FZ_ANIM_TRAC_PARM_RANGE_MAX,
	FZ_ANIM_TRAC_PARM_IS_DEFAULT,
	FZ_ANIM_TRAC_PARM_IS_PATH_TYPE,
	
}fz_anim_rgst_trac_parm_enum;


/****************************************************************

	fz_anim_rgst_trac_get_parm



	Description
		Gets the parameter indicated by the parameter index of the animation track registry. 
		The track registry is the list of all animation tracks offered by the animation system. 
		Each track type has a set of parameters that apply generally to the track type itself 
		for all instances (track nodes) of the same track type.

		To find out if a track of a given track type can be added to an animation node 
		see fz_anim_node_trac_is_compatible and fz_anim_node_get_trac_list.

	Parameters
		windex  [Input]
			project window index
		trac_id  [Input]
			track type
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_list_all_tracs.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_rgst_trac_get_parm_func)(
	fzrt_int						windex,
	fzrt_UUID_td				trac_id,
	fz_anim_rgst_trac_parm_enum	parm_id,
	fz_type_td					*data
	);


/****************************************************************

	fz_anim_rgst_trac_set_parm



	Description
		Sets the parameter indicated by the parameter index of the animation track registry. 
		The track registry is the list of all animation tracks offered by the animation system. 
		Each track type has a set of parameters that apply generally to the track type itself 
		for all instances (track nodes) of the same track type.

	Parameters
		windex  [Input]
			project window index
		trac_id  [Input]
			track type
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes.


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_list_all_tracs.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_rgst_trac_set_parm_func)(
	fzrt_int						windex,
	fzrt_UUID_td				trac_id,
	fz_anim_rgst_trac_parm_enum	parm_id,
	fz_type_td					*data
	);


/****************************************************************

	fz_anim_node_get_next



	Description
		Returns the next sibling animation node, given an animation node in the animation 
		hierarchy.  If you desire to obtain the animation node of the first child of the root, 
		then pass NULL for anim_node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node, or NULL for root.
		sibling_node  [Result]
			next sibling node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
		../../../../Scripts/Samples/Utilities/util_anim_node_info.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_node_set.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_next_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_ptr		*sibling_node
	);

/****************************************************************

	fz_anim_node_get_child



	Description
		Returns the first child animation node, given an animation node in the animation 
		hierarchy.  If you desire to obtain the animation node of the first child of the root, 
		then pass NULL for anim_node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node, or NULL for root.
		child_node  [Result]
			first child node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
		../../../../Scripts/Samples/Utilities/util_anim_node_info.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_node_set.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_child_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_ptr		*child_node
	);

/****************************************************************

	fz_anim_node_get_parent



	Description
		Returns the parent animation node, given an animation node in the animation 
		hierarchy.  If the resulting parent_node is NULL, this implies the given 
		animation node is a child of the root.  For an entity this also means that its parent 
		coordinate system is the world coordinate system.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node child
		parent_node  [Result]
			parent node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_parent_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_ptr		*parent_node
	);

/****************************************************************

	fz_anim_node_find_by_tag



	Description
		Finds the animation node given a tag to an entity.  For example, the tag 
		returned by fz_objt_ptr_to_tag can be used to search for its corresponding 
		animation node in the animation hierarchy.  Only entities that have 
		previously been added to the animation hierarchy have corresponding 
		animation nodes.

	Parameters
		windex  [Input]
			project window index
		enty_tag  [Input]
			tag of entity
		anim_node  [Result]
			animation node of entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_tag.fsl

	See Also
		fz_anim_enty_get_enty_tag, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_find_by_tag_func)(
	fzrt_int					windex,
	fz_tag_td				*enty_tag,
	fz_anim_node_ptr		*anim_node
	);

/****************************************************************

	fz_anim_node_change_pos



	Description
		Moves the given animation node to the new parent.  If the animation node is 
		an animated entity with coordinates, then the maintain_loc flag will be used.

		If maintain_loc is TRUE, then its coordinates will be adjusted with respect 
		to its new parent so as to keep the same apparent location.  If FALSE, 
		its coordinates will remain unchanged so the entity will appear to "jump" to its 
		new parent's coordinate system.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		new_parent  [Input]
			new parent node, or NULL for root
		maintain_loc  [Input]
			whether or not to keep the animation entity in its apparent 
			location.  If TRUE, its coordinates will be 
			adjusted with respect to its new parent so as 
			to keep the same apparent location.  If FALSE, 
			its coordinates will remain unchanged so the 
			object will appear to "jump" to its new parent 
			coordinate system.  When adding to the root, 
			this option is ignored.

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
		../../../../Scripts/Samples/Utilities/util_anim_grup_tree.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_change_pos_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_ptr		new_parent,
	fzrt_boolean			maintain_loc
	);


/****************************************************************

	fz_anim_node_remove



	Description
		Removes the animation node from the animation node hierarchy.  All its children 
		nodes will also be removed.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node to remove from hierarchy

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_remove_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node
	);

/****************************************************************

	fz_anim_node_remove_all



	Description
		Removes all the animation nodes from the animation node hierarchy in the project.

	Parameters
		windex  [Input]
			project window index

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_remove_all.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_remove_all_func)(
	fzrt_int					windex
	);

/****************************************************************

	fz_anim_node_copy



	Description
		Copies the source animation node in the animation node hierarchy as a new child of the given parent. 
		The recursive flag specifies whether or not to copy all the children nodes of the source 
		entity also.

		If the source node is an entity, the dst_parent may be NULL (which represents the root). 
		Also, the entity itself will be 
		copied, and the destination animation node will correspond to the copied entity.  For example, 
		if an object called "Object 1" is animated, copying the object's animation node will create, not 
		only a second animation node, but also the object in the Object palette to which it corresponds.

		If the source node is a track, the dst_parent may NOT be NULL.  Multiple tracks of the same type 
		are not meaningful at this point in time, so the dst_parent should be a different parent than 
		the source's parent, and the track must be compatible (see fz_anim_node_trac_is_compatible).

		If the source node is a controller, the dst_parent may NOT be NULL.  The dst_parent must 
		be a track.  Multiple Bezier controllers as children to a single track parent is not meaningful 
		at this point in time, so the dst_parent should be a different parent than the source's 
		parent for Bezier controllers.  Other controller types can have the same parent.

	Parameters
		src_windex  [Input]
			source project window index
		src_node  [Input]
			source animation node to copy
		dst_windex  [Input]
			destination project window index
		dst_parent  [Input]
			parent node of the destination copy
		recursive  [Input]
			whether or not to copy the source node's children also
		dst_node  [Result, Optional]
			destination copy

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_copy_func)(
	fzrt_int					src_windex,
	fz_anim_node_ptr		src_node,
	fzrt_int					dst_windex,
	fz_anim_node_ptr		dst_parent,
	fzrt_boolean			recursive,
	fz_anim_node_ptr		*dst_node
	);


/****************************************************************

	fz_anim_node_class_enum


	Description
		Identifiers for an animation node's class.  There are three class levels. 
		The entity class consists of formZ entities that can be animated.  The track 
		class represents parameters that can change with respect to time.  The controller 
		class controls how those parameters change with respect to time.

	Members
		FZ_ANIM_NODE_CLASS_ENTY
			Entity class
		FZ_ANIM_NODE_CLASS_TRAC
			Track class
		FZ_ANIM_NODE_CLASS_CNTL
			Controller Function class

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_node_class_enum
{
	FZ_ANIM_NODE_CLASS_ENTY,
	FZ_ANIM_NODE_CLASS_TRAC,
	FZ_ANIM_NODE_CLASS_CNTL,
}fz_anim_node_class_enum;

/****************************************************************

	fz_anim_node_get_class



	Description
		Returns the class of an animation node.  There are three class levels. 
		The entity class consists of formZ entities that can be animated.  The track 
		class represents parameters that can change with respect to time.  The controller 
		class controls how those parameters change with respect to time.

		Sometimes it is only necessary to distinguish nodes by their class.  If you 
		need to be able to distinguish two track nodes from each other, you may need 
		to use the fz_anim_node_get_uuid function.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		node_class  [Result]
			animation node class

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_node_info.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_class_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_class_enum	*node_class
	);
	
/****************************************************************

	fz_anim_node_get_uuid



	Description
		Returns the UUID of an animation node.  With this UUID you can distinguish 
		animation nodes of the same class.  Each entity type has a different UUID 
		(one for objects FZ_ANIM_OBJT, one for lights FZ_ANIM_LITE, etc).  Each track type has a different UUID 
		(Position X FZ_TRAC_TYPE_POS_X, Position Y FZ_TRAC_TYPE_POS_Y, Path Distance FZ_TRAC_TYPE_POS_PATH, Color Red FZ_TRAC_TYPE_COLR_RED, etc). 
		Each controller type has a different UUID.  (Bezier FZ_ANIM_CNTL_BEZIER, Sine FZ_ANIM_CNTL_SINE, Noise FZ_ANIM_CNTL_NOISE, etc).

		Sometimes it is only necessary to distinguish nodes by their class, rather 
		than by their UUID.  If this is the case, use the fz_anim_node_get_class function.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		node_uuid  [Result]
			animation node type uuid

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_node_info.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_uuid_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fzrt_UUID_td			node_uuid
	);
/****************************************************************

	fz_anim_enty_get_enty_tag



	Description
		Returns the tag of the entity that is animated.  This is the entity's tag, 
		not the tag of the animation node itself.  For example, the same tag returned 
		by fz_objt_ptr_to_tag, is returned for this function if you know the object's animation node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node of entity
		enty_tag  [Result]
			entity's tag

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_tag.fsl
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl

	See Also
		fz_anim_node_find_by_tag, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_enty_get_enty_tag_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_tag_td				*enty_tag
	);
	
/****************************************************************

	fz_anim_node_get_trac_list



	Description
		Returns a list of uuids (fzrt_UUID_td) identifying the tracks that the animation node supports. 
		Note that some tracks may not be able to be applied at the same time even if both are 
		supported (see fz_anim_node_trac_is_compatible).

		The trac_list must be initialized with type FZ_TYPE_UUID.

		To get more information about a track type uuid returned in this list, 
		see fz_anim_rgst_trac_get_parm.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		trac_list  [Result]
			list of supported track uuids

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl

	See Also
		fz_type_list_init,fz_type_list_finit,fz_type_list_count,fz_type_list_get_item, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_trac_list_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_type_list_ptr		trac_list
	);
	



/****************************************************************

	fz_anim_animate_objt



	Description
		Makes the given object animated and adds it to the animation node hierarchy.

	Parameters
		windex  [Input]
			project window index
		objt  [Input]
			object to make animated
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_objt_func)(
	fzrt_int					windex,
	fz_objt_ptr				objt,
	fz_anim_node_ptr		*anim_node
	);
/****************************************************************

	fz_anim_objt_part_enum


	Description
		Identifiers for an object's animatable parts.

	Members
		FZ_ANIM_OBJT_PART_PNT
			Point of object
		FZ_ANIM_OBJT_PART_SEGT
			Segment of object
		FZ_ANIM_OBJT_PART_CURV
			Curve/Outline of object
		FZ_ANIM_OBJT_PART_FACE
			Face of object
		FZ_ANIM_OBJT_PART_OBJT
			Object

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_enum

 ****************************************************************/
typedef enum fz_anim_objt_part_enum
{
	FZ_ANIM_OBJT_PART_PNT=0,
	FZ_ANIM_OBJT_PART_SEGT,
	FZ_ANIM_OBJT_PART_CURV,
	FZ_ANIM_OBJT_PART_FACE,
	FZ_ANIM_OBJT_PART_OBJT
}fz_anim_objt_part_enum;

/****************************************************************

	fz_anim_animate_objt_part



	Description
		Makes the given object's part animated and adds it and the object to the animation node hierarchy.

	Parameters
		windex  [Input]
			project window index
		objt  [Input]
			object with part to make animated
		which_part  [Input]
			kind of part (face, segment, point, etc) to be animated
		indx  [Input]
			index of part to be animated
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_part.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_objt_part_func)(
	fzrt_int					windex,
	fz_objt_ptr				objt,
	fz_anim_objt_part_enum	which_part,
	fzrt_int					indx,
	fz_anim_node_ptr		*anim_node
	);

/****************************************************************

	fz_anim_animate_view



	Description
		Makes the given view animated and adds it to the animation node hierarchy.

	Parameters
		windex  [Input]
			project window index
		view  [Input]
			view to make animated
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_view_func)(
	fzrt_int					windex,
	fz_view_ptr				view,
	fz_anim_node_ptr		*anim_node
	);

/****************************************************************

	fz_anim_animate_lite



	Description
		Makes the given light animated and adds it to the animation node hierarchy.

	Parameters
		windex  [Input]
			project window index
		lite  [Input]
			lite to make animated
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_lite_func)(
	fzrt_int					windex,
	fz_lite_ptr				lite,
	fz_anim_node_ptr		*anim_node
	);

/****************************************************************

	fz_anim_animate_surf_style



	Description
		Makes the given Surface Style animated and adds it to the animation node hierarchy.

	Parameters
		windex  [Input]
			project window index
		rmtl  [Input]
			surface style to make animated
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_surf_style_func)(
	fzrt_int					windex,
	fz_rmtl_ptr				rmtl,
	fz_anim_node_ptr		*anim_node
	);

/****************************************************************

	fz_anim_animate_grup



	Description
		Creates a new animated group with axes at the world origin and adds it to the animation hierarchy.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_grup_tree.fsl
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_grup_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		*anim_node
	);


/****************************************************************

	fz_anim_animate_dfrm



	Description
		Creates an animated deformation style and adds it to the animation node hierarchy. 
		If has_cage is TRUE, the deformation has influence only within the boundaries of its 
		cage.  The cage, by default, is an axis-aligned box centered at the origin.

	Parameters
		windex  [Input]
			project window index
		dfrm_id  [Input]
			deformation style
		has_cage  [Input]
			whether or not deformation style has a cage of influence
		anim_node  [Result]
			new animated entity

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_animate_dfrm_func)(
	fzrt_int					windex,
	fzrt_UUID_td			dfrm_id,
	fzrt_boolean			has_cage,
	fz_anim_node_ptr		*anim_node
	);



/****************************************************************

	fz_anim_node_parm_enum


	Description
		Identifiers for an animation node's parameters.  Each animation node has its own set 
		of parameters.  These parameters are common to all classes of animation nodes, but may be 
		applicable to one class or another.

	Members
		FZ_ANIM_NODE_PARM_PICK
			animated entity's pick status. 
			Not defined for tracks or controllers.
			Type: fzrt_boolean
		FZ_ANIM_NODE_PARM_NAME
			animation node's name.  read only for track and controller names.
			Type: fz_string_td
		FZ_ANIM_NODE_PARM_VALUE
			animation track's last evaluated value 
			Not defined for entities or controllers.
			Type: double
		FZ_ANIM_NODE_PARM_PVIEW
			animation entity's preview visibility status 
			Not defined for tracks or controllers.
			Type: fzrt_boolean
		FZ_ANIM_NODE_PARM_LOCK
			animation node's locked status
			Type: fzrt_boolean
		FZ_ANIM_NODE_PARM_USE
			animation node's status of whether it's currently being used/applied
			Type: fzrt_boolean
		FZ_ANIM_NODE_PARM_EDIT
			animation node's editability status
			Type: fzrt_boolean

	Availability	6.1.0.0


	See Also
		fz_anim_node_set_parm

 ****************************************************************/
typedef enum fz_anim_node_parm_enum
{
	FZ_ANIM_NODE_PARM_PICK=0,
	FZ_ANIM_NODE_PARM_NAME,
	FZ_ANIM_NODE_PARM_VALUE,
	FZ_ANIM_NODE_PARM_PVIEW,
	FZ_ANIM_NODE_PARM_LOCK,
	FZ_ANIM_NODE_PARM_USE,
	FZ_ANIM_NODE_PARM_EDIT,
}fz_anim_node_parm_enum;

/****************************************************************

	fz_anim_node_get_parm



	Description
		Gets a parameter of the animation node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		parm_id  [Input]
			index of parameter to be retrieved
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_node_info.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_node_set.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_get_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_parm_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_node_set_parm



	Description
		Sets a parameter of the animation node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		parm_id  [Input]
			index of parameter to be set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_node_set.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_set_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_node_parm_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_eval_value_trac



	Description
		Evaluates a track at the given time and returns its value.  This implicitly evaluates 
		all the controller nodes of the track to compute the track's value.  Note that the output 
		value of one controller goes as the input value to the next controller in the list.  The 
		final controller output is the value of the track.

	Parameters
		windex  [Input]
			project window index
		trac_node  [Input]
			track animation node
		time  [Input]
			time (in seconds)
		value  [Result]
			value of track at given time

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl

	See Also
		fz_anim_eval_value_cntl, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_eval_value_trac_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		trac_node,
	double					time,
	double					*value
	);

/****************************************************************

	fz_anim_eval_value_cntl



	Description
		Evaluates a controller at the given time and returns its value.

		Some controllers take an input value also (like Sine, Noise).  In this case, 
		pass in the input value also.

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller animation node
		time  [Input]
			time (in seconds)
		value  [Input, Result]
			value of track at given time

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl

	See Also
		fz_anim_eval_value_trac, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_eval_value_cntl_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		cntl_node,
	double					time,
	double					*value
	);



/****************************************************************

	fz_bezier_insert_method_enum


	Description
		Identifiers for the insertion method to use when inserting bezier keyframes

	Members
		FZ_BEZIER_INSERT_METHOD_ON_CURVE
			This insertion method inserts a new control point on 
			an existing bezier curve between two keyframes, and 
			adjusts the new leads and the surrounding leads such 
			that the curve remains the same.
		FZ_BEZIER_INSERT_METHOD_OFF_CURVE
			This insertion method inserts a new control point on 
			a bezier curve such that the curve must now pass through 
			the new control point.
		FZ_BEZIER_INSERT_METHOD_AUTO
			This insertion method determines from the given value 
			and time whether or not the new point is on the existing 
			curve.  If it is not (or there are not at least two keyframes), 
			then the FZ_BEZIER_INSERT_METHOD_OFF_CURVE method is used. 
			Otherwise the FZ_BEZIER_INSERT_METHOD_ON_CURVE method is used.

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_bezier_insert_method_enum
{
	FZ_BEZIER_INSERT_METHOD_ON_CURVE=0,
	FZ_BEZIER_INSERT_METHOD_OFF_CURVE,
	FZ_BEZIER_INSERT_METHOD_AUTO,
}fz_bezier_insert_method_enum;

/****************************************************************

	fz_bezier_key_type_enum


	Description
		Identifiers for the key control point type.

	Members
		FZ_BEZIER_KEY_TYPE_TANG
			Tangency is enforced for lead in/out to this 
			keyframe control point
		FZ_BEZIER_KEY_TYPE_TANG_EQUAL
			Enforce equidistant tangency
		FZ_BEZIER_KEY_TYPE_NO_TANG
			Tangency not enforced, lead in/out can be 
			curve-controlled, linear, or stepped

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_bezier_key_type_enum
{
	FZ_BEZIER_KEY_TYPE_TANG=0,
	FZ_BEZIER_KEY_TYPE_TANG_EQUAL,
	FZ_BEZIER_KEY_TYPE_NO_TANG,
}fz_bezier_key_type_enum;

/****************************************************************

	fz_bezier_lead_type_enum


	Description
		Identifiers for the lead in and lead out control point type.

	Members
		FZ_BEZIER_LEAD_TYPE_CURVE
			Lead control point is used for controlled curves
		FZ_BEZIER_LEAD_TYPE_LINEAR
			Lead control point is not used, or ignored
		FZ_BEZIER_LEAD_TYPE_STEP
			Lead control point is used for step

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_bezier_lead_type_enum
{
	FZ_BEZIER_LEAD_TYPE_CURVE=0,
	FZ_BEZIER_LEAD_TYPE_LINEAR,
	FZ_BEZIER_LEAD_TYPE_STEP,
}fz_bezier_lead_type_enum;

/****************************************************************

	FZ_ANIM_TIME_TOL


	Description
		Animation time tolerance in seconds.  Two different times whose difference is within this 
		tolerance are treated as if they were the same time.

	Availability	6.1.0.0


	See Also
		fz_anim_cntl_bezier_key_insert, 

 ****************************************************************/
#define FZ_ANIM_TIME_TOL		.0001

/****************************************************************

	fz_anim_cntl_bezier_key_insert



	Description
		This general purpose insertion function inserts a given keyframe (a value at a time) 
		on to a given animation node.  The animation node may be an entity, track, or controller node.

		The trac_id is necessary only in certain situations, and identifies a child track of the given 
		animation node anim_node.  The child track node does not have to exist. Some track types 
		are defined already (for example, FZ_TRAC_TYPE_POS_X).

		If the animation node anim_node is an entity, the trac_id parameter specifies which track of the 
		entity that the keyframe is inserted on.  If the track node and controller node do not already exist, 
		they will be automatically created and the keyframe inserted on the controller node.  If the 
		track node exists, the keyframe will be inserted on its first found Bezier controller.  If it 
		does not have a Bezier controller, a new one will be created on which the keyframe will be 
		inserted. The track type must be supported by the entity.

		If the animation node anim_node is a track, the trac_id parameter is optional.  If NULL, 
		the keyframe is inserted on this track's first found Bezier controller.  If it does not 
		have a Bezier controller, a new one will be created on which the keyframe will be inserted. 
		If trac_id is not NULL, 
		the trac_id specifies which track of the track node that the keyframe is inserted on (certain 
		tracks themselves support tracks, e.g. path tracks support bank tracks). 
		If you intend to add a keyframe to the given animation node track anim_node, then pass NULL for the trac_id.

		If the animation node anim_node is a Bezier controller, the trac_id parameter is optional.  If NULL, 
		the keyframe is inserted into this controller's list of keyframes.  If trac_id is not NULL, 
		the trac_id specifies which track of the controller node that the keyframe is inserted on 
		(certain controllers themselves support tracks).  If you intend to add a keyframe to the given animation 
		node controller anim_node, then pass NULL for the trac_id.

		The insert_type that would generally be used is FZ_BEZIER_INSERT_METHOD_OFF_CURVE.  This 
		inserts a keyframe on to a controller at any new value.

		If the insert_type is FZ_BEZIER_INSERT_METHOD_ON_CURVE, then only the time (x) value of the key needs 
		to be provided, and the value (y) will be automatically determined.  This implies that there already 
		exists at least two keyframes and the newly inserted keyframe is between them.  The lead parameters will be 
		ignored and will be automatically determined so as to maintain the same curve.

		If the insert type is FZ_BEZIER_INSERT_METHOD_AUTO, then the lead parameters may or may not be used. 
		If it is determined from the given key value that the new point is on the existing curve, then the 
		behavior of the function is as it is in the FZ_BEZIER_INSERT_METHOD_ON_CURVE case (so leads will be ignored). 
		If it is determined that FZ_BEZIER_INSERT_METHOD_OFF_CURVE is used, then the leads will be used.  If they 
		are not provided, they will be automatically set according to the auto keyframe options.

		If the use_tol option is TRUE, the inserted 
		key replaces any existing key within the FZ_ANIM_TIME_TOL tolerance.  Otherwise the key is 
		inserted no matter what, though this may cause unexpected discontinuities in the animation.

		If the key_type parameter is FZ_BEZIER_KEY_TYPE_TANG, then the lead parameters will 
		be made to be tangent.  If the leads are not provided, they will be computed automatically.

		If the key_type parameter is FZ_BEZIER_KEY_TYPE_TANG_EQUAL, then the lead parameters will 
		be made to be tangent, and equidistant.  Only one lead needs to be specified. 
		If the leads are not provided, they will be computed automatically.

		If the key_type parameter is FZ_BEZIER_KEY_TYPE_NO_TANG, then the lead parameters will 
		be taken as they are without tangency adjustment.  This option should be used for leads 
		that are stepped or linear (otherwise leads are ignored).  Curved leads can also use this option. 
		If the leads are not provided, they will be computed automatically.

		If a lead type is FZ_BEZIER_LEAD_TYPE_LINEAR, then its corresponding time and value 
		parameter will be ignored, and can be NULL.

		If a lead type is FZ_BEZIER_LEAD_TYPE_STEP, then its corresponding time (x) is 
		used, but the value (y) field will be ignored.  The value for a lead's step point is 
		the same as its connected key's value.

		Inserting some control points may have an effect on neighboring control points.  The 
		last insertion has precedence over what occurs.  If you insert a key control point 
		with equal tangents at time 6 seconds, and then insert a control point at time 5 seconds 
		with a lead out type FZ_BEZIER_LEAD_TYPE_STEP, the neighboring key that was inserted earlier 
		will have its lead in changed to have a FZ_BEZIER_LEAD_TYPE_STEP type also.

		To get a complete list of track types supported by the animation node anim_node, 
		see the fz_anim_node_get_trac_list function.

		Other ways of setting keyframes include: fz_anim_node_add_trac, fz_anim_node_add_tracs, 
		fz_anim_node_keyf_capture.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node (entity, track, or bezier controller node)
		trac_id  [Input, Optional]
			if anim_node is an entity (not a track or controller), this 
			parameter specifies the track type of the track for which 
			to insert the keyframe.
		insert_type  [Input]
			type of insertion
		use_tol  [Input]
			whether or not to use the time tolerance. 
			If TRUE, keys within the time tolerance are replaced, 
			If FALSE, keys within the time tolerance are still inserted
		key  [Input]
			time (x) and value (y) to insert keyframe
		key_type  [Input]
			Key control point type of newly inserted key.  The first and 
			last keyframes are usually not tangency locked.
		lead_in  [Input, Optional]
			time (x) and value (y) of lead in.  The first 
			keyframe does not have a lead in control point.
		lead_in_type  [Input, Optional]
			Lead In control point type of newly inserted key.  The first 
			keyframe does not have a lead in control point.
		lead_out  [Input, Optional]
			time (x) and value (y) of lead out.  The last 
			keyframe does not have a lead out control point.
		lead_out_type  [Input, Optional]
			Lead Out control point type of newly inserted key.  The last 
			keyframe does not have a lead out control point.
		inserted_indx  [Result, Optional]
			index of inserted key.
		cntl_node  [Result, Optional]
			controller node of inserted key.

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
		../../../../Scripts/Samples/Utilities/util_anim_grup_tree.fsl
		../../../../Scripts/Samples/Utilities/util_anim_input_values.fsl
		../../../../Scripts/Samples/Utilities/util_anim_part.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_bezier_key_insert_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				anim_node,
	fzrt_UUID_td					trac_id,
	fz_bezier_insert_method_enum	insert_type,
	fzrt_boolean					use_tol,
	fz_xy_td						*key,
	fz_bezier_key_type_enum			key_type,
	fz_xy_td						*lead_in,
	fz_bezier_lead_type_enum		*lead_in_type,
	fz_xy_td						*lead_out,
	fz_bezier_lead_type_enum		*lead_out_type,
	fzrt_int							*inserted_indx,
	fz_anim_node_ptr				*cntl_node
	);


/****************************************************************

	fz_anim_cntl_bezier_key_delete



	Description
		This function deletes a keyframe at a given index from a given Bezier controller node. 
		To know how many keys or indices there are to delete, see fz_anim_cntl_bezier_keys_count.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			controller node
		key_indx  [Input]
			index of key to delete.

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_bezier_key_delete_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				anim_node,
	fzrt_int							key_indx
	);

/****************************************************************

	fz_anim_cntl_bezier_keys_count



	Description
		This function returns the count of keyframes for a given Bezier controller node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			controller node
		count  [Result]
			number of keys.

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_bezier_keys_count_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				anim_node,
	fzrt_int							*count
	);


/****************************************************************

	fz_anim_bezier_key_parm_enum


	Description
		Identifiers for parameters of the keyframes of a Bezier controller.  A keyframe is made up 
		of three control points: the key, lead in, and lead out control points.  These define 
		how a controller's value changes at a particular time.  The lead in controls how smoothly 
		values approach the key value, and the lead out controls how smoothly values leave the key value. 
		The control point types determine the kind of curve the values form.

	Members
		FZ_ANIM_BEZ_KEY_PARM_KEY
			Key control point values: x (time in sec) y (value).
			Type: fz_xy_td
		FZ_ANIM_BEZ_KEY_PARM_LEAD_IN
			Lead in control point values: x (time in sec) y (value). 
			If lead in type is FZ_BEZIER_LEAD_TYPE_LINEAR, the 
			lead in values will match those of the key.
			Type: fz_xy_td
		FZ_ANIM_BEZ_KEY_PARM_LEAD_OUT
			Lead out control point values: x (time in sec) y (value). 
			If lead out type is FZ_BEZIER_LEAD_TYPE_LINEAR, the 
			lead out values will match those of the key.
			Type: fz_xy_td
		FZ_ANIM_BEZ_KEY_PARM_KEY_TYPE
			Key control point type.
			Type: fz_bezier_key_type_enum
		FZ_ANIM_BEZ_KEY_PARM_LEAD_IN_TYPE
			Lead in control point type.
			Type: fz_bezier_lead_type_enum
		FZ_ANIM_BEZ_KEY_PARM_LEAD_OUT_TYPE
			Lead out control point type.
			Type: fz_bezier_lead_type_enum

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_ptr, fz_anim_cntl_bezier_key_get_parm, fz_anim_cntl_bezier_key_set_parm

 ****************************************************************/
typedef enum fz_anim_bezier_key_parm_enum
{
	FZ_ANIM_BEZ_KEY_PARM_KEY=0,
	FZ_ANIM_BEZ_KEY_PARM_LEAD_IN,
	FZ_ANIM_BEZ_KEY_PARM_LEAD_OUT,
	FZ_ANIM_BEZ_KEY_PARM_KEY_TYPE,
	FZ_ANIM_BEZ_KEY_PARM_LEAD_IN_TYPE,
	FZ_ANIM_BEZ_KEY_PARM_LEAD_OUT_TYPE,
}fz_anim_bezier_key_parm_enum;


/****************************************************************

	fz_anim_cntl_bezier_key_get_parm



	Description
		Gets a parameter of the Bezier key of the given controller node.

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		key_indx  [Input]
			index of the key from which to retrieve the parameter
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_bezier_key_get_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fzrt_int							key_indx,
	fz_anim_bezier_key_parm_enum	parm_id,
	fz_type_td						*data
	);
	
/****************************************************************

	fz_anim_cntl_bezier_key_set_parm



	Description
		Sets a parameter of the Bezier key of the given controller node.

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		key_indx  [Input]
			index of the key for which to set the parameter
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_bezier_key_set_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fzrt_int							key_indx,
	fz_anim_bezier_key_parm_enum	parm_id,
	fz_type_td						*data
	);

/****************************************************************

	fz_anim_cntl_sine_parm_enum


	Description
		Identifiers for parameters of the sine controller function.

	Members
		FZ_ANIM_CNTL_SINE_PARM_AMPL
			Amplitude of sine function, depends on format id of track.
			Type: double
		FZ_ANIM_CNTL_SINE_PARM_PERIOD
			Span of time (in seconds) that the sine period lasts.
			Type: double
		FZ_ANIM_CNTL_SINE_PARM_TIME_OFFSET
			Offsets the sine function in time.
			Type: fzrt_boolean
		FZ_ANIM_CNTL_SINE_PARM_VAL_OFFSET
			Offsets the sine function in value.
			Type: double
		FZ_ANIM_CNTL_SINE_PARM_HAS_START
			Whether or not to sine controller has a start time at which time 
			the extrapolation options would take effect.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_CNTL_SINE_PARM_START
			The time at which the sine controller's values start if 
			FZ_ANIM_CNTL_SINE_PARM_HAS_START is TRUE.
			Type: double
		FZ_ANIM_CNTL_SINE_PARM_HAS_END
			Whether or not to sine controller has an end time at which time 
			the extrapolation options would take effect.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_CNTL_SINE_PARM_END
			The time at which the sine controller's values end if 
			FZ_ANIM_CNTL_SINE_PARM_HAS_END is TRUE.
			Type: double

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_cntl_sine_parm_enum
{
	FZ_ANIM_CNTL_SINE_PARM_AMPL=0,
	FZ_ANIM_CNTL_SINE_PARM_PERIOD,
	FZ_ANIM_CNTL_SINE_PARM_TIME_OFFSET,
	FZ_ANIM_CNTL_SINE_PARM_VAL_OFFSET,
	FZ_ANIM_CNTL_SINE_PARM_HAS_START,
	FZ_ANIM_CNTL_SINE_PARM_START,
	FZ_ANIM_CNTL_SINE_PARM_HAS_END,
	FZ_ANIM_CNTL_SINE_PARM_END,
}fz_anim_cntl_sine_parm_enum;

/****************************************************************

	fz_anim_cntl_noise_parm_enum


	Description
		Identifiers for parameters of the noise controller function.

	Members
		FZ_ANIM_CNTL_NOISE_PARM_STRENGTH
			Strength of noise function, depends on format id of track.
			Type: double
		FZ_ANIM_CNTL_NOISE_PARM_FREQUENCY
			Frequency (in seconds) between two neighboring noise values. 
			Higher frequency results in longer times between changes for 
			"smoother" functions. 
			Lower frequency results in shorter times between changes for 
			"jumpier" functions.
			Type: double
		FZ_ANIM_CNTL_NOISE_PARM_START
			The time at which the noise controller's values start.
			Type: double
		FZ_ANIM_CNTL_NOISE_PARM_END
			The time at which the noise controller's values end.
			Type: double

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_cntl_noise_parm_enum
{
	FZ_ANIM_CNTL_NOISE_PARM_STRENGTH=0,
	FZ_ANIM_CNTL_NOISE_PARM_FREQUENCY,
	FZ_ANIM_CNTL_NOISE_PARM_START,
	FZ_ANIM_CNTL_NOISE_PARM_END,
}fz_anim_cntl_noise_parm_enum;


/****************************************************************

	fz_anim_cntl_bezier_parm_enum


	Description
		Identifiers for parameters of the Bezier controller function (not keyframe-specific).

	Members
		FZ_ANIM_CNTL_BEZ_PARM_CONNECT
			Whether or not to connect/clamp a Bezier controller's first 
			and last keyframe values to the same value.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_cntl_bezier_parm_enum
{
	FZ_ANIM_CNTL_BEZ_PARM_CONNECT=0,
}fz_anim_cntl_bezier_parm_enum;

/****************************************************************

	fz_anim_cntl_get_parm



	Description
		Gets a parameter of the given controller node.  Each type of controller node has a different 
		set of parameters.  (See fz_anim_cntl_sine_parm_enum, fz_anim_cntl_noise_parm_enum, 
		fz_anim_cntl_bezier_parm_enum).

		Bezier controllers have specialized functions also at the keyframe level to control 
		keyframe parameters.  (see fz_anim_cntl_bezier_key_get_parm, fz_anim_cntl_bezier_key_set_parm).

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_get_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fzrt_int							parm_id,
	fz_type_td						*data
	);

/****************************************************************

	fz_anim_cntl_set_parm



	Description
		Sets a parameter of the given controller node.  Each type of controller node has a different 
		set of parameters.  (See fz_anim_cntl_sine_parm_enum, fz_anim_cntl_noise_parm_enum, 
		fz_anim_cntl_bezier_parm_enum).

		Bezier controllers have specialized functions also at the keyframe level to control 
		keyframe parameters.  (see fz_anim_cntl_bezier_key_get_parm, fz_anim_cntl_bezier_key_set_parm).

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_set_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fzrt_int							parm_id,
	fz_type_td						*data
	);

/****************************************************************

	fz_anim_extrap_curve_enum


	Description
		Identifiers for extrapolation curves.  Extrapolation defines what happens to a controller's 
		values before and after the defined domain of the controller function.  Some controllers do not 
		have a start or end and therefore these extrapolation curves aren't applicable.

	Members
		FZ_ANIM_EXTRAP_BEFORE
			Before extrapolation curve
		FZ_ANIM_EXTRAP_AFTER
			After extrapolation curve

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_extrap_curve_enum
{
	FZ_ANIM_EXTRAP_BEFORE=0,
	FZ_ANIM_EXTRAP_AFTER
}fz_anim_extrap_curve_enum;

/****************************************************************

	fz_anim_extrap_type_enum


	Description
		Identifiers for extrapolation curve types.  Extrapolation defines what happens to a controller's 
		values before and after the defined domain of the controller function.  Some controllers do not 
		have a start or end and therefore these extrapolation curves aren't applicable.

	Members
		FZ_ANIM_EXTRAP_TYPE_NONE
			No extrapolation curve
		FZ_ANIM_EXTRAP_TYPE_CONSTANT
			Constant valued extrapolation curve
		FZ_ANIM_EXTRAP_TYPE_TANGENT
			Tangent extrapolation curve
		FZ_ANIM_EXTRAP_TYPE_REP_NORMAL
			Repeat Normal extrapolation curve
		FZ_ANIM_EXTRAP_TYPE_REP_MIRROR
			Repeat Mirror extrapolation curve

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_extrap_type_enum
{
	FZ_ANIM_EXTRAP_TYPE_NONE=0,
	FZ_ANIM_EXTRAP_TYPE_CONSTANT,
	FZ_ANIM_EXTRAP_TYPE_TANGENT,
	FZ_ANIM_EXTRAP_TYPE_REP_NORMAL,
	FZ_ANIM_EXTRAP_TYPE_REP_MIRROR,
}fz_anim_extrap_type_enum;


/****************************************************************

	fz_anim_extrap_parm_enum


	Description
		Identifiers for parameters of the an extrapolation curve.  Extrapolation defines what happens 
		to a controller's values before and after the defined domain of the controller function. 
		Some controllers do not have a start or end and therefore these extrapolation curves aren't applicable.

	Members
		FZ_ANIM_EXTRAP_PARM_TYPE
			Extrapolation curve type.
			Type: fz_anim_extrap_type_enum
			Default Value: FZ_ANIM_EXTRAP_TYPE_CONSTANT
		FZ_ANIM_EXTRAP_PARM_HAS_BOUND
			Whether or not the extrapolation options have a bound 
			as to where/when they no longer apply.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_EXTRAP_PARM_BY_TIME
			If FZ_ANIM_EXTRAP_PARM_HAS_BOUND is TRUE, this parameter 
			determines whether or not the bound is determined by a 
			fixed time value (TRUE) or by a relative number of 
			repetition (FALSE) of all the values in the controller's domain.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_EXTRAP_PARM_TIME_VAL
			Depending on FZ_ANIM_EXTRAP_PARM_BY_TIME, this value 
			specifies the fixed time value (TRUE) or number of repetitions (FALSE) 
			of the bound.
			Type: double
			Default Value: 0.0
		FZ_ANIM_EXTRAP_PARM_OFFSET
			Whether or not to offset the extrapolation curve some value amount each time.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_EXTRAP_PARM_OFFSET_VAL
			The value to offset extrapolation curve if FZ_ANIM_EXTRAP_PARM_OFFSET is TRUE
			Type: double
			Default Value: 0.0
		FZ_ANIM_EXTRAP_PARM_MATCH
			Whether or not to match the values of the of the extrapolation curve 
			and the values of the defined controller function at the start/end 
			times of the domain.  This is applicable only if the extrapolation type 
			is FZ_ANIM_EXTRAP_TYPE_REP_NORMAL.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_extrap_parm_enum
{
	FZ_ANIM_EXTRAP_PARM_TYPE=0,
	FZ_ANIM_EXTRAP_PARM_HAS_BOUND,
	FZ_ANIM_EXTRAP_PARM_BY_TIME,
	FZ_ANIM_EXTRAP_PARM_TIME_VAL,
	FZ_ANIM_EXTRAP_PARM_OFFSET,
	FZ_ANIM_EXTRAP_PARM_OFFSET_VAL,
	FZ_ANIM_EXTRAP_PARM_MATCH,
}fz_anim_extrap_parm_enum;


/****************************************************************

	fz_anim_cntl_extrap_get_parm



	Description
		Gets a parameter of the controller node's extrapolation options.

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		which  [Input]
			identifies extrapolation curve: before or after
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_extrap_get_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fz_anim_extrap_curve_enum		which,
	fz_anim_extrap_parm_enum		parm_id,
	fz_type_td						*data
	);

/****************************************************************

	fz_anim_cntl_extrap_set_parm



	Description
		Sets a parameter of the controller node's extrapolation options.

	Parameters
		windex  [Input]
			project window index
		cntl_node  [Input]
			controller node
		which  [Input]
			identifies extrapolation curve: before or after
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl_bezier.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_cntl_extrap_set_parm_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				cntl_node,
	fz_anim_extrap_curve_enum		which,
	fz_anim_extrap_parm_enum		parm_id,
	fz_type_td						*data
	);

/****************************************************************

	fz_anim_capture_opts_ptr


	Description
		Animation Keyframe Capture Options for how to capture keyframes of an animated entity.

	Availability	6.1.0.0

 ****************************************************************/
typedef struct fz_anim_capture_opts_td	*fz_anim_capture_opts_ptr;


/****************************************************************

	fz_anim_node_keyf_capture



	Description
		Captures an entity's current state by adding keyframes to its Bezier controllers, and 
		optionally adding new tracks if necessary.

		To get a complete list of track types supported by the animation node anim_node, 
		see the fz_anim_node_get_trac_list function.

		Other ways of setting keyframes include: fz_anim_node_add_trac, fz_anim_node_add_tracs, 
		fz_anim_cntl_bezier_key_insert.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			entity node
		capture_opts  [Input]
			keyframe capture options

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl

	See Also
		fz_anim_node_keyf_capture,fz_anim_keyf_capture_opts_init, 
		fz_anim_keyf_capture_opts_finit,fz_anim_keyf_capture_opts_get_parm, 
		fz_anim_keyf_capture_opts_set_parm, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_keyf_capture_func)(
	fzrt_int							windex,
	fz_anim_node_ptr				anim_node,
	fz_anim_capture_opts_ptr		capture_opts
	);

/****************************************************************

	fz_anim_capture_parm_enum


	Description
		Identifiers for parameters of the keyframe capture options.

	Members
		FZ_ANIM_CAPTURE_PARM_CHANGED_ONLY
			Whether or not to keyframe only tracks that have 
			changed.  TRUE changed only.  FALSE means keyframe 
			all existing tracks.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_CAPTURE_PARM_ADD_MISSING
			Whether or not to add missing tracks that have 
			changed from their original previous values.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_CAPTURE_PARM_MAINTAIN_ADJ
			Whether or not to maintain neighboring 
			or adjacent keyframes with their current values.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_CAPTURE_PARM_LEAD_MAGN
			This value specifies how much influence, as a percentage, 
			neighboring keys have on the captured keyframes.
			Type: double
			Default Value: .15
		FZ_ANIM_CAPTURE_PARM_LEAD_FLAT
			Whether or not to insert keyframe leads that are "flat" meaning 
			they have the same values as their keys.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	6.1.0.0


	See Also
		fz_anim_keyf_capture_opts_get_parm, fz_anim_keyf_capture_opts_set_parm

 ****************************************************************/
typedef enum fz_anim_capture_parm_enum
{
	FZ_ANIM_CAPTURE_PARM_CHANGED_ONLY=0,
	FZ_ANIM_CAPTURE_PARM_ADD_MISSING,
	FZ_ANIM_CAPTURE_PARM_MAINTAIN_ADJ,
	FZ_ANIM_CAPTURE_PARM_LEAD_MAGN,
	FZ_ANIM_CAPTURE_PARM_LEAD_FLAT,
}fz_anim_capture_parm_enum;

/****************************************************************

	fz_anim_keyf_capture_opts_init



	Description
		Initializes the keyframe capture options.

	Parameters
		windex  [Input]
			project window index
		capture_opts  [Input, Result]
			keyframe capture options

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl

	See Also
		fz_anim_node_keyf_capture,fz_anim_keyf_capture_opts_init, 
		fz_anim_keyf_capture_opts_finit,fz_anim_keyf_capture_opts_get_parm, 
		fz_anim_keyf_capture_opts_set_parm, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_keyf_capture_opts_init_func)(
	fzrt_int						windex,
	fz_anim_capture_opts_ptr	*capture_opts
	);
/****************************************************************

	fz_anim_keyf_capture_opts_finit



	Description
		Destroys the memory for the keyframe capture options structure.

	Parameters
		windex  [Input]
			project window index
		capture_opts  [Input]
			keyframe capture options

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl

	See Also
		fz_anim_node_keyf_capture,fz_anim_keyf_capture_opts_init, 
		fz_anim_keyf_capture_opts_finit,fz_anim_keyf_capture_opts_get_parm, 
		fz_anim_keyf_capture_opts_set_parm, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_keyf_capture_opts_finit_func)(
	fzrt_int						windex,
	fz_anim_capture_opts_ptr	*capture_opts
	);


/****************************************************************

	fz_anim_keyf_capture_opts_get_parm



	Description
		Gets a parameter of the keyframe capture options.

	Parameters
		windex  [Input]
			project window index
		capture_opts  [Input]
			keyframe capture options
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl

	See Also
		fz_anim_node_keyf_capture,fz_anim_keyf_capture_opts_init, 
		fz_anim_keyf_capture_opts_finit,fz_anim_keyf_capture_opts_get_parm, 
		fz_anim_keyf_capture_opts_set_parm, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_keyf_capture_opts_get_parm_func)(
	fzrt_int						windex,
	fz_anim_capture_opts_ptr	capture_opts,
	fz_anim_capture_parm_enum	parm_id,
	fz_type_td					*data
	);

/****************************************************************

	fz_anim_keyf_capture_opts_set_parm



	Description
		Sets a parameter of the keyframe capture options.

	Parameters
		windex  [Input]
			project window index
		capture_opts  [Input]
			keyframe capture options
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl

	See Also
		fz_anim_node_keyf_capture,fz_anim_keyf_capture_opts_init, 
		fz_anim_keyf_capture_opts_finit,fz_anim_keyf_capture_opts_get_parm, 
		fz_anim_keyf_capture_opts_set_parm, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_keyf_capture_opts_set_parm_func)(
	fzrt_int						windex,
	fz_anim_capture_opts_ptr	capture_opts,
	fz_anim_capture_parm_enum	parm_id,
	fz_type_td					*data
	);


/****************************************************************

	fz_anim_node_trac_is_compatible



	Description
		This function returns whether the given track type is compatible for a given animation node. 
		The animation node may be an entity, track, or controller node.

		If a track type is compatible with an animation node, a track of this type can be added 
		to the node and is supported by the node.

		Sometimes two different tracks may be supported by the same entity, but not compatible 
		at the same time.  For example, a view entity supports FZ_TRAC_TYPE_POS_X and FZ_TRAC_TYPE_EYE_X, 
		however, cannot have both applied at the same time, since they both animate the same data, 
		the view's eye position.  They are used in different circumstances.  The FZ_TRAC_TYPE_POS_X 
		also controls the view's COI point, whereas the FZ_TRAC_TYPE_EYE_X controls only its eye point.

		The trac_id identifies the type of track 
		node that is to be added as a child to the given anim_node.  Some track types 
		are defined already (for example, FZ_TRAC_TYPE_POS_X).

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node (entity, track, or controller node)
		trac_id  [Input]
			the track type to test for compatibility
		is_compatible  [Result]
			whether or not the given track type is compatible with the 
			given anim node.

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_trac_is_compatible_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fzrt_UUID_td			trac_id,
	fzrt_boolean			*is_compatible
	);


/****************************************************************

	fz_anim_node_add_trac



	Description
		Adds a new track of the given track type to an animation node. 
		If the track is not compatible, it will not be added.

		To get a complete list of track types supported by the animation node anim_node, 
		see the fz_anim_node_get_trac_list function.  The trac_id identifies the type of track 
		node that is to be added as a child to the given anim_node.  Some track types 
		are defined already (for example, FZ_TRAC_TYPE_POS_X).

		Other ways of setting keyframes include: fz_anim_node_add_tracs, 
		fz_anim_node_keyf_capture, fz_anim_cntl_bezier_key_insert.

		Path tracks should be added through the fz_anim_node_add_path_trac function 
		since special options may apply as well as the fact that path tracks require 
		a path object to follow.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		trac_id  [Input]
			track type of new track
		add_key  [Input]
			whether or not to add a key with the current value
		trac_node  [Result, Optional]
			new track node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_add_trac_func)(
	fzrt_int				windex,
	fz_anim_node_ptr	anim_node,
	fzrt_UUID_td		trac_id,
	fzrt_boolean		add_key,
	fz_anim_node_ptr	*trac_node
	);
	
/****************************************************************

	fz_anim_add_type_enum


	Description
		Identifiers for what tracks to add to an animation node.

	Members
		FZ_ANIM_ADD_TYPE_ALL
			Add all tracks
		FZ_ANIM_ADD_TYPE_DEFAULT
			Add default tracks only
		FZ_ANIM_ADD_TYPE_TFORM
			Add tracks that affect the entity's position and orientation only
		FZ_ANIM_ADD_TYPE_ATTR
			Add attribute tracks only; those attribute tracks that apply to this specific node
		FZ_ANIM_ADD_TYPE_SPECIAL
			Add type-specific tracks only; those tracks that apply to this specific node's type

	Availability	6.1.0.0


	See Also
		fz_anim_node_add_tracs

 ****************************************************************/
typedef enum fz_anim_add_type_enum
{
	FZ_ANIM_ADD_TYPE_ALL=0,
	FZ_ANIM_ADD_TYPE_DEFAULT,
	FZ_ANIM_ADD_TYPE_TFORM,
	FZ_ANIM_ADD_TYPE_ATTR,
	FZ_ANIM_ADD_TYPE_SPECIAL,
}fz_anim_add_type_enum;

/****************************************************************

	fz_anim_node_add_tracs



	Description
		Adds a set of tracks to an animation node with keyframe values at the current time. 
		This captures the state of all the tracks that do not already exist that are 
		currently being added.  This is usually used for situations in which you want to 
		capture for the first time a set of tracks at the current time.

		To get a complete list of track types supported by the animation node anim_node, 
		see the fz_anim_node_get_trac_list function.

		Other ways of setting keyframes include: fz_anim_node_add_trac, 
		fz_anim_node_keyf_capture, fz_anim_cntl_bezier_key_insert.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node
		add_type  [Input]
			track type of new track

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_capture.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_node_set.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_add_tracs_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_add_type_enum	add_type
	);
	

/****************************************************************

	fz_anim_path_opts_ptr


	Description
		Path Options for a animation path track, governing how an entity animates along a path.

	Availability	6.1.0.0

 ****************************************************************/
typedef struct fz_anim_path_opts_td	*fz_anim_path_opts_ptr;


/****************************************************************

	fz_anim_axis_enum


	Description
		Identifiers for axes used by animation.

	Members
		FZ_ANIM_AXIS_X_POS
			Positive X axis
		FZ_ANIM_AXIS_X_NEG
			Negative X axis
		FZ_ANIM_AXIS_Y_POS
			Positive Y axis
		FZ_ANIM_AXIS_Y_NEG
			Negative Y axis
		FZ_ANIM_AXIS_Z_POS
			Positive Z axis
		FZ_ANIM_AXIS_Z_NEG
			Negative Z axis

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_enum

 ****************************************************************/
typedef enum fz_anim_axis_enum
{
	FZ_ANIM_AXIS_X_POS=0,
	FZ_ANIM_AXIS_X_NEG,
	FZ_ANIM_AXIS_Y_POS,
	FZ_ANIM_AXIS_Y_NEG,
	FZ_ANIM_AXIS_Z_POS,
	FZ_ANIM_AXIS_Z_NEG,
}fz_anim_axis_enum;
/****************************************************************

	fz_anim_path_follower_enum


	Description
		Identifiers for how the entity follows the path.  Each type of entity may have a different point of it 
		that follows the path.  For example, the FZ_ANIM_PATH_FOLLOWER_POS identifier indicates that an object's 
		centroid follows the path, and that the whole object moves correspondingly.  With this identifier, all 
		entities can follow the path as one single unit.  Furthermore, following the path as a single unit means 
		the entity can be automatically oriented or aligned tangently to the path as it follows it, so if this 
		is desired, this follower identifier should be used.

		The other identifiers apply to entities that have two or more points that can be animated 
		along different paths at the same time.  The FZ_ANIM_PATH_FOLLOWER_EYE identifier indicates that the 
		entity's eye or origin point (like views and lights) should be animated along a path. 
		FZ_ANIM_PATH_FOLLOWER_COI is used for views and lights to identify that their Center of Interests 
		should be animated along a path.  FZ_ANIM_PATH_FOLLOWER_PART is used to identify a part of an object 
		that should be used to animate along a path.  Once an entity is animated along a path, the 
		follower type cannot change for the newly created path track.  However, as implied, some entities can 
		have different points animated along different paths simultaneously (like a view's eye and coi). 
		This would be set up through two different fz_anim_node_add_path_trac calls.

	Members
		FZ_ANIM_PATH_FOLLOWER_POS
			Entity is animated along a path through its centroid with 
			the option to be aligned along the path.
		FZ_ANIM_PATH_FOLLOWER_EYE
			Entity's eye or origin point is animated along a path.
		FZ_ANIM_PATH_FOLLOWER_COI
			Entity's coi (Center of Interest) point is animated along a path.
		FZ_ANIM_PATH_FOLLOWER_PART
			Entity's part is animated along a path.

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_enum

 ****************************************************************/
typedef enum fz_anim_path_follower_enum
{
	FZ_ANIM_PATH_FOLLOWER_POS=0,
	FZ_ANIM_PATH_FOLLOWER_EYE,
	FZ_ANIM_PATH_FOLLOWER_COI,
	FZ_ANIM_PATH_FOLLOWER_PART
}fz_anim_path_follower_enum;

/****************************************************************

	fz_anim_path_multi_bits_enum


	Description
		Bits for which separate path tracks to include when animating along a path for the 
		FZ_ANIM_PATH_OPTS_MULTI path options parameter. 
		To set a variable with a bit, see FZ_SETBIT, FZ_CLRBIT, FZ_CHKBIT. 
		Alternatively, the constants in fz_anim_path_multi_enum could be used.

	Members
		FZ_ANIM_PATH_SEPARATE_X_BIT
			bit for separate path track for x value
		FZ_ANIM_PATH_SEPARATE_Y_BIT
			bit for separate path track for y value
		FZ_ANIM_PATH_SEPARATE_Z_BIT
			bit for separate path track for z value

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_ptr,fz_anim_path_multi_enum, 

 ****************************************************************/
typedef enum fz_anim_path_multi_bits_enum
{
	FZ_ANIM_PATH_SEPARATE_X_BIT=0,
	FZ_ANIM_PATH_SEPARATE_Y_BIT,
	FZ_ANIM_PATH_SEPARATE_Z_BIT,
}fz_anim_path_multi_bits_enum;

/****************************************************************

	fz_anim_path_multi_enum


	Description
		Identifiers for which separate path tracks to include when animating along a path for the 
		FZ_ANIM_PATH_OPTS_MULTI path options parameter.

	Members
		FZ_ANIM_PATH_SEPARATE_X
			separate path track for x value
		FZ_ANIM_PATH_SEPARATE_Y
			separate path track for y value
		FZ_ANIM_PATH_SEPARATE_Z
			separate path track for z value

	Availability	6.1.0.0

	Plugin Example
		To specify more than one, OR together the identifiers:

		flags = FZ_ANIM_PATH_SEPARATE_X | FZ_ANIM_PATH_SEPARATE_Y;

	See Also
		fz_anim_path_opts_ptr,fz_anim_path_multi_bits_enum, 

 ****************************************************************/
typedef enum fz_anim_path_multi_enum
{
	FZ_ANIM_PATH_SEPARATE_X=(1<<FZ_ANIM_PATH_SEPARATE_X_BIT),
	FZ_ANIM_PATH_SEPARATE_Y=(1<<FZ_ANIM_PATH_SEPARATE_Y_BIT),
	FZ_ANIM_PATH_SEPARATE_Z=(1<<FZ_ANIM_PATH_SEPARATE_Z_BIT),
}fz_anim_path_multi_enum;


/****************************************************************

	fz_anim_path_opts_enum


	Description
		Identifiers for animate along path options.  Certain options apply only to certain path types. 
		For example, banking can only apply if the path object is itself a smooth curve.  Alignment 
		does not apply if the path object is not a curve.

	Members
		FZ_ANIM_PATH_OPTS_ALIGN
			Whether or not to align entity along the path
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PATH_OPTS_ALIGN_TANG_AXIS
			Axis of entity that is to be tangent to path direction. 
			(Only two axes need to be specified).
			Type: fz_anim_axis_enum
			Default Value: FZ_ANIM_AXIS_X_POS
		FZ_ANIM_PATH_OPTS_ALIGN_SEC_AXIS
			Axis of entity that is to be aligned leftward. 
			(Only two axes need to be specified).
			Type: fz_anim_axis_enum
			Default Value: FZ_ANIM_AXIS_Y_POS
		FZ_ANIM_PATH_OPTS_ALIGN_UP_AXIS
			Axis of entity that is to be aligned upward. 
			(Only two axes need to be specified).
			Type: fz_anim_axis_enum
			Default Value: FZ_ANIM_AXIS_Z_POS
		FZ_ANIM_PATH_OPTS_ALIGN_ON_TOP
			If TRUE, the entity's up direction tries to stay upward 
			in relation to the path object's coordinate system's up direction. 
			If FALSE, the entity's up direction tries to stay towards 
			the curvature vector's direction at each point along the path object. 
			This only applies to path objects that have curvature (smooth splines).
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PATH_OPTS_ALIGN_BANK
			Whether or not to add a Bank track to the path track by default. 
			This only applies to path objects that have curvature (smooth splines). 
			Construction only.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_ANIM_PATH_OPTS_SINGLE
			If not aligned, whether or not to create a single path track, 
			or three separate path tracks (one for each direction). 
			Construction only.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_PATH_OPTS_MULTI
			If FZ_ANIM_PATH_OPTS_SINGLE is FALSE, these flags determine which separate path 
			tracks to use, in x, y, and/or z. 
			Construction only.
			Type: fzrt_int (see fz_anim_path_multi_enum, fz_anim_path_multi_bits_enum)
			Default Value: FZ_ANIM_PATH_SEPARATE_X | FZ_ANIM_PATH_SEPARATE_Y| FZ_ANIM_PATH_SEPARATE_Z
		FZ_ANIM_PATH_OPTS_START_TIME
			When in time entity is at the beginning of the path.  To edit the 
			keyframes after the path has been created, see the Bezier keyframe functions. 
			Construction only.
			Type: double
			Default Value: Animation Start Time
		FZ_ANIM_PATH_OPTS_END_TIME
			When in time entity is at the end of the path.  To edit the 
			keyframes after the path has been created, see the Bezier keyframe functions. 
			Construction only.
			Type: double
			Default Value: Animation End Time
		FZ_ANIM_PATH_OPTS_FOLLOW
			How the entity follows the path. 
			Construction only.
			Type: fz_anim_path_follower_enum
			Default Value: FZ_ANIM_PATH_FOLLOWER_POS
		FZ_ANIM_PATH_OPTS_PART_KIND
			For object entities with parts along a path (FZ_ANIM_PATH_FOLLOWER_PART), this 
			parameter identifies what kind of part to animate along the path. 
			Construction only.
			Type: fz_anim_objt_part_enum
			Default Value: FZ_ANIM_OBJT_PART_PNT
			Range: FZ_ANIM_OBJT_PART_PNT
		FZ_ANIM_PATH_OPTS_PART_INDX
			For object entities with parts along a path (FZ_ANIM_PATH_FOLLOWER_PART), this 
			parameter identifies the index of the part to animate along the path. 
			Construction only.
			Type: fzrt_int
			Default Value: 0
		FZ_ANIM_PATH_OPTS_OBJ
			The object that the path track references so that the entity follows. 
			Once a path track has been created, the path object can be changed 
			through this parameter.  Certain path options may change, because 
			not all objects support all path options.
			Type: fz_objt_ptr

	Availability	6.1.0.0


	See Also
		fz_anim_path_opts_ptr, fz_anim_path_opts_get_parm, fz_anim_path_opts_set_parm, fz_anim_trac_path_get_parm,  
		fz_anim_trac_path_set_parm

 ****************************************************************/
typedef enum fz_anim_path_opts_enum
{
	FZ_ANIM_PATH_OPTS_ALIGN=0,
	FZ_ANIM_PATH_OPTS_ALIGN_TANG_AXIS,
	FZ_ANIM_PATH_OPTS_ALIGN_SEC_AXIS,
	FZ_ANIM_PATH_OPTS_ALIGN_UP_AXIS,
	FZ_ANIM_PATH_OPTS_ALIGN_ON_TOP,
	FZ_ANIM_PATH_OPTS_ALIGN_BANK,
	FZ_ANIM_PATH_OPTS_SINGLE,
	FZ_ANIM_PATH_OPTS_MULTI,
	FZ_ANIM_PATH_OPTS_START_TIME,
	FZ_ANIM_PATH_OPTS_END_TIME,
	FZ_ANIM_PATH_OPTS_FOLLOW,
	FZ_ANIM_PATH_OPTS_PART_KIND,
	FZ_ANIM_PATH_OPTS_PART_INDX,
	FZ_ANIM_PATH_OPTS_OBJ,
}fz_anim_path_opts_enum;


/****************************************************************

	fz_anim_path_opts_init



	Description
		Initializes the path options structure.

	Parameters
		windex  [Input]
			project window index
		path_opts  [Result]
			path options

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_path_opts_init_func)(
	fzrt_int					windex,
	fz_anim_path_opts_ptr	*path_opts
	);

/****************************************************************

	fz_anim_path_opts_finit



	Description
		Destroys the memory for the path options structure.

	Parameters
		windex  [Input]
			project window index
		path_opts  [Input]
			path options

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_path_opts_finit_func)(
	fzrt_int					windex,
	fz_anim_path_opts_ptr	*path_opts
	);



/****************************************************************

	fz_anim_path_opts_get_parm



	Description
		Gets the parameter indicated by the parameter index of the animate along path options.

	Parameters
		windex  [Input]
			project window index
		path_opts  [Input]
			path options
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_path_opts_get_parm_func)(
	fzrt_int					windex,
	fz_anim_path_opts_ptr	path_opts,
	fz_anim_path_opts_enum	parm_id,
	fz_type_td				*data
	);


/****************************************************************

	fz_anim_path_opts_set_parm



	Description
		Sets the parameter indicated by the parameter index of the animate along path options.

	Parameters
		windex  [Input]
			project window index
		path_opts  [Input]
			path options
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_path_opts_set_parm_func)(
	fzrt_int					windex,
	fz_anim_path_opts_ptr	path_opts,
	fz_anim_path_opts_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_trac_path_get_parm



	Description
		Gets the parameter indicated by the parameter index of the given animation path track. 
		Certain parameters cannot be retrieved, because they are used for construction only.

	Parameters
		windex  [Input]
			project window index
		path_trac  [Input]
			path track node
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_path_get_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		path_trac,
	fz_anim_path_opts_enum	parm_id,
	fz_type_td				*data
	);


/****************************************************************

	fz_anim_trac_path_set_parm



	Description
		Sets the parameter indicated by the parameter index of the given animation path track. 
		Certain parameters cannot be changed, because they are used for construction only.

	Parameters
		windex  [Input]
			project window index
		path_trac  [Input]
			path track node
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_path_set_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		path_trac,
	fz_anim_path_opts_enum	parm_id,
	fz_type_td				*data
	);
/****************************************************************

	fz_anim_colr_type_enum


	Description
		Identifiers for animation color types for color tracks.

	Members
		FZ_ANIM_COLR_TYPE_RGB
			Color defined in red, green, blue components
		FZ_ANIM_COLR_TYPE_HSL
			Color defined in hue, saturation, lightness components

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_colr_type_enum
{
	FZ_ANIM_COLR_TYPE_RGB=0,
	FZ_ANIM_COLR_TYPE_HSL,
}fz_anim_colr_type_enum;


/****************************************************************

	fz_anim_colr_opts_enum


	Description
		Identifiers for color track options.

	Members
		FZ_ANIM_COLR_OPTS_TYPE
			This determines how the color is defined, 
			or rather, in which color space.
			Type: fz_anim_colr_type_enum
			Default Value: FZ_ANIM_COLR_TYPE_RGB
		FZ_ANIM_COLR_OPTS_SINGLE
			If TRUE, the track's color is determined by 
			an interpolated color using a list of colors. 
			If FALSE, the track's color is determined by 
			3 children tracks, each representing a 
			color component. e.g. FZ_TRAC_TYPE_COLR_RED.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_ANIM_COLR_OPTS_NUM_COLORS
			Number of colors in the list of colors 
			if FZ_ANIM_COLR_OPTS_SINGLE is TRUE.
			Type: fzrt_int
			Default Value: 0
		FZ_ANIM_COLR_OPTS_COLOR_I
			The ith color in the list of colors 
			if FZ_ANIM_COLR_OPTS_SINGLE is TRUE. 
			The index of this color is specified by a parameter 
			to fz_anim_trac_colr_get_parm and fz_anim_trac_colr_set_parm.
			Type: fz_rgb_float_td
		FZ_ANIM_COLR_OPTS_COLOR_CUR_TIME
			The color of the track in red, green, blue components 
			at the current time.
			Type: fz_rgb_float_td

	Availability	6.1.0.0


	See Also
		fz_anim_trac_colr_get_parm, fz_anim_trac_colr_set_parm

 ****************************************************************/
typedef enum fz_anim_colr_opts_enum
{
	FZ_ANIM_COLR_OPTS_TYPE=0,
	FZ_ANIM_COLR_OPTS_SINGLE,
	FZ_ANIM_COLR_OPTS_NUM_COLORS,
	FZ_ANIM_COLR_OPTS_COLOR_I,
	FZ_ANIM_COLR_OPTS_COLOR_CUR_TIME,
}fz_anim_colr_opts_enum;

/****************************************************************

	fz_anim_trac_colr_get_parm



	Description
		Gets the parameter indicated by the parameter index of the given animation color track. 
		A color track can represent its color in two ways, by a single list of colors, or by 
		3 separate children tracks of each color component. 
		The ith_color parameter is useful only if the color track is set for a single list of colors; 
		this identifies which color in the list is used, otherwise it is ignored.

	Parameters
		windex  [Input]
			project window index
		colr_trac  [Input]
			color track node
		ith_color  [Input]
			the index of the color to access in the colors list (if applicable)
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_colr_get_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		colr_trac,
	fzrt_int					ith_color,
	fz_anim_colr_opts_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_trac_colr_set_parm



	Description
		Sets the parameter indicated by the parameter index of the given animation color track. 
		A color track can represent its color in two ways, by a single list of colors, or by 
		3 separate children tracks of each color component. 
		The ith_color parameter is useful only if the color track is set for a single list of colors; 
		this identifies which color in the list is used, otherwise it is ignored.

	Parameters
		windex  [Input]
			project window index
		colr_trac  [Input]
			color track node
		ith_color  [Input]
			the index of the color to access in the colors list (if applicable)
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_colr_set_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		colr_trac,
	fzrt_int					ith_color,
	fz_anim_colr_opts_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_trac_colr_insert



	Description
		Inserts a color into the list of colors of the color track. 
		A color track can represent its color in two ways, by a single list of colors, or by 
		3 separate children tracks of each color component.  This function is useful 
		only if the color track is set for a single list of colors.

	Parameters
		windex  [Input]
			project window index
		colr_trac  [Input]
			color track node
		index  [Input]
			index of inserted color, -1 inserts at the end of list.
		rgb_color  [Input]
			color

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_colr_insert_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		colr_trac,
	fzrt_int					index,
	fz_rgb_float_td			*rgb_color
	);

/****************************************************************

	fz_anim_trac_colr_remove



	Description
		Removes a color from the list of colors of the color track. 
		A color track can represent its color in two ways, by a single list of colors, or by 
		3 separate children tracks of each color component.  This function is useful 
		only if the color track is set for a single list of colors.

	Parameters
		windex  [Input]
			project window index
		colr_trac  [Input]
			color track node
		index  [Input]
			index of color to remove

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_test_color.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_trac_colr_remove_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		colr_trac,
	fzrt_int					index
	);


/****************************************************************

	fz_anim_node_add_path_trac



	Description
		Adds a new path track to an animation entity's tracks.  The path options can be 
		set up beforehand if the defaults are not adequate.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated entity to animate along path
		objt  [Input]
			Object to use for the path.  Depending on the object, 
			a different path type will be created, and different 
			options apply.  A smooth spline can use the align option, 
			but facetted, and point object paths will ignore alignment.
		path_opts  [Input, Optional]
			path options
		trac_node  [Result, Optional]
			new path track node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_animate_enty.fsl
		../../../../Scripts/Samples/Utilities/util_anim_test_path_opts.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_add_path_trac_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_objt_ptr				objt,
	fz_anim_path_opts_ptr	path_opts,
	fz_anim_node_ptr		*trac_node
	);

/****************************************************************

	fz_anim_node_add_cntl



	Description
		Adds a new controller of the given controller type to an animation node's controller list.

		cntl_id should be one of the controller types (for example, FZ_ANIM_CNTL_SINE).

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animation node (must be a track node)
		cntl_id  [Input]
			controller type of new controller
		add_default_key  [Input]
			whether or not to add a key with the default value
		cntl_node  [Result]
			new controller node

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_cntl.fsl
		../../../../Scripts/Samples/Utilities/util_anim_eval_value.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_node_add_cntl_func)(
	fzrt_int				windex,
	fz_anim_node_ptr	anim_node,
	fzrt_UUID_td		cntl_id,
	fzrt_boolean		add_default_key,
	fz_anim_node_ptr	*cntl_node
	);


/****************************************************************

	fz_anim_enty_parent_2_world



	Description
		Converts a point with coordinates defined by an animated entity's coordinate system to 
		coordinates in world space.  Note that parent entity nodes define the coordinate system 
		for their children entity nodes.  So, pass in the parent node for anim_node.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated entity defining a coordinate system
		parent_xyz  [Input]
			input point in parent space coordinates
		world_xyz  [Result]
			output point in world space coordinates

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl

	See Also
		fz_anim_enty_world_2_parent, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_enty_parent_2_world_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_xyz_td				*parent_xyz,
	fz_xyz_td				*world_xyz
	);
/****************************************************************

	fz_anim_enty_world_2_parent



	Description
		Converts a point with coordinates defined by coordinates in world space to 
		coordinates in an animated entity's coordinate system.  Note that parent entity nodes 
		define the coordinate system for their children entity nodes.  So, pass in the parent 
		node for anim_node.

		Points retrieved from entities through API functions are usually defined in 
		world space.  To figure out what that coordinate translates into in the entity's parent 
		space coordinates, use this function.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated entity defining a coordinate system
		world_xyz  [Input]
			input point in world space coordinates
		parent_xyz  [Result]
			output point in parent space coordinates

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl

	See Also
		fz_anim_enty_parent_2_world, 

 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_enty_world_2_parent_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_xyz_td				*world_xyz,
	fz_xyz_td				*parent_xyz
	);


/****************************************************************

	FZ_DFRM_METH_SHEAR

	Description
		Shear Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_SHEAR			"\x59\xab\x61\x32\xef\x6c\x4a\x60\x99\x40\xc7\x84\x9b\xf8\x4b\xce"
/****************************************************************

	FZ_DFRM_METH_TAPER

	Description
		Taper Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_TAPER			"\xb9\x31\x3c\x72\x04\x88\x4a\xc1\x88\xb2\x3e\x1e\x81\x28\x18\xed"
/****************************************************************

	FZ_DFRM_METH_TWIST

	Description
		Twist Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_TWIST			"\x75\x11\xa6\xb4\x2b\x89\x40\x6a\x8e\x97\x4f\xca\x29\x5b\x74\xf3"
/****************************************************************

	FZ_DFRM_METH_BULGE

	Description
		Bulge Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_BULGE			"\xd4\xfb\x38\xf9\xf3\x85\x4f\x05\x8c\x6c\x50\x1c\xeb\x02\xe2\x12"
/****************************************************************

	FZ_DFRM_METH_RSHEAR

	Description
		Radial Shear Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_RSHEAR			"\x6a\x59\xb6\xb9\x38\xc6\x43\x89\x96\xed\xa3\x0f\xf6\x48\x80\x0c"
/****************************************************************

	FZ_DFRM_METH_BEND

	Description
		Radial Bend Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_BEND			"\xfa\x34\x0f\x92\x73\x6e\x45\x0a\x92\xc2\x9a\xd3\xba\x8a\x8d\x5d"
/****************************************************************

	FZ_DFRM_METH_BEZIER

	Description
		Bezier Bend Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_BEZIER			"\x89\xd0\xa8\xbf\xcb\x18\x4c\x59\x8c\x26\xa6\xc3\xf4\x2a\x12\xf7"
/****************************************************************

	FZ_DFRM_METH_LWAVE

	Description
		Linear Wave Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_LWAVE			"\xc7\x3d\xbd\x33\xd3\x44\x44\x70\x9c\x78\x23\x93\x1e\x7d\x09\x0c"
/****************************************************************

	FZ_DFRM_METH_CWAVE

	Description
		Circular Wave Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_CWAVE			"\xc1\xc0\x7f\x3f\xf6\xd8\x43\xaa\x9a\x73\x28\xf8\x2d\xbe\xf7\xf4"
/****************************************************************

	FZ_DFRM_METH_PDISB

	Description
		Disturb Points Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_PDISB			"\x0c\x29\x1e\x16\x9d\xad\x46\xd4\xaf\xce\xf2\x85\x87\xd8\xec\x77"
/****************************************************************

	FZ_DFRM_METH_NDISB

	Description
		Disturb Points Normals Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_NDISB			"\x6a\x89\xf3\x80\x09\x6b\x4f\xbd\x9a\x24\xba\xea\x37\x00\x6c\x4c"
/****************************************************************

	FZ_DFRM_METH_SPRED

	Description
		Spread Deformation UUID

	Availability	6.1.0.0

 ****************************************************************/
										
#define FZ_DFRM_METH_SPRED			"\x36\xba\xcd\x18\x44\xc3\x4a\x6f\xb4\x7b\x31\x8d\x1b\xd1\xe9\x6a"



/****************************************************************

	fz_anim_dfrm_parm_enum


	Description
		Identifiers for a animated deformation's parameters.

	Members
		FZ_ANIM_DFRM_PARM_STYLE
			Deformation's style method type uuid.
			Type: fzrt_UUID_td
		FZ_ANIM_DFRM_PARM_HAS_CAGE
			Whether or not Deformation has a cage of influence or not. 
			A deformation with a cage deforms its children entities 
			within a single boundary cage, instead of each child entity 
			locally.
			Type: fzrt_boolean
		FZ_ANIM_DFRM_PARM_CAGE_MIN
			If the Deformation has a cage, these are the minimum x,y,z coordinates of it.
			Type: fz_xyz_td
		FZ_ANIM_DFRM_PARM_CAGE_MAX
			If the Deformation has a cage, these are the maximum x,y,z coordinates of it.
			Type: fz_xyz_td

	Availability	6.1.0.0


	See Also
		fz_anim_dfrm_set_parm

 ****************************************************************/
typedef enum fz_anim_dfrm_parm_enum
{
	FZ_ANIM_DFRM_PARM_STYLE=0,
	FZ_ANIM_DFRM_PARM_HAS_CAGE,
	FZ_ANIM_DFRM_PARM_CAGE_MIN,
	FZ_ANIM_DFRM_PARM_CAGE_MAX,
}fz_anim_dfrm_parm_enum;

/****************************************************************

	fz_anim_dfrm_get_parm



	Description
		Gets the parameter of the animated deformation style.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated deformation node
		parm_id  [Input]
			the index of the parameter to retrieve
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_dfrm_get_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_dfrm_parm_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_dfrm_set_parm



	Description
		Sets the parameter of the animated deformation style.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated deformation node
		parm_id  [Input]
			the index of the parameter to set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_dfrm_set_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fz_anim_dfrm_parm_enum	parm_id,
	fz_type_td				*data
	);



/****************************************************************

	fz_anim_tform_parm_enum


	Description
		Identifiers for a transformable animated entity's parameters concerning their position and orientation.

	Members
		FZ_ANIM_TFORM_PARM_ORIGIN
			Animated entity's origin point
			Type: fz_xyz_td
		FZ_ANIM_TFORM_PARM_X_AXIS
			Animated entity's normalized x axis. 
			Read only.
			Type: fz_xyz_td
		FZ_ANIM_TFORM_PARM_Y_AXIS
			Animated entity's normalized y axis. 
			Read only.
			Type: fz_xyz_td
		FZ_ANIM_TFORM_PARM_Z_AXIS
			Animated entity's normalized z axis. 
			Read only.
			Type: fz_xyz_td
		FZ_ANIM_TFORM_PARM_ROT
			Animated entity's rotation values of its axes.
			Type: fz_xyz_td
		FZ_ANIM_TFORM_PARM_MAP_PLANE
			Animated entity's coordinate system map plane.
			Type: fz_map_plane_td

	Availability	6.1.0.0

 ****************************************************************/
typedef enum fz_anim_tform_parm_enum
{
	FZ_ANIM_TFORM_PARM_ORIGIN=0,
	FZ_ANIM_TFORM_PARM_X_AXIS,
	FZ_ANIM_TFORM_PARM_Y_AXIS,
	FZ_ANIM_TFORM_PARM_Z_AXIS,
	FZ_ANIM_TFORM_PARM_ROT,
	FZ_ANIM_TFORM_PARM_MAP_PLANE,
}fz_anim_tform_parm_enum;

/****************************************************************

	fz_anim_enty_tform_get_parm



	Description
		Gets a parameter of a transformable animation entity.  The coordinates can be for 
		the entity's parent space or for world space.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated entity
		parent_space  [Input]
			coordinates are returned in parent space
		parm_id  [Input]
			index of parameter to be retrieved
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_enty_tform_get_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fzrt_boolean			parent_space,
	fz_anim_tform_parm_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_enty_tform_set_parm



	Description
		Sets a parameter of a transformable animation entity.  The coordinates can be for 
		the entity's parent space or for world space.

	Parameters
		windex  [Input]
			project window index
		anim_node  [Input]
			animated entity
		parent_space  [Input]
			coordinates are defined in parent space
		parm_id  [Input]
			index of parameter to be set
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	6.1.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_anim_change_grup.fsl
		../../../../Scripts/Samples/Utilities/util_anim_dfrm.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_anim_enty_tform_set_parm_func)(
	fzrt_int					windex,
	fz_anim_node_ptr		anim_node,
	fzrt_boolean			parent_space,
	fz_anim_tform_parm_enum	parm_id,
	fz_type_td				*data
	);

/****************************************************************

	fz_anim_fset


	FZ_ANIM_FSET_TYPE
		formZ Animation function set id.

	FZ_ANIM_FSET_NAME
		formZ Animation function set name.

	FZ_ANIM_FSET_VERSION
		formZ Animation function set version.

	Description
		formZ Animation Function Set

	Availability	6.1.0.0

 ****************************************************************/

#define FZ_ANIM_FSET_TYPE			"\xf7\x4c\x0b\x8e\xfe\xe8\x11\xd9\xa9\x27\x00\x30\x65\xd2\xb5\xb2"
#define FZ_ANIM_FSET_NAME			"FormZ Animation Functions"
#define FZ_ANIM_FSET_VERSION			FZPL_VERS_MAKE(6,0,0,0)


typedef struct fz_anim_fset
{
	fzpl_fset_prvt_data_td					prvt_data;
	
	
	fz_anim_opts_get_parm_func				fz_anim_opts_get_parm;
	fz_anim_opts_set_parm_func				fz_anim_opts_set_parm;
	

	
	

	
	fz_anim_rgst_trac_count_func			fz_anim_rgst_trac_count;
	fz_anim_rgst_trac_indx_2_uuid_func		fz_anim_rgst_trac_indx_2_uuid;
	fz_anim_rgst_trac_get_parm_func			fz_anim_rgst_trac_get_parm;
	fz_anim_rgst_trac_set_parm_func			fz_anim_rgst_trac_set_parm;
	

	
	
	
	fz_anim_animate_grup_func				fz_anim_animate_grup;
	fz_anim_animate_objt_func				fz_anim_animate_objt;
	fz_anim_animate_objt_part_func			fz_anim_animate_objt_part;
	fz_anim_animate_view_func				fz_anim_animate_view;
	fz_anim_animate_lite_func				fz_anim_animate_lite;
	fz_anim_animate_surf_style_func			fz_anim_animate_surf_style;
	fz_anim_animate_dfrm_func				fz_anim_animate_dfrm;
	

	
	fz_anim_enty_tform_get_parm_func		fz_anim_enty_tform_get_parm;
	fz_anim_enty_tform_set_parm_func		fz_anim_enty_tform_set_parm;
	
	fz_anim_enty_world_2_parent_func		fz_anim_enty_world_2_parent;
	fz_anim_enty_parent_2_world_func		fz_anim_enty_parent_2_world;
	
	
	fz_anim_dfrm_get_parm_func				fz_anim_dfrm_get_parm;
	fz_anim_dfrm_set_parm_func				fz_anim_dfrm_set_parm;
	
	
	
	
	

	
	
	
	fz_anim_node_add_trac_func				fz_anim_node_add_trac;
	fz_anim_node_add_tracs_func				fz_anim_node_add_tracs;

	
	fz_anim_node_add_path_trac_func			fz_anim_node_add_path_trac;
	
	
	fz_anim_path_opts_init_func				fz_anim_path_opts_init;
	fz_anim_path_opts_finit_func			fz_anim_path_opts_finit;
	fz_anim_path_opts_get_parm_func			fz_anim_path_opts_get_parm;
	fz_anim_path_opts_set_parm_func			fz_anim_path_opts_set_parm;
	
	fz_anim_trac_path_get_parm_func			fz_anim_trac_path_get_parm;
	fz_anim_trac_path_set_parm_func			fz_anim_trac_path_set_parm;
	
	fz_anim_trac_colr_get_parm_func			fz_anim_trac_colr_get_parm;
	fz_anim_trac_colr_set_parm_func			fz_anim_trac_colr_set_parm;
	fz_anim_trac_colr_insert_func			fz_anim_trac_colr_insert;
	fz_anim_trac_colr_remove_func			fz_anim_trac_colr_remove;
	

	
	
	fz_anim_node_add_cntl_func					fz_anim_node_add_cntl;
	
	fz_anim_cntl_bezier_key_insert_func			fz_anim_cntl_bezier_key_insert;
	fz_anim_cntl_bezier_key_delete_func			fz_anim_cntl_bezier_key_delete;
	fz_anim_cntl_bezier_keys_count_func			fz_anim_cntl_bezier_keys_count;
	fz_anim_cntl_bezier_key_get_parm_func		fz_anim_cntl_bezier_key_get_parm;
	fz_anim_cntl_bezier_key_set_parm_func		fz_anim_cntl_bezier_key_set_parm;

	
	fz_anim_cntl_get_parm_func					fz_anim_cntl_get_parm;
	fz_anim_cntl_set_parm_func					fz_anim_cntl_set_parm;
	
	fz_anim_cntl_extrap_get_parm_func			fz_anim_cntl_extrap_get_parm;
	fz_anim_cntl_extrap_set_parm_func			fz_anim_cntl_extrap_set_parm;
	
	
	fz_anim_node_keyf_capture_func				fz_anim_node_keyf_capture;
	fz_anim_keyf_capture_opts_init_func			fz_anim_keyf_capture_opts_init;
	fz_anim_keyf_capture_opts_finit_func		fz_anim_keyf_capture_opts_finit;
	fz_anim_keyf_capture_opts_get_parm_func		fz_anim_keyf_capture_opts_get_parm;
	fz_anim_keyf_capture_opts_set_parm_func		fz_anim_keyf_capture_opts_set_parm;

	
	
	
	fz_anim_node_get_next_func				fz_anim_node_get_next;
	fz_anim_node_get_child_func				fz_anim_node_get_child;
	fz_anim_node_get_parent_func			fz_anim_node_get_parent;
	
	fz_anim_node_find_by_tag_func			fz_anim_node_find_by_tag;
	
	
	fz_anim_node_change_pos_func			fz_anim_node_change_pos;
	
	fz_anim_node_remove_func				fz_anim_node_remove;
	fz_anim_node_remove_all_func			fz_anim_node_remove_all;

	
	fz_anim_node_copy_func					fz_anim_node_copy;

	
	fz_anim_node_get_class_func				fz_anim_node_get_class;
	fz_anim_node_get_uuid_func				fz_anim_node_get_uuid;
	fz_anim_enty_get_enty_tag_func			fz_anim_enty_get_enty_tag;
	
	fz_anim_node_get_trac_list_func			fz_anim_node_get_trac_list;
	fz_anim_node_trac_is_compatible_func	fz_anim_node_trac_is_compatible;
	
	fz_anim_node_get_parm_func				fz_anim_node_get_parm;
	fz_anim_node_set_parm_func				fz_anim_node_set_parm;

	
	fz_anim_eval_value_trac_func			fz_anim_eval_value_trac;
	fz_anim_eval_value_cntl_func			fz_anim_eval_value_cntl;

	

	
	
	
	
	
	

	
	
	
	
	
		
	
	
	
	
	
}  fz_anim_fset;

#ifdef  __cplusplus
}
#endif


#endif
