Appendix B - Header File Overview

Header Files

Header files are found in SDK/include, where SDK is the location of the RAYZ SDK directory. There are essentially two kinds of header file - a defining header, which defines certain types and functions, and a provider, which defines a structure used to provide function definitions to RAYZ. Each structure handles a different aspect of the RAYZ API, and extends the capabilities of the RAYZ API in some way. All provider headers are labeled as such.

All header files are generously commented, and those comments form a second level of documentation which the programmer is encouraged to consult.

A quick overview of these include files and their contents is found in the following table:
RAYZ Structures - A Quick Guide
File Name Description of Contents
CPI.h Main include file - this in turn includes all the other header files
CPI/CPI_Base.h Defines basic info type which describes all other plugin structures
CPI/CPI_CurveID.h Info for curve (parameter) input/output
CPI/CPI_CurveIOProvider.h Structure and function calls for handling curve I/O
CPI/CPI_Device.h Functions for handling file devices
CPI/CPI_DeviceProvider.h Structure for defining the way RAYZ interacts with files.
CPI/CPI_ExpressionProvider.h Structure for defining new user functions for use in parameter expressions, eg cuberoot( f ).
CPI/CPI_FileID.h Utility functions for dealing with File IDs (generic file descriptors)
CPI/CPI_FileImportProvider.h Structure for creating the ability to read other types of node description files into Rayz (for example, to provide the ability to convert Chalice .grail files into .rayz files)
CPI/CPI_FileImporter.h Utility functions for doing file importing and conversion into Rayz
CPI/CPI_FileManagerProvider.h Defines the interface to the file manager plugins, which is the mechanism for finding out about files from other file systems, devices (eg Accom), or asset management systems
CPI/CPI_ImageOpProvider.h Image Ops do the image processing - this defines the structure which presents user Image Ops to RAYZ
CPI/CPI_ImageProvider.h Structure for providing functions to read and write custom image formats
CPI/CPI_InternalOps.h Definitions of parameters which can be used with Rayz internal Image Ops (IMs)
CPI/CPI_LUTProvider.h Providing functions to define and use image LookUp Tables
CPI/CPI_Metadata.h Routines for passing metadata from Nodes to Image Operations. See Appendix D for detailed descriptions of these routines
CPI/CPI_NodeProvider.h Structure for providing functions to handle the interactive aspects of a plugin (the Node)
CPI/CPI_Overlay.h Graphics routines for drawing overlays
CPI/CPI_OverlayProvider.h Structure for allowing the user to interact with overlays
CPI/CPI_Parameters.h Routines for defining and using interactive parameter widgets
CPI/CPI_Preferences.h Routines for dealing with user preferences
CPI/CPI_Register.h Functions for registering various types of plugins
CPI/CPI_ScriptProvider.h Structure for making user plugins available as command-line arguments to rayz_render
CPI/CPI_Types.h Defines RAYZ variable types
CPI/CPI_Util.h Defines RAYZ utility functions for things such as error reporting, memory management, etc


[Previous Page] [Next Page]
[Table of Contents] [Index]

Copyright © 2002 Silicon Grail Inc.
736 Seward Street, Hollywood, CA 90038