HDK
|
#include "RAY_API.h"
#include <SYS/SYS_Types.h>
#include <GA/GA_Handle.h>
#include <GU/GU_DetailHandle.h>
#include <UT/UT_BoundingBox.h>
#include <UT/UT_String.h>
#include <UT/UT_StringHolder.h>
#include <UT/UT_SharedPtr.h>
#include <UT/UT_IntrusivePtr.h>
Go to the source code of this file.
Classes | |
class | RAY_ProceduralArg |
Parameter definition for arguments to RAY_Procedural. More... | |
class | RAY_ROProceduralGeo |
Reference counted geometry handle for procedurals. More... | |
class | RAY_ProceduralGeo |
struct | RAY_PrimitiveMaterialAttributes |
class | RAY_ProceduralChild |
Class representing a child object of the current procedural. More... | |
class | RAY_Procedural |
Procedural primitive for mantra (RAY) More... | |
Typedefs | |
typedef void * | RAY_Handle |
Aliases for different handle types. More... | |
typedef void * | RAY_ObjectHandle |
A handle for objects. Can also be used anywhere a RAY_Handle is expected. More... | |
typedef void * | RAY_MaterialHandle |
A handle for materials. Can also be used anywhere a RAY_Handle is expected. More... | |
typedef void * | RAY_LightHandle |
A handle for lights. Can also be used anywhere a RAY_Handle is expected. More... | |
using | RAY_ProceduralChildPtr = UT_IntrusivePtr< RAY_ProceduralChild > |
Functions | |
SYS_VISIBILITY_EXPORT RAY_Procedural * | allocProcedural (const char *name) |
Mantra procedural primitives. More... | |
SYS_VISIBILITY_EXPORT const RAY_ProceduralArg * | getProceduralArgs (const char *n) |
Dynamic load entry point to query arguments for a procedural. More... | |
SYS_VISIBILITY_EXPORT void | registerProcedural (RAY_ProceduralFactory *factory) |
Modern interface to register procedurals. More... | |
typedef void* RAY_Handle |
Aliases for different handle types.
A generic handle that can be used by RAY_Procedural::import and RAY_Procedural::importAll.
Definition at line 81 of file RAY_Procedural.h.
typedef void* RAY_LightHandle |
A handle for lights. Can also be used anywhere a RAY_Handle is expected.
Definition at line 90 of file RAY_Procedural.h.
typedef void* RAY_MaterialHandle |
A handle for materials. Can also be used anywhere a RAY_Handle is expected.
Definition at line 87 of file RAY_Procedural.h.
typedef void* RAY_ObjectHandle |
A handle for objects. Can also be used anywhere a RAY_Handle is expected.
Definition at line 84 of file RAY_Procedural.h.
Definition at line 625 of file RAY_Procedural.h.
SYS_VISIBILITY_EXPORT RAY_Procedural* allocProcedural | ( | const char * | name | ) |
Mantra procedural primitives.
When a procedural is defined as a dynamic object, the allocProcedural() function is called to build a new instance of the procedural. The name passed in will be the name defined by the table entry. This can be used for: a) Error checking – you can verify that you're name is what you expect. However, this isn't mandatory. b) To have more than one procedural defined per C++ class. Using the name, you can create procedurals of different types.
The argument list for the procedural is specified by a list of arguments. The getProceduralArgs() method should return a pointer to an array of RAY_ProceduralArg's. The list should be terminated by an entry with default arguments (i.e. null pointers). For example: Arguments can then be queried using the argValue() methods in the proceduralDynamic load entry point to create an instance
SYS_VISIBILITY_EXPORT const RAY_ProceduralArg* getProceduralArgs | ( | const char * | n | ) |
Dynamic load entry point to query arguments for a procedural.
SYS_VISIBILITY_EXPORT void registerProcedural | ( | RAY_ProceduralFactory * | factory | ) |
Modern interface to register procedurals.
Definition at line 56 of file RAY_DemoBox.C.