00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _ANGLE_H 00015 #define _ANGLE_H 00016 00017 #include "Template.h" 00018 00027 class XSIEXPORT CSLAngle 00028 : public CSLTemplate 00029 { 00030 public: 00031 00033 enum EAngleType 00034 { 00035 SI_DEGREES, 00036 SI_RADIANS 00037 }; 00038 00044 CSLAngle 00045 ( 00046 CSLScene* in_pScene, 00047 CSLModel *in_pModel, 00048 CdotXSITemplate* in_pTemplate 00049 ); 00050 00051 ~CSLAngle(); 00052 00056 EAngleType GetAngleType(); 00057 00061 void SetAngleType( EAngleType in_Type ); 00062 00066 inline ETemplateType Type(); 00067 00068 CSLEnumProxy<EAngleType, SI_RADIANS>* GetAngleProxy() { return &m_Angle;}; 00069 00070 private: 00071 CSLEnumProxy<EAngleType, SI_RADIANS> m_Angle; 00072 SI_Void *in_pReserved; // reserved for future extension 00073 }; 00074 00075 #endif