Main Page   Alphabetical List   Compound List   File List   Compound Members  

femGraphicDeviceIndependent.hpp

00001 // Emacs will be in -*- Mode: c++ -*-
00002 //
00003 // ********** DO NOT REMOVE THIS BANNER **********
00004 //
00005 // SUMMARY: Language for a Finite Element Method
00006 //
00007 // AUTHORS:  C. Prud'homme
00008 // ORG    :          
00009 // E-MAIL : prudhomm@users.sourceforge.net
00010 //
00011 // ORIG-DATE:     June-94
00012 // LAST-MOD:     13-Aug-00 at 22:41:05 by Christophe Prud'homme
00013 //
00014 // DESCRIPTION:  
00015 //   This program is free software; you can redistribute it and/or modify
00016 //   it under the terms of the GNU General Public License as published by
00017 //   the Free Software Foundation; either version 2 of the License, or
00018 //   (at your option) any later version.
00019   
00020 //   This program is distributed in the hope that it will be useful,
00021 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
00022 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023 //   GNU General Public License for more details.
00024   
00025 //   You should have received a copy of the GNU General Public License
00026 //   along with this program; if not, write to the Free Software
00027 //   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00028 // DESCRIP-END.
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 /* HAVE_CONFIG_H */
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 /* __FEMGRAPHICDEVICEINDEPENDENT_H */
00115 

This is the FreeFEM reference manual
Provided by The KFEM project