00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013
00017
00019
00020
00021
00023
00024 #ifndef _ECFILM_H
00025 #define _ECFILM_H
00026
00027 #include <eclipseray/eclipse.h>
00028 #include <eclipseray/yrtypes.h>
00029
00031
00036
00045
00047 class Film : public EclipseObject
00048 {
00049 DECLARE_PYTHON_HEADER;
00050
00051 public:
00052
00053
00054
00055
00056
00060 enum eFilmFilterType
00061 {
00062 FilterType_Box,
00063 FilterType_Mitchell,
00064 FilterType_Gauss
00065 };
00066
00078 Film( const char* a_sID, int a_nWidth, int a_nHeight, eFilmFilterType a_nFilterType,
00079 float a_fFilterSize, float a_fGamma, bool a_bHasDepth, bool a_bClamp );
00080
00085 inline YRFilm* GetYRFilm(){ return m_pFilm; }
00086
00091 inline int GetWidth() const { return m_nWidth; }
00092
00097 inline int GetHeight() const { return m_nHeight; }
00098
00099
00100
00101
00102
00108 static bool PyTypeCheck( PYOBJECT a_pObject );
00109
00115 virtual PYOBJECT PyAsString();
00116
00121 static void AppendFilmFilterTypes( PYOBJECT a_pPyModule );
00122
00123
00124 protected:
00125
00126
00127 ~Film();
00128
00134 virtual void DeleteObject();
00135
00136
00137 private:
00138
00139 YRTga* m_pOutput;
00140 YRFilm* m_pFilm;
00141 char* m_sOutputName;
00142 int m_nWidth;
00143 int m_nHeight;
00144
00145 };
00146
00147
00148
00149 #endif