Angle.h

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