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 _ANGLE_H 00013 #define _ANGLE_H 00014 00015 #include "Template.h" 00016 00025 class XSIEXPORT CSLAngle 00026 : public CSLTemplate 00027 { 00028 public: 00029 00031 enum EAngleType 00032 { 00033 SI_DEGREES, 00034 SI_RADIANS 00035 }; 00036 00038 00043 CSLAngle 00044 ( 00045 CSLScene* in_pScene, 00046 CSLModel *in_pModel, 00047 CdotXSITemplate* in_pTemplate 00048 ); 00049 00050 ~CSLAngle(); 00051 00055 EAngleType GetAngleType(); 00056 00060 void SetAngleType( EAngleType in_Type ); 00061 00065 inline ETemplateType Type(); 00066 00067 CSLEnumProxy<EAngleType, SI_RADIANS>* GetAngleProxy() { return &m_Angle;}; 00068 00069 private: 00070 CSLEnumProxy<EAngleType, SI_RADIANS> m_Angle; 00071 SI_Void *in_pReserved; // reserved for future extension 00072 }; 00073 00074 #endif