Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuSphericLightfieldFile.h

Go to the documentation of this file.
00001 #ifndef __GENERAL_VU_SPHERIC_LIGHTFIELD_FILE_H__
00002 #define __GENERAL_VU_SPHERIC_LIGHTFIELD_FILE_H__
00003 
00004 #include "vuLightfieldFile.h"
00005 #include "vuLightfield/vuSphericView.h"
00006 
00007 template <int SIZE, class TYPE>
00008 class vuSphericLightfieldFile : public vuLightfieldFile
00009 {
00010  public:
00011   vuSphericLightfieldFile();
00012 
00014   vuSphericLightfieldFile(const char *fileName);
00015 
00017   vuSphericLightfieldFile(dword width, dword height, dword views,
00018                           const char *fileName);
00019 
00021   ~vuSphericLightfieldFile();
00022 
00024   vuSphericLightfieldFile(const vuSphericLightfieldFile<SIZE,TYPE> &other);
00025 
00027   bool readHeader();
00028 
00030   bool writeHeader();
00031 
00033   bool readView(vuSphericView<SIZE,TYPE> *view);
00034 
00036   bool writeView(vuSphericView<SIZE,TYPE> *view);
00037 
00038 /* ------------------------------------------------------------------------ */
00039 /* --- accessors ---------------------------------------------------------- */
00040 /* ------------------------------------------------------------------------ */
00041 
00042   dword getNumberOfViews();
00043   dword getWidth();
00044   dword getHeight();
00045 
00046  protected:
00048   dword m_Width;
00050   dword m_Height;
00052   dword m_NumberOfViews;
00053 
00054   //check data size
00055   bool _isDataSizeValid(dword dataSize);
00056 };
00057 
00058 
00059 template class vuSphericLightfieldFile<1,byte>;
00060 template class vuSphericLightfieldFile<2,byte>;
00061 template class vuSphericLightfieldFile<3,byte>;
00062 
00063 template class vuSphericLightfieldFile<1,float>;
00064 template class vuSphericLightfieldFile<2,float>;
00065 template class vuSphericLightfieldFile<3,float>;
00066 
00067 
00068 typedef vuSphericLightfieldFile<1,byte>  vuSphericLightfieldFile1B;
00069 typedef vuSphericLightfieldFile<2,byte>  vuSphericLightfieldFile2B;
00070 typedef vuSphericLightfieldFile<3,byte>  vuSphericLightfieldFile3B;
00071 
00072 typedef vuSphericLightfieldFile<1,float> vuSphericLightfieldFile1F;
00073 typedef vuSphericLightfieldFile<2,float> vuSphericLightfieldFile2F;
00074 typedef vuSphericLightfieldFile<3,float> vuSphericLightfieldFile3F;
00075 
00076 #endif /* __GENERAL_VU_SPHERIC_LIGHTFIELD_FILE_H__ */

Generated on Wed Dec 15 21:20:37 2004 for vuVolume by  doxygen 1.3.9.1