Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

sphere.h

Go to the documentation of this file.
00001 
00034 #ifndef SPHERE_H
00035 #define SPHERE_H
00036 
00037 #include <iostream>
00038 #include <stdio.h>
00039 #include <stdlib.h>
00040 #include <string.h>
00041 #include "my_types.h"
00042 #include "array.cpp"
00043 
00044 #ifdef GRAPHICS
00045 #include <FL/Fl.h>
00046 #include <FL/Fl_Window.h>
00047 #include <FL/Fl_Double_Window.h>
00048 #include <FL/Fl_Gl_Window.h>
00049 #include <FL/Fl_Input.h>
00050 #include <FL/Fl_Box.h>
00051 #include <FL/Fl_Choice.h>
00052 #include <FL/fl_ask.h>
00053 #include <FL/fl_draw.h>
00054 #include <FL/fl_file_chooser.h>
00055 #include <FL/Fl_Color_Chooser.H>
00056 #include <FL/Fl_Menu_Bar.h>
00057 #include <FL/Fl_Button.h>
00058 #include <FL/Fl_Menu_Button.h>
00059 #include <FL/Fl_Counter.h>
00060 #endif
00061 
00062 template <class T, class S>
00063 class sphere
00064 {
00065     public:
00066         T x;    
00067         T y;    
00068         T z;    
00069         S size; 
00070 
00076         unsigned char color;
00077 
00087         sphere ( double x, double y, double z, double size, int color );
00088 
00094         sphere ();
00095 };
00096 
00097 
00105 template <class T, class S>
00106 class gl_sphere: public sphere<T,S>
00107 {
00108     public:
00109         double distance;        
00110 
00117         static void convert ( ap_array<sphere<T,S> > *spheres,
00118                 ap_array<gl_sphere<T,S> > *gl_spheres );
00119 
00131         static void compute_distances ( gl_sphere<T,S> *spheres, int n, double eye[3]);
00132 };
00133 
00137 template <class T, class S>
00138 ostream & operator << ( ostream & out, sphere<T,S> & s );
00139 
00143 template <class T, class S>
00144 istream & operator >> ( istream & in, sphere<T,S> & s );
00145 
00155 typedef sphere<short,byte> sphere_s;
00156 
00164 typedef sphere<float,float> sphere_f;
00165 
00169 typedef gl_sphere<short,byte> gl_sphere_s;
00170 
00174 typedef gl_sphere<float,float> gl_sphere_f;
00175 #endif

Generated on Thu Nov 27 08:17:11 2003 for Animp - Animated Particles by doxygen 1.3.2