00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _DIRECTIONALLIGHT_H 00015 #define _DIRECTIONALLIGHT_H 00016 00017 #include "Light.h" 00018 00021 class XSIEXPORT CSLDirectionalLight 00022 : public CSLLight 00023 { 00024 public: 00031 CSLDirectionalLight(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00032 00035 virtual ~CSLDirectionalLight(); 00036 00040 CSIBCVector3D GetDirection(); 00041 00045 SI_Void SetDirection(CSIBCVector3D &in_rValue); 00046 00050 virtual SI_Error Synchronize(); 00051 00055 virtual ETemplateType Type(); 00056 00061 virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName); 00062 00068 virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName); 00069 00070 CSLVector3DProxy* GetDirectionProxy() { return &m_Direction;}; 00071 00072 protected: 00073 virtual SI_Bool ConstraintTypeIsValid(CSLConstraint::EConstraintType in_ConstraintType); 00074 00075 private: 00076 CSLVector3DProxy m_Direction; 00077 00078 void *m_pReserved; // reserved for future extension 00079 }; 00080 00081 #endif