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

Regular/Unimodal/3d/1B/Intensity/Splat/splat.h

Go to the documentation of this file.
00001 /*      Modified April 2002
00002         Modified by Christopher Steinbach
00003 
00004         Modified to remove the ios::nocreate flag in the
00005         SGI-IRIX compile because it doesn't seem to be
00006         available for the SGIs
00007 
00008         Modifed to work with the key framer dialog box.
00009 
00010         Added drawpic and get camera and get image;
00011 */
00012 
00013 #ifndef _VUVOLUMEREGULARUNIMODAL3D1B1VALSPLAT_H_
00014 #define _VUVOLUMEREGULARUNIMODAL3D1B1VALSPLAT_H_
00015 
00016 #include "../intensity.h"
00017 #include "glos.h"
00018 
00019 #include <GL/gl.h>
00020 #include <GL/glu.h>
00021 
00022 #include "vuImage.h"
00023 #include "vuSimpleTypes.h"
00024 #include "vuNormalTable.h"
00025 #include "vuVector.h"
00026 
00027 //using namespace ns_vu1112113;
00028 
00029 class vu1112111;
00030 typedef vu1112111 vuVolumeRegularUnimodal3d1B1ValSplat;
00031 
00033 
00046 class vu1112111 : public vu111211
00047 
00048 {
00049 public:
00051     vu1112111();
00053     vu1112111(const vu1112111& inst);
00055     virtual ~vu1112111();
00056 
00058     vu1112111& operator=(const vu1112111& rhs);
00059 
00060 public:
00062     void setViewVectors(const vuVector& view,const vuVector& up,const vuVector& right);
00063 
00065     void setFootprintSize(dword size);
00067     dword getFootprintSize() const;
00068 
00070     void initOpenGL(void);
00072     void render();
00073 
00074     void drawPic ();
00075 
00076     vuImage* getBuffer ();
00077 //    void setBufferSize ();
00078 
00080     virtual bool read();
00081 
00083     virtual bool readRaw(void);
00084 
00085 private:
00087     void preprocess(void);
00088 
00090     void computeSplat(void);
00092     double nelsonSplat(double r);
00093 
00095     void drawSplatOrtho(float* pos);
00097     void drawSplatPerspective(float* pos);
00098 
00099 private:
00100     vuNormalTable  m_NTable;
00101 
00102 #if defined(QUANTIZE_NORMALS)
00103     byte*        m_Normals;
00104 #else
00105     float*       m_Normals;
00106 #endif
00107 
00108     vuImage      m_ImgBuffer;
00109 
00110     GLubyte*     m_Footprint;
00111     dword        m_FPSize;
00112     GLuint       m_GLSplat;
00113 
00114     vuVector     m_View;
00115     vuVector     m_Shift0;
00116     vuVector     m_Shift1;
00117     vuVector     m_Shift2;
00118 };
00119 
00120 #endif
00121 
00122 
00123 

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