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

vuSphericInteractive.h

Go to the documentation of this file.
00001 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_VUSPHERICINTERACTIVE_H_
00002 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_VUSPHERICINTERACTIVE_H_
00003 
00011 #include "ibr.h"
00012 
00013 template <int SIZE, class TYPE>
00014 class vuSphericInteractive{
00015 
00016  public:
00017   vuSphericInteractive();
00018   ~vuSphericInteractive();
00019 
00021   void setVolume(vu1611_2<SIZE,TYPE> *volume);
00022 
00024   vu1611_2<SIZE,TYPE> *getVolume();
00025 
00026   void reset();
00027   bool *getAlreadyVisitedIndices();
00028   int  indexOfNearestView();
00029 
00030   vuSphericView<SIZE,TYPE> *nearestView();
00031 
00032   bool vuSphericInteractive<SIZE,TYPE>::isVisited(dword idx);
00033   void vuSphericInteractive<SIZE,TYPE>::setIsVisited(dword idx, bool flag);
00034 
00035   dword getNumberOfVisited();
00036 
00037   dword getNumberOfViews();
00038 
00039  private:
00040   void _ensureList();
00041   
00042  protected:
00043   dword               m_NumberOfVisited; // how many views are already visited?
00044   dword               m_NumberOfViews;   // length of m_AlreadyVisited
00045   bool                *m_AlreadyVisited; // index list of already visited views
00046   vu1611_2<SIZE,TYPE> *m_Volume;
00047 };
00048 
00049 template class vuSphericInteractive<1,byte>;
00050 template class vuSphericInteractive<2,byte>;
00051 template class vuSphericInteractive<3,byte>;
00052 template class vuSphericInteractive<1,float>;
00053 template class vuSphericInteractive<2,float>;
00054 template class vuSphericInteractive<3,float>;
00055 
00056 typedef vuSphericInteractive<1,byte>  vuSphericInteractive1B;
00057 typedef vuSphericInteractive<2,byte>  vuSphericInteractive2B;
00058 typedef vuSphericInteractive<3,byte>  vuSphericInteractive3B;
00059 typedef vuSphericInteractive<1,float> vuSphericInteractive1F;
00060 typedef vuSphericInteractive<2,float> vuSphericInteractive2F;
00061 typedef vuSphericInteractive<3,float> vuSphericInteractive3F;
00062 
00063 #endif /* _VU_VOLUME_LIGHTFIELD_UNIMODAL_VUSPHERICINTERACTIVE_H_ */

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