Public Member Functions | Protected Member Functions

MFnLight Class Reference

Search for all occurrences

Detailed Description

Manage dependency graph nodes representing lights.

MFnLight allows the creation and manipulation of dependency graph nodes representing lights. This is the top level of a hierarchy of light node function sets. It permits manipulation of the attributes common to all types of lights.

Examples:

D3DResourceManager.cpp, D3DViewportRenderer.cpp, hwAnisotropicShader_NV20.cpp, hwToonShader_NV20.cpp, scanDagCmd.cpp, and scanDagSyntax.cpp.

#include <MFnLight.h>

Inheritance diagram for MFnLight:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual MFn::Type type () const
 Function set type.
virtual ~MFnLight ()
 Destructor.
 MFnLight ()
 Default constructor.
 MFnLight (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.
 MFnLight (const MDagPath &object, MStatus *ret=NULL)
 Constructor.
MColor color (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "color" attribute of a light node.
MStatus setColor (const MColor &col)
 Sets the value of the "color" attribute of a light node.
float intensity (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "intensity" attribute of a light node.
MStatus setIntensity (const float &intens)
 Sets the value of the "intensity" attribute of a light node.
bool useRayTraceShadows (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "useRayTraceShadows" attribute of a light node.
MStatus setUseRayTraceShadows (const bool &useRayTraceShadows)
 Sets the value of the "useRayTraceShadows" attribute of a light node.
MColor shadowColor (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "shadowColor" attribute of a light node.
MStatus setShadowColor (const MColor &shadow_color)
 Sets the value of the "shadowColor" attribute of a light node.
double centerOfIllumination (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "centerOfIllumination" attribute of a light node.
MStatus setCenterOfIllumination (const double &dist)
 Sets the value of the "centerOfIllumination" attribute of a light node.
short numShadowSamples (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "numShadowSamples" attribute of a light node.
MStatus setNumShadowSamples (const short &num_shadow_samples)
 Sets the value of the "numShadowSamples" attribute of a light node.
short rayDepthLimit (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "rayDepthLimit" attribute of a light node.
MStatus setRayDepthLimit (const short &rayDepthLimit)
 Sets the value of the "rayDepthLimit" attribute of a light node.
MColor opticalFXvisibility (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "opticalFXvisibility" attribute of a light node.
MStatus setOpticalFXvisibility (const MColor &visibility)
 Sets the value of the "opticalFXvisibility" attribute of a light node.
MColor lightIntensity (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "lightIntensity" attribute of a light node.
MFloatVector lightDirection (int instance, MSpace::Space space=MSpace::kWorld, MStatus *ReturnStatus=NULL) const
 Returns the direction in which the light is pointing.
MFloatVector lightDirection (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "lightDirection" attribute of a light node.
bool lightAmbient (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "lightAmbient" attribute of a light node.
bool lightDiffuse (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "lightDiffuse" attribute of a light node.
bool lightSpecular (MStatus *ReturnStatus=NULL) const
 Retrieves the value of the "lightSpecular" attribute of a light node.
 MFnLight (const MObject &object, MStatus *ret=NULL)
 Constructor.

Protected Member Functions

virtual const char * className () const
 Class name.

Constructor & Destructor Documentation

~MFnLight ( ) [virtual]

Destructor.

The class destructor.

MFnLight ( 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:
MFnLight ( 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:
MFnLight ( 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]
const char * className ( ) const [protected, virtual]

Class name.

Return the class name : "MFnLight".

Reimplemented from MFnDagNode.

Reimplemented in MFnAmbientLight, MFnAreaLight, MFnDirectionalLight, MFnNonAmbientLight, MFnNonExtendedLight, MFnPointLight, MFnSpotLight, and MFnVolumeLight.

MColor color ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "color" attribute of a light node.

This attribute represents the color of the light emitted by the light node.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "color" attribute of the light node.
Status Codes:
MStatus setColor ( const MColor col)

Sets the value of the "color" attribute of a light node.

Parameters:
[in]colvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
float intensity ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "intensity" attribute of a light node.

This attribute represents a uniform scaling factor applied to the light color.

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

Sets the value of the "intensity" attribute of a light node.

Parameters:
[in]intensvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
bool useRayTraceShadows ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "useRayTraceShadows" attribute of a light node.

This attribute determines whether or not the light should raytrace it's shadows.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "useRayTraceShadows" attribute of the light node.
Status Codes:
MStatus setUseRayTraceShadows ( const bool &  useRayTraceShadows)

Sets the value of the "useRayTraceShadows" attribute of a light node.

Parameters:
[in]useRayTraceShadowsvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
MColor shadowColor ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "shadowColor" attribute of a light node.

This attribute represents the color of the shadows cast by the light.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "shadowColor" attribute of the light node.
Status Codes:
MStatus setShadowColor ( const MColor shadow_color)

Sets the value of the "shadowColor" attribute of a light node.

Parameters:
[in]shadow_colorvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
double centerOfIllumination ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "centerOfIllumination" attribute of a light node.

This attribute represents the distance to the center of illumination of the light.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "centerOfIllumination" attribute of the light node.
Status Codes:
MStatus setCenterOfIllumination ( const double &  dist)

Sets the value of the "centerOfIllumination" attribute of a light node.

Parameters:
[in]distvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
short numShadowSamples ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "numShadowSamples" attribute of a light node.

This attribute represents the number of shadow samples per point used in occulusion testing.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "numShadowSamples" attribute of the light node.
Status Codes:
MStatus setNumShadowSamples ( const short &  num_shadow_samples)

Sets the value of the "numShadowSamples" attribute of a light node.

Parameters:
[in]num_shadow_samplesvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
short rayDepthLimit ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "rayDepthLimit" attribute of a light node.

This attribute determines a cutoff point for shadow calculations related to the light. Rays whose depth is higher than the value of this attribute will not trigger a shadow calculation for the light.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "rayDepthLimit" attribute of the light node.
Status Codes:
MStatus setRayDepthLimit ( const short &  ray_depth_limit)

Sets the value of the "rayDepthLimit" attribute of a light node.

Parameters:
[in]ray_depth_limitvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
MColor opticalFXvisibility ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "opticalFXvisibility" attribute of a light node.

This attribute represents an occlusion scaling factor for light glow effects on this light.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "opticalFXvisibility" attribute of the light node.
Status Codes:
MStatus setOpticalFXvisibility ( const MColor visibility)

Sets the value of the "opticalFXvisibility" attribute of a light node.

Parameters:
[in]visibilityvalue to which the attribute will be set.
Returns:
Return status
Status Codes:
MColor lightIntensity ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "lightIntensity" attribute of a light node.

This attribute represents the intensity of the light specified as a color.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightIntensity" attribute of the light node.
Status Codes:
MFloatVector lightDirection ( int  instance,
MSpace::Space  space = MSpace::kWorld,
MStatus ReturnStatus = NULL 
) const

Returns the direction in which the light is pointing.

This is only valid for lights which are associated with a direction, such as area, directional or spot lights. The vector returned is not normalized.

Parameters:
[in]instanceThe instance of the light for which to return the direction.
[in]spaceThe coordinate space for which the direction vector is returned. If MSpace::kWorld is passed in the vector will be in the lights world space. If any other MSpace::Space value in pass in the vector will be returned in object (or local) space.
[out]ReturnStatusreturn status
Returns:
A vector containing the direction of the light is the specified coordinate system.
Status Codes:
Examples:
intersectCmd.cpp.
MFloatVector lightDirection ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "lightDirection" attribute of a light node.

This attribute represents the direction from the light to the point being shading.

NOTE: This value is only valid during the rendering phase. See lightDirection method above for actual light direction.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightDirection" attribute of the light node.
Status Codes:
bool lightAmbient ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "lightAmbient" attribute of a light node.

This attribute indicates if the light has an ambient component.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightAmbient" attribute of the light node.
Status Codes:
bool lightDiffuse ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "lightDiffuse" attribute of a light node.

This attribute indicates if the light has a diffuse component.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightDiffuse" attribute of the light node.
Status Codes:
bool lightSpecular ( MStatus ReturnStatus = NULL) const

Retrieves the value of the "lightSpecular" attribute of a light node.

This attribute indicates if the light has a specular component.

Parameters:
[out]ReturnStatusreturn status
Returns:
The value of the "lightSpecular" attribute of the light node.
Status Codes:

MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight
MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight MFnLight