DirectionalLight.h

Go to the documentation of this file.
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