Go to the documentation of this file.00001
00002
00003
00004 #ifndef _QUADMESH_H
00005 #define _QUADMESH_H
00006 #include "dataStructure.h"
00007 class QuadMesh {
00008 public:
00009 int nverts, nfaces, nedges;
00010 QuadCell **quadcells;
00011 QuadVertex **quad_verts;
00012 int XDIM, YDIM;
00013 double xinterval, yinterval;
00014 double xstart, xend, ystart, yend;
00015
00016 double area;
00017 double radius;
00018 double ave_edge_length;
00019 icVector3 center;
00020
00021 QuadEdge *elist;
00022 QuadEdge **edgelist;
00023
00024 QuadMesh();
00025 ~QuadMesh();
00026 QuadMesh(int xdim, int ydim, double xstart, double xend,
00027 double ystart, double yend);
00028 bool gen_regquad_mesh(int xdim, int ydim, double xstart, double xend,
00029 double ystart, double yend);
00030 bool gen_regquad_vertices(int xdim, int ydim, double xstart, double xend,
00031 double ystart, double yend);
00032 void init_vertices();
00033 void gen_regquad_faces(int xdim, int ydim) ;
00034 void finalize_quad_verts();
00035 void finalize_quad_cells();
00036 void construct_edges();
00037 QuadEdge **Extend_Elist(QuadEdge **edge_link, int Num_edges);
00038 QuadCell **extend_celllist_ver(QuadCell **cells, int ncells);
00039 void orient_edges_cells();
00040 };
00041
00042
00043
00044 #endif // !_QUADMESH_H
00045