struct CCL::ILightSource3D

Overview

3D light source interface. More…

#include <iscene3d.h>

struct ILightSource3D: public CCL::ISceneNode3D
{
    // methods

    virtual ColorRef CCL_API getLightColor () const = 0;
    virtual tresult CCL_API setLightColor (ColorRef color) = 0;
    virtual uint32 CCL_API getLightMask () const = 0;
    DECLARE_STRINGID_MEMBER (kLightColor);
};

Inherited Members

public:
    // enums

    enum NodeFlags;
    enum NodeType;

    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual NodeType CCL_API getNodeType () const = 0;
    virtual UIDRef CCL_API getNodeClassID () const = 0;
    virtual int CCL_API getNodeFlags () const = 0;
    virtual StringID CCL_API getNodeName () const = 0;
    virtual void CCL_API setNodeName (StringID name) = 0;
    virtual void CCL_API setNodeData (VariantRef data) = 0;
    virtual VariantRef CCL_API getNodeData () const = 0;
    virtual PointF3DRef CCL_API getPosition () const = 0;
    virtual tresult CCL_API setPosition (PointF3DRef p) = 0;
    virtual tresult CCL_API setPositionX (float x) = 0;
    virtual tresult CCL_API setPositionY (float y) = 0;
    virtual tresult CCL_API setPositionZ (float z) = 0;
    virtual float CCL_API getYawAngle () const = 0;
    virtual tresult CCL_API setYawAngle (float angle) = 0;
    virtual float CCL_API getPitchAngle () const = 0;
    virtual tresult CCL_API setPitchAngle (float angle) = 0;
    virtual float CCL_API getRollAngle () const = 0;
    virtual tresult CCL_API setRollAngle (float angle) = 0;
    virtual float CCL_API getScaleX () const = 0;
    virtual tresult CCL_API setScaleX (float factor) = 0;
    virtual float CCL_API getScaleY () const = 0;
    virtual tresult CCL_API setScaleY (float factor) = 0;
    virtual float CCL_API getScaleZ () const = 0;
    virtual tresult CCL_API setScaleZ (float factor) = 0;
    virtual Transform3DRef CCL_API getWorldTransform () const = 0;
    virtual Transform3DRef CCL_API getInverseWorldTransform () const = 0;
    virtual void CCL_API setWorldTransform (Transform3DRef transform) = 0;
    virtual IScene3D*CCL_API getRootNode () = 0;
    virtual ISceneNode3D*CCL_API getParentNode () = 0;
    virtual ISceneChildren3D*CCL_API getChildren () = 0;
    virtual ISceneConstraints3D*CCL_API getConstraints () = 0;

    virtual tresult CCL_API addAnimation (
        StringID propertyId,
        const IAnimation* animation
    ) = 0;

    virtual tresult CCL_API removeAnimation (StringID propertyId) = 0;
    virtual tresult CCL_API enableHitTesting (tbool state) = 0;
    virtual tbool CCL_API isHitTestingEnabled () const = 0;

    virtual ISceneNode3D*CCL_API findIntersectingNode (
        Ray3DRef ray,
        float tolerance = 0.f,
        int flags = 0
    ) const = 0;

    DECLARE_STRINGID_MEMBER (kName);

Detailed Documentation

3D light source interface.

Methods

virtual ColorRef CCL_API getLightColor () const = 0

Get light color.

virtual tresult CCL_API setLightColor (ColorRef color) = 0

Set light color.

virtual uint32 CCL_API getLightMask () const = 0

Get mask for this light source.

Mask corresponds to the stock shader implementation. See also IMaterial3D::setLightMask.