Add
parameters for torus light.
Synopsis
#include <AlTorusLight.h>
class AlTorusLight: public AlVolumeLight
AlTorusLight();
virtual ~AlTorusLight();
virtual AlObject* copyWrapper() const;
statusCode create();
AlObjectType type() const;
double arc() const;
double torusRadius() const;
statusCode setArc(double);
statusCode setTorusRadius(double);
Description
A torus light creates
light within a donut. The relative thickness of the donut is set
determined by the TorusRadius. The arc determines whether you get
the whole torus or just a wedge cut out of a torus.
Torus lights are good
for halo-shaped particle system effects.
AlTorusLight::AlTorusLight()
Description
Constructs
an AlTorusLight wrapper object.
AlTorusLight::~AlTorusLight()
Description
Deletes
an AlTorusLight wrapper object.
statusCode AlTorusLight::create()
Description
Creates
all the DAG nodes for this light and adds them to the universe.
The DAG nodes are for ’position’, ’look at’ and ’up’, and another
DAG node that groups these three together.
Return Codes
sSuccess - everything
was successful
sInsufficientMemory -
not enough memory available
sAlreadyCreated - light
is already created
AlObjectType AlTorusLight::type()
const
Description
Returns
the class identifier kTorusLightType.
double AlTorusLight::arc()
const
Description
Returns
the sphere light’s arc (that is, how much of the sphere we actually
have). -1 is returned if the light is invalid.
double AlTorusLight::torusRadius()
const
Description
Returns
the sphere light’s radius. -1 is returned if the light is invalid.
statusCode AlTorusLight::setArc(
double arc )
Description
Sets the arc of the light.
Arguments
< double arc - portion
of the sphere to use from 0 to 360 degrees
Return Codes
sSuccess - setting arc
succeeded
sInvalidObject - not
a valid volume light
sInvalidArgument - arc
out of range
sFailure - an error occurred
statusCode AlTorusLight::setTorusRadius(
double torus_radius )
Description
Sets the radius
of the light.
Arguments
< double arc - the
radius of the sphere to use (must be greater than 0)
Return Codes
sSuccess - setting the
radius succeeded
sInvalidObject - not
a valid volume light
sInvalidArgument - the
radius is less than 0
sFailure - an error occurred