00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __ugraph_H
00031 #ifdef __GNUG__
00032 #pragma interface
00033 #endif
00034 #define __ugraph_H 1
00035
00036 #if defined(HAVE_CONFIG_H)
00037 #include <config.h>
00038 #endif
00039
00040
00041 #include <femMesh.hpp>
00042
00043
00044 namespace fem
00045 {
00046 DECLARE_CLASS( femGraphicDeviceIndependent );
00047
00056 class femGraphicDeviceIndependent
00057 {
00058 public:
00059
00063 typedef femMesh::femPoint femPoint;
00064 typedef femMesh::femTriangle femTriangle;
00065
00066
00068
00072
00073
00074 femGraphicDeviceIndependent( femMesh* = 0 );
00075 ~femGraphicDeviceIndependent();
00076
00078
00082 void setTriangulation( femMesh* );
00084
00088 void graph3d(float* f, int waitm);
00089 void showtriangulation(int waitm);
00090 void equpot(int *ng, float* f, int nl, int waitm);
00091 void equpotd(int *ng, float* f, int nl, int waitm);
00092 void showbdy(long nbs,float* cr, long nba, long* arete, float* hh, int waitm);
00094
00095 private:
00096
00097 void Init (femPoint* rp, int ns, char *s);
00098 void quicksort (float *tb, int *o, int n);
00099 void initt (void);
00100 void projection (float *f);
00101 void contour (int ng[], int coul);
00102
00103 private:
00104
00105 femMesh* __t;
00106
00107 int* ordre;
00108 float* table;
00109 femPoint* proj;
00110 float xfmin;
00111 float xfmax;
00112 };
00113 }
00114 #endif
00115