Ignore:
Timestamp:
05/08/12 11:10:50 (13 years ago)
Author:
Mathieu Morlighem
Message:

Better Quadtree with new fields (box center and length)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/objects/Kriging/Quadtree.h

    r12216 r12225  
    1616                class QuadtreeBox: public Object{
    1717                        public:
    18                                 int nbitems; // number of current vertices in the box
     18                                int    nbitems; // number of current vertices in the box
     19                                double xcenter; // x position of the center (double)
     20                                double ycenter; // x position of the center (double)
     21                                double length;  // width of the box
    1922                                union{
    2023                                        QuadtreeBox *box[4];
     
    2326
    2427                                /*Object functions (Needed because the Quadtree uses a Container*/
    25                                 void    Echo()      {_error_("not implemented yet"); };
     28                                void    Echo();
    2629                                void    DeepEcho()  {_error_("not implemented yet"); };
    2730                                int     Id()        {_error_("not implemented yet"); };
     
    3538
    3639        public:
    37                 int          MaxDepth;      // maximum number of subdivision
    38                 QuadtreeBox *root;          // main box
    39                 long         NbQuadtreeBox; // total number of boxes
    40                 long         NbObs;         // number of points
     40                int          MaxDepth;          // maximum number of subdivision
     41                double       coordconversion;   // Coefficient to convert coordinates to integer
     42                QuadtreeBox *root;              // main box
     43                long         NbQuadtreeBox;     // total number of boxes
     44                long         NbObs;             // number of points
    4145
    4246                Quadtree();
     47                Quadtree(double xmin,double xmax,double ymin,double ymax,int maxdepth_in);
    4348                ~Quadtree();
     49                void         Add(Observation *observation);
     50                void         DeepEcho(void);
    4451                void         Echo(void);
    45                 void         Add(Observation *observation);
    46                 void         QuadtreeColoring(double *A,int *xi,int *yi,int n);
    47                 QuadtreeBox *NewQuadtreeBox(void);
     52                void         IntergerCoordinates(int *xi,int *yi,double x,double y);
     53                QuadtreeBox *NewQuadtreeBox(double xcenter,double ycenter,double length);
     54                QuadtreeBox *NewQuadtreeBox(QuadtreeBox* master,int index);
     55                void         QuadtreeColoring(double *A,int xi,int yi);
    4856};
    4957#endif //_QUADTREEK_H
Note: See TracChangeset for help on using the changeset viewer.