# DirectionalLight.h

    00001 //***************************************************************************************
    00002 //
    00003 // File supervisor: Crosswalk team
    00004 //
    00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.
    00006 // Use of this software is subject to the terms of the Autodesk license agreement
    00007 // provided at the time of installation or download, or which otherwise accompanies
    00008 // this software in either electronic or hard copy form.
    00009 //
    00010 //***************************************************************************************
    00011
    00012 #ifndef _DIRECTIONALLIGHT_H
    00013 #define _DIRECTIONALLIGHT_H
    00014
    00015 #include "Light.h"
    00016
    00018 class XSIEXPORT CSLDirectionalLight
    00019     : public CSLLight
    00020 {
    00021 public:
    00028     CSLDirectionalLight(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
    00029
    00032     virtual ~CSLDirectionalLight();
    00033
    00037     CSIBCVector3D GetDirection();
    00038
    00043     SI_Void SetDirection(CSIBCVector3D &in_rValue);
    00044
    00049     virtual SI_Error Synchronize();
    00050
    00054     virtual ETemplateType Type();
    00055
    00060     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
    00061
    00067     virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName);
    00068
    00069     CSLVector3DProxy* GetDirectionProxy() { return &m_Direction;};
    00070
    00071 protected:
    00072     virtual SI_Bool ConstraintTypeIsValid(CSLConstraint::EConstraintType in_ConstraintType);
    00073
    00074 private:
    00075     CSLVector3DProxy m_Direction;
    00076
    00077     void *m_pReserved;  // reserved for future extension
    00078 };
    00079
    00080 #endif