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