/Users/craigcornelius/Projects/SPRING Mac Release 0.2/camera.h

Go to the documentation of this file.
00001 // $Id: camera.h,v 1.5 2005/08/31 19:37:55 hawaii Exp $
00002 // $Copyright: (c)2001 National Biocomputation Center, Stanford University $
00003 
00004 #ifndef Camera_H
00005 #define Camera_H
00006 
00007 #include <stdio.h>
00008 #include "point3d.h"
00009 
00010 
00011 class Camera {
00012 public:
00013     int debug;
00014     float zoom;
00015     double rotation[16];
00016     Point3D trans;
00017     float eyez;
00018     float near_z; 
00019     float far_z;
00020 
00021     float min_z;
00022     float max_z;
00023     float pan_increment;
00024     float rotate_increment;
00025     
00026     void Init();
00027     Camera();
00028     void SetNearClippingPlane(float near_z_in);
00029     void SetFarClippingPlane(float far_z_in);
00030 };
00031 
00032 inline Camera::Camera()
00033 { Init(); }
00034 
00035 inline void Camera::Init() { 
00036     debug = 0;
00037     zoom = 1.0; 
00038     for (int i = 0; i < 16; i++) rotation[i] = 0.0;
00039     rotation[0] = rotation[5] = rotation[10] = rotation[15] = 1.0;
00040     trans = Point3D(0,0,0);
00041     eyez = 0.0; 
00042 
00043     min_z = 0.01;
00044     max_z = 1000.0;
00045     near_z = min_z; 
00046     far_z = max_z;
00047     pan_increment = 1.0; 
00048     rotate_increment = 10.0;
00049 }
00050 
00051 
00052 inline void Camera::SetNearClippingPlane(float near_z_in)
00053 { 
00054     if (near_z_in > min_z) near_z = near_z_in; 
00055     if (debug) cerr << "Camera::near_z = " << near_z << endl;
00056 }
00057 
00058 inline void Camera::SetFarClippingPlane(float far_z_in)
00059 {
00060     if (far_z_in > min_z) far_z = far_z_in; 
00061     if (debug) cerr << "Camera::far_z = " << far_z << endl;
00062 }
00063 
00064 #endif
00065 
00066 

Generated on Thu Aug 30 11:03:13 2007 for SPRING Mac by  doxygen 1.5.3