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:
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 |