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

cylinder.h

Go to the documentation of this file.
00001 
00013 #ifndef CYLINDER_H
00014 #define CYLINDER_H
00015 
00016 #include <iostream>
00017 #include <stdio.h>
00018 #include <stdlib.h>
00019 #include <string.h>
00020 #include <math.h>
00021 #include "my_types.h"
00022 #include "array.cpp"
00023 #include "sphere.h"
00024 
00025 #ifdef GRAPHICS
00026 #include <FL/Fl.h>
00027 #include <FL/Fl_Window.h>
00028 #include <FL/Fl_Double_Window.h>
00029 #include <FL/Fl_Gl_Window.h>
00030 #include <FL/Fl_Input.h>
00031 #include <FL/Fl_Box.h>
00032 #include <FL/Fl_Choice.h>
00033 #include <FL/fl_ask.h>
00034 #include <FL/fl_draw.h>
00035 #include <FL/fl_file_chooser.h>
00036 #include <FL/Fl_Color_Chooser.H>
00037 #include <FL/Fl_Menu_Bar.h>
00038 #include <FL/Fl_Button.h>
00039 #include <FL/Fl_Menu_Button.h>
00040 #include <FL/Fl_Counter.h>
00041 #endif
00042 
00057 template <class T, class S>
00058 class cylinder
00059 {
00060     public:
00061         T x1;   
00062         T y1;   
00063         T z1;   
00064         T x2;   
00065         T y2;   
00066         T z2;   
00067         S size1;        
00068         S size2;        
00069         S size; 
00070 
00073         byte color;
00074 
00092         cylinder<T,S> ( double x1, double y1, double z1, double size1,
00093                 double x2, double y2, double z2, double size2,
00094                 double size, int color );
00095 
00101         cylinder<T,S> ();
00102 };
00103 
00121 template <class T, class S>
00122 class gl_cylinder
00123 {
00124     public:
00125         double x;       
00126         double y;       
00127         double z;       
00128         double height;  
00129         double axis[3]; 
00130         double angle;   
00131         double radius;  
00132         int color;      
00133 
00140         static ap_array<gl_cylinder<T,S> > *convert(ap_array<cylinder<T,S> >*c);
00141 
00148         static void convert ( ap_array<cylinder<T,S> > *c,
00149                 ap_array<gl_cylinder<T,S> > *g );
00150 
00154         gl_cylinder<T,S> ( cylinder<T,S> *c );
00155 
00159         gl_cylinder<T,S>();
00160 };
00161 
00165 template <class T, class S>
00166 ostream & operator << ( ostream & out, cylinder<T,S> & c );
00167 
00171 typedef cylinder<float,float> cylinder_f;
00172 
00176 typedef gl_cylinder<float,float> gl_cylinder_f;
00177 
00181 typedef cylinder<short,byte> cylinder_s;
00182 
00186 typedef gl_cylinder<short,byte> gl_cylinder_s;
00187 #endif

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