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

vuParallelCamera.h

Go to the documentation of this file.
00001 
00018 #ifndef _VUPARALLELCAMERA_H_
00019 #define _VUPARALLELCAMERA_H_
00020 
00021 #include "../vuLinAlg/vuVector.h"
00022 #include "vuCamera.h"
00023 
00024 #include "../vuMisc/vuRay.h"
00025 
00030 class vuParallelCamera : public vuCamera
00031 
00032 {
00033  public:
00034   vuCameraType getType(void) {return vuPARALLEL_CAMERA; };
00035 
00036 public:
00038     vuParallelCamera();
00042     vuParallelCamera(const vuParallelCamera& c);
00043     virtual ~vuParallelCamera();                        
00044 
00045     float getXRange(void);              
00046     void setXRange(float xrng);         
00047 
00048     float getYRange(void);              
00049     void setYRange(float yrng);         
00050 
00051     void setNear (float near);          
00054     float getNear ();                   
00057     void setFar (float far);            
00060     float getFar ();                    
00063 
00064 
00067     void init(void);
00068 
00070     void glInit();
00071 
00073     vuRay getRay(float xpixel, float ypixel);
00074 
00076     float getDistance(const vuVector& point) const;
00077 
00081     vuVector& project(vuVector& point) const;
00082 
00083 
00086     virtual void TakeSnapShot (char* Shot);
00088     virtual void TakeSnapShot ();
00090     void TakeSnapShotOrtho (char* Shot);
00092     virtual int RestoreShot (char* Shot);
00094     int RestoreShotOrtho (char* Shot);
00098     virtual int RestoreNextShot ();
00102     virtual int RestorePreviousShot ();
00103 
00105     virtual char* get_id ();
00107     virtual bool verify_id (char* id);
00108 
00110     virtual vuParallelCamera& operator=(const vuParallelCamera& rhs);
00111 
00113     friend ostream& operator<<(ostream& out, vuParallelCamera &cam);
00115     friend istream& operator>>(istream& in, vuParallelCamera &cam);
00116 
00119     virtual vuCamera* create_new ();
00120 
00121     
00122     virtual vuCamera* set_equal_to_interp (vuCamera* cam1, vuCamera* cam2, float t1, float t2);
00123 
00129     virtual vuCamera* operator* (float t);
00130 
00135     virtual vuCamera* operator*= (float t);
00136 
00142     virtual vuCamera* operator+ (vuParallelCamera &rhs);
00143 
00148     virtual vuCamera* operator+= (vuParallelCamera &rhs);
00149 
00155     virtual vuCamera* operator+ (vuParallelCamera *rhs);
00156 
00161     virtual vuCamera* operator+= (vuParallelCamera *rhs);
00162 
00167     virtual vuParallelCamera* operator= (vuParallelCamera *rhs);
00168 
00173     friend vuCamera* operator*(float t, vuParallelCamera &cam);
00174 
00175 protected:
00176     //float  m_CullBox[6];   left, right, bottom, top, near, far - clipping box
00177 
00178     float m_XRange;     
00179     float m_YRange;
00180     float m_XScale, m_YScale; 
00181     float m_Near;       
00182     float m_Far;        
00183 
00184     vuVector m_XStep;     
00185     vuVector m_YStep;     
00186 };
00187 
00188 #endif
00189 
00190 

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