Public Types | Public Member Functions | Protected Member Functions

MFnVolumeLight Class Reference

This reference page is linked to from the following overview topics: Overview of example plug-ins, Example C++ plug-in descriptions.


Search for all occurrences

Detailed Description

Manage volume Light dependency Nodes.

MFnVolumeLight facilitates creation and manipulation of dependency graph nodes representing voume lights.

Examples:

volumeLightCmd.cpp.

#include <MFnVolumeLight.h>

Inheritance diagram for MFnVolumeLight:
Inheritance graph
[legend]

List of all members.

Public Types

enum  MLightShape { kBoxVolume, kSphereVolume, kCylinderVolume, kConeVolume }
 

Available shapes for a volume light.

More...
enum  MLightDirection { kOutward, kInward, kDownAxis }
 

Direction that light travels.

More...

Public Member Functions

virtual MFn::Type type () const
 Function set type.
virtual ~MFnVolumeLight ()
 Destructor.
 MFnVolumeLight ()
 Default constructor.
 MFnVolumeLight (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.
 MFnVolumeLight (const MDagPath &object, MStatus *ret=NULL)
 Constructor.
MObject create (bool UIvisible=true, MStatus *ReturnStatus=NULL)
 Creates a new volume light dependency graph node and adds it to the dependency graph.
MObject create (const MObject &parent, bool UIvisible=true, bool wantTransform=false, MStatus *ReturnStatus=NULL)
 Creates a new volume light dependency graph node and adds it to the dependency graph.
MFnVolumeLight::MLightShape lightShape (MStatus *ReturnStatus=NULL) const
 Retrieves the "lightShape" attribute of the light.
MStatus setLightShape (const MFnVolumeLight::MLightShape &light_shape)
 Sets the value of the "lightShape" attribute of a volume light node.
MFnVolumeLight::MLightDirection volumeLightDirection (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "volumeLightDirection" attribute.
MStatus setVolumeLightDirection (const MFnVolumeLight::MLightDirection &volume_light_direction)
 Sets the value of the "volumeLightDirection" attribute of a volume light node.
float arc (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "arc" attribute.
MStatus setArc (const float &arc)
 Sets the value of the "arc" attribute of a volume light node.
float coneEndRadius (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "coneEndRadius" attribute.
MStatus setConeEndRadius (const float &cone_end_radius)
 Sets the value of the "coneEndRadius" attribute of a volume light node.
bool emitAmbient (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "emitAmbient" attribute.
MStatus setEmitAmbient (const bool &emit_ambient)
 Sets the value of the "emitAmbient" attribute of a volume light node.
MRampAttribute colorRamp (MStatus *ReturnStatus=NULL) const
 Retrieves the "colorRamp" attribute.
MRampAttribute penumbraRamp (MStatus *ReturnStatus=NULL) const
 Retrieves the "penumbraRamp" attribute.
float shadowAngle (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "shadowAngle" attribute of a volume light node.
MStatus setShadowAngle (const float &shadow_angle)
 Sets the value of the "shadowAngle" attribute of a volume light node.
 MFnVolumeLight (const MObject &object, MStatus *ret=NULL)
 Constructor.
MObject create (const MObject &parent, bool UIvisible=true, MStatus *ReturnStatus=NULL)
 NO SCRIPT SUPPORT.

Protected Member Functions

virtual const char * className () const
 Class name.

Member Enumeration Documentation

Available shapes for a volume light.

Enumerator:
kBoxVolume 

 

kSphereVolume 

 

kCylinderVolume 

 

kConeVolume 

 

Direction that light travels.

Enumerator:
kOutward 

Light travels outwared from the center of a box- or sphere-shaped volume, and outward from the axis of a cylinder- or cone-shaped volume.

kInward 

Light travels inward toward the center of a box- or sphere-shaped volume, and inward toward the axis of a cylinder- or cone-shaped volume.

kDownAxis 

Light travels down the axis, like a directional light pointing in the negative Y direction.


Constructor & Destructor Documentation

~MFnVolumeLight ( ) [virtual]

Destructor.

The class destructor.

MFnVolumeLight ( MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters:
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
MFnVolumeLight ( const MDagPath object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given constant MDagPath object.

Parameters:
[in]objectThe const MDagPath to attach the function set to
[out]ReturnStatusThe return status
Status Codes:
MFnVolumeLight ( const MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters:
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:

Member Function Documentation

MFn::Type type ( ) const [virtual]

Function set type.

Return the class type : MFn::kVolumeLight.

Reimplemented from MFnPointLight.

const char * className ( ) const [protected, virtual]

Class name.

Return the class name : "MFnVolumeLight".

Reimplemented from MFnPointLight.

MObject create ( bool  UIvisible = true,
MStatus ReturnStatus = NULL 
)

Creates a new volume light dependency graph node and adds it to the dependency graph.

If the UIvisible parameter is true, the new node will be connected to the light classification node (which allows the UI to recognize the node as a light) and added to the default light list. If UIvisible is false, the node will be created in isolation.

The light node is added to the current model, under a new transformation.

Parameters:
[in]UIvisibledetermines whether or not to connect the new node to the light classification node and add it to the default light list.
[out]ReturnStatusreturn status
Returns:
MObject representing the new dependency node.
Status Codes:

Reimplemented from MFnPointLight.

Examples:
volumeLightCmd.cpp.
MObject create ( const MObject parent,
bool  UIvisible = true,
bool  wantTransform = false,
MStatus ReturnStatus = NULL 
)

Creates a new volume light dependency graph node and adds it to the dependency graph.

If the UIvisible parameter is true, the new node will be connected to the light classification node (which allows the UI to recognize the node as a light) and added to the default light list. If UIvisible is false, the node will be created in isolation.

If wantTransform parameter is false ( which is by default ), the new shape node is created under the specified parent and no transform node is created. If the specified parent is null, then no shape node will be created.

The light node is added to the current model, under the specified parent.

Parameters:
[in]parentthe node under which the new light and its transform will be added.
[in]wantTransformBoolean to indicate whether the transform node is needed or not, which is 'false' by default.
[in]UIvisibledetermines whether or not to connect the new node to the light classification node and add it to the default light list.
[out]ReturnStatusreturn status
Returns:
MObject representing the new dependency node.
Status Codes:

Reimplemented from MFnPointLight.

MFnVolumeLight::MLightShape lightShape ( MStatus ReturnStatus = NULL) const

Retrieves the "lightShape" attribute of the light.

The shape can be one of the following.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightShape" attribute of the volume light node.
Status Codes:
Examples:
volumeLightCmd.cpp.
MStatus setLightShape ( const MFnVolumeLight::MLightShape light_shape)

Sets the value of the "lightShape" attribute of a volume light node.

The shape can be one of the following:

Parameters:
[in]light_shapevalue to which the attribute will be set.
Returns:
Return status
Status Codes:
Examples:
volumeLightCmd.cpp.
MFnVolumeLight::MLightDirection volumeLightDirection ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "volumeLightDirection" attribute.

The volumeLightDirection attribute determines the direction of the light within the volume. Outward has light moving away from the center of a Box or Sphere and away from the central axis of a Cylinder or Cone. Inward is the reverse of the direction. One can light from the outside of a sphere going in. Up Axis is like a directional light pointing in the positive y direction. Down axis points in the negative y direction. Note that Inward will not always shadow in a desirable fashion. The volumeLightDirection attribute can be one of the following:

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightDirection" attribute of the volume light node.
Status Codes:
Examples:
volumeLightCmd.cpp.
MStatus setVolumeLightDirection ( const MFnVolumeLight::MLightDirection volume_light_direction)

Sets the value of the "volumeLightDirection" attribute of a volume light node.

The shape can be one of the following.

Parameters:
[in]volume_light_directionvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
Examples:
volumeLightCmd.cpp.
float arc ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "arc" attribute.

The arc is an angular slice of the light about the y axis. The value can range from 0 to 360 degrees.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "arc" attribute of the volume light node.
Status Codes:
Examples:
volumeLightCmd.cpp.
MStatus setArc ( const float &  arc)

Sets the value of the "arc" attribute of a volume light node.

Parameters:
[in]arcvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
Examples:
volumeLightCmd.cpp.
float coneEndRadius ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "coneEndRadius" attribute.

The coneEndRadius attribute determines the relative size of the one end of the cone. At a value of 1.0 it is a cylinder, while at 0 it is a cone.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "coneEndRadius" attribute of the volume light node.
Status Codes:
Examples:
volumeLightCmd.cpp.
MStatus setConeEndRadius ( const float &  cone_end_radius)

Sets the value of the "coneEndRadius" attribute of a volume light node.

Parameters:
[in]cone_end_radiusvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
Examples:
volumeLightCmd.cpp.
bool emitAmbient ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "emitAmbient" attribute.

If true, then light affects surfaces in a non directional fashion. When combined with Emit Diffuse the lighting at a surface will be half applied using the surface/light angle, and half in a nondirectional fashion. If Emit Diffuse is off then the light will be totally omnidirectional.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "emitAmbient" attribute of the volume light node.
Status Codes:
Examples:
volumeLightCmd.cpp.
MStatus setEmitAmbient ( const bool &  emit_ambient)

Sets the value of the "emitAmbient" attribute of a volume light node.

Parameters:
[in]emit_ambientvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
Examples:
volumeLightCmd.cpp.
MRampAttribute colorRamp ( MStatus ReturnStatus = NULL) const

Retrieves the "colorRamp" attribute.

Parameters:
[out]ReturnStatusreturn status
Returns:
The color ramp attribute
Status Codes:
Examples:
volumeLightCmd.cpp.
MRampAttribute penumbraRamp ( MStatus ReturnStatus = NULL) const

Retrieves the "penumbraRamp" attribute.

Parameters:
[out]ReturnStatusreturn status
Returns:
The penumbra ramp attribute
Status Codes:
Examples:
volumeLightCmd.cpp.
float shadowAngle ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "shadowAngle" attribute of a volume light node.

This attribute represents an angular divergence from the direction vector of the light used to calculate soft shadows. It's enabled only if the volume light direction is kDownAxis.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "shadowAngle" attribute of the light node.
Status Codes:
MStatus setShadowAngle ( const float &  shadow_angle)

Sets the value of the "shadowAngle" attribute of a volume light node.

It's enabled only if the volume light direction is kDownAxis.

Parameters:
[in]shadow_anglevalue to which the attribute will be set.
Returns:
Return status
Status Codes:
MObject create ( const MObject parent,
bool  UIvisible = true,
MStatus ReturnStatus = NULL 
)

NO SCRIPT SUPPORT.

Creates a new volume light dependency graph node and adds it to the dependency graph.

If the UIvisible parameter is true, the new node will be connected to the light classification node (which allows the UI to recognize the node as a light) and added to the default light list. If UIvisible is false, the node will be created in isolation.

The light node is added to the current model, under a new transformation. The transformation is added to the current model under the specified parent.

Parameters:
[in]parentthe node under which the new light and its transform will be added.
[in]UIvisibledetermines whether or not to connect the new node to the light classification node and add it to the default light list.
[out]ReturnStatusreturn status
Returns:
MObject representing the new dependency node.
Status Codes:

Reimplemented from MFnPointLight.


MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight
MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight MFnVolumeLight