XSICameraFocalLength.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 _XSICAMERAFOCALLENGTH_H
00013 #define _XSICAMERAFOCALLENGTH_H
00014 
00015 #include "Template.h"
00016 
00020 class XSIEXPORT CSLXSICameraFocalLength
00021     : public CSLTemplate
00022 {
00023 public:
00024 
00031     CSLXSICameraFocalLength(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00032 
00035     virtual ~CSLXSICameraFocalLength();
00036 
00040     SI_Float GetFocalLength();
00041 
00046     SI_Void SetFocalLength(SI_Float in_lValue);
00047 
00048 
00052     virtual ETemplateType           Type() { return XSI_CAMERA_FOCALLENGTH; }
00053 
00058     virtual SI_Error Synchronize();
00059 
00064     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00065 
00070     virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szName);
00071 
00076     virtual const SI_Char* GetParameterName(CSLAnimatableType* in_pParameter);
00077 
00078     CSLFloatProxy*  GetFocalLengthProxy() { return &m_FocalLength; };
00079 
00080 private:
00081 
00082     CSLFloatProxy   m_FocalLength;
00083 
00084     void *m_pReserved;  // reserved for future extension
00085 };
00086 
00087 #endif