RiRayAcceleratorBuilder

Build a ray accelerator from a bunch of ray objects

This is an abstract class and cannot be directly instanced.


[ Ray | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION
PATTERN
WARNINGS

Class Summary

class RiRayAcceleratorBuilder
{
public:
~RiRayAcceleratorBuilder() ;;
void AddObject(RiRayObject *); // pure virtual
RiRayObject *Build(); // pure virtual
bool IsDone(); // pure virtual
protected:
}; // RiRayAcceleratorBuilder


DESCRIPTION


PATTERN

Builder Iterator (sort of. no Next, no GetCurrent, build does the equivalent of GetCurrent; Next();)


WARNINGS

The RiRayObject returned from the builder is orphaned by the builder. The client is responsible for deleting the object. Each call to Build will build the next object, returning NULL if no next object.


~RiRayAcceleratorBuilder() ;;

Destructor

    virtual ~RiRayAcceleratorBuilder()   ;
;

Function is currently defined inline.


void AddObject(RiRayObject *);

Add an object to the future accelerator

    virtual void 	 AddObject(RiRayObject *);    

RiRayObject *Build();

Build the RiRayObject and return it. Each call to Build will build and return the next object.

    virtual RiRayObject *Build();    

bool IsDone();

Some situations result in a RiRayObjectBuilder building more than a single object. As long as IsDone returns false, there are more objects that need to be built

    virtual bool	 IsDone();    

All Members

public:
void AddObject(RiRayObject *); // pure virtual
RiRayObject *Build(); // pure virtual
bool IsDone(); // pure virtual
protected:

Ancestors

Class does not inherit from any other class.


Descendants


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:54 2000 .