FreeFem  3.5.x
femGraphicDeviceIndependent.hpp
1 // Emacs will be in -*- Mode: c++ -*-
2 //
3 // ********** DO NOT REMOVE THIS BANNER **********
4 //
5 // SUMMARY: Language for a Finite Element Method
6 //
7 // AUTHORS: C. Prud'homme
8 // ORG :
9 // E-MAIL : prudhomm@users.sourceforge.net
10 //
11 // ORIG-DATE: June-94
12 // LAST-MOD: 13-Aug-00 at 22:41:05 by Christophe Prud'homme
13 //
14 // DESCRIPTION:
15 // This program is free software; you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation; either version 2 of the License, or
18 // (at your option) any later version.
19 
20 // This program is distributed in the hope that it will be useful,
21 // but WITHOUT ANY WARRANTY; without even the implied warranty of
22 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 // GNU General Public License for more details.
24 
25 // You should have received a copy of the GNU General Public License
26 // along with this program; if not, write to the Free Software
27 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28 // DESCRIP-END.
29 //
30 #ifndef __ugraph_H
31 #ifdef __GNUG__
32 #pragma interface
33 #endif
34 #define __ugraph_H 1
35 
36 #if defined(HAVE_CONFIG_H)
37 #include <config.h>
38 #endif /* HAVE_CONFIG_H */
39 
40 
41 #include <femMesh.hpp>
42 
43 
44 namespace fem
45 {
46  DECLARE_CLASS( femGraphicDeviceIndependent );
47 
57  {
58  public:
59 
63  typedef femMesh::femPoint femPoint;
64  typedef femMesh::femTriangle femTriangle;
65 
66 
68 
72 
73 
76 
78 
82  void setTriangulation( femMesh* );
84 
88  void graph3d(float* f, int waitm);
89  void showtriangulation(int waitm);
90  void equpot(int *ng, float* f, int nl, int waitm);
91  void equpotd(int *ng, float* f, int nl, int waitm);
92  void showbdy(long nbs,float* cr, long nba, long* arete, float* hh, int waitm);
94 
95  private:
96 
97  void Init (femPoint* rp, int ns, char *s);
98  void quicksort (float *tb, int *o, int n);
99  void initt (void);
100  void projection (float *f);
101  void contour (int ng[], int coul);
102 
103  private:
104 
105  femMesh* __t;
106 
107  int* ordre;
108  float* table;
109  femPoint* proj;
110  float xfmin;
111  float xfmax;
112  };
113 }
114 #endif /* __FEMGRAPHICDEVICEINDEPENDENT_H */
115 
#define DECLARE_CLASS(tag)
Declare class , class pointer , const pointer, class reference and const class reference types for cl...
Definition: femCommon.hpp:64
float femPoint[2]
node type
Definition: femMesh.hpp:67
device independat graphic class
Definition: femGraphicDeviceIndependent.hpp:56
Mesh class.
Definition: femMesh.hpp:52
long femTriangle[3]
cell type
Definition: femMesh.hpp:70

This is the FreeFEM reference manual
Provided by The KFEM project