Adds parameters for cone-shaped volume lights.
Synopsis
#include <AlConeLight.h>
class AlConeLight: public AlVolumeLight
AlConeLight();
virtual ~AlConeLight();
virtual AlObject* copyWrapper() const;
statusCode create();
AlObjectType type() const;
double arc() const;
double coneEndRadius() const;
statusCode setArc(double);
statusCode setConeEndRadius(double);
Description
A cone light allows light to exist inside the volume of a cone.
A cone light could be made similar to a spotlight by setting Concentric and radial to 0, directional to 1, decay to 0 and
dropoff to slightly less than 1.
A cone light would make a good vortex field by setting the Radial to 1, concentric to .5, directional depending on whether
the vortex is sucking up things or dropping them.
AlConeLight::AlConeLight()
Description
Constructs an AlConeLight wrapper object.
AlConeLight::~AlConeLight()
Description
Deletes an AlConeLight wrapper object.
statusCode AlConeLight::create()
Description
Creates all the DAG nodes for this light and adds them to the universe. The DAG nodes are position, look at and up, and a
DAG node that groups these three together.
Return Codes
sSuccess - everything was successful
sInsufficientMemory - not enough memory available
sAlreadyCreated - light is already created
AlObjectType AlConeLight::type() const
Description
Returns the class identifier kConeLightType.
double AlConeLight::arc() const
Description
Returns the cone light’s arc (how much of the cone you actually have). This method returns -1 if the light is invalid.
double AlConeLight::coneEndRadius() const
Description
Returns the cone light’s coneEndRadius. This defines the shape of the cone. This method returns -1 if the light is invalid.
statusCode AlConeLight::setArc( double arc )
Description
Sets the arc of the light. The given arc must be in the range 0 to 360.
Arguments
< double arc - portion of the sphere to use
Return Codes
sSuccess - setting arc succeeded
sInvalidObject - not a valid volume light
sFailure - setting the arc failed
sInvalidArgument - the arc was not in the range of 0 to 360
statusCode AlConeLight::setConeEndRadius( double cone_end_radius )
Description
Sets the cone end radius of the light.
Arguments
< cone_end_radius - radius to set
Return Codes
sSuccess - setting the radius succeeded
sInvalidObject - the current light is not a valid volume light
sFailure - setting the radius failed