/[escript]/branches/refine/buckley/src/OctCell1.h
ViewVC logotype

Contents of /branches/refine/buckley/src/OctCell1.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3668 - (show annotations)
Wed Nov 16 01:49:46 2011 UTC (7 years, 10 months ago) by jfenwick
File MIME type: text/plain
File size: 1145 byte(s)
Stage 1 rename
1
2 namespace refine
3 {
4
5 class OctCell;
6
7 typedef void (*cellfunct)(const OctCell&, void*);
8
9
10
11 class OctCell
12 {
13 public:
14 OctCell(double x1, double y1, double z1, double x2, double y2, double z2, OctCell* par);
15 ~OctCell();
16 void split(); // split this cell into 8 children
17 void collapse(); // remove all kids and make this a leaf
18 void collapseAll(unsigned desdepth);
19 void collapsePoint(double x, double y, double z, unsigned d);
20 void allSplit(unsigned int depth);
21 void splitPoint(double x, double y, double z, unsigned desdepth);
22 void merge();
23 void doLeafWalk(cellfunct c, void* v);
24 OctCell* findLeaf(double x, double y, double z);
25 //private:
26 void upSplitPoint(double x, double y, double z, unsigned d);
27 void upCollPoint(double x, double y, double z, unsigned d);
28 void outwardRefine(unsigned desireddepth);
29 void outwardCollapse(unsigned desireddepth);
30
31 bool leaf;
32 double centre[3];
33 double sides[3]; // dimensions in x,y,z
34 OctCell* kids[8];
35 unsigned int depth;
36 OctCell* parent;
37 unsigned int id;
38 };
39
40 }

  ViewVC Help
Powered by ViewVC 1.1.26