COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
coDoOctTree.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef CO_DO_OCTTREE_H
9 #define CO_DO_OCTTREE_H
10 
11 // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 // CLASS OctTree
13 //
14 // This class manages an octtree structure for cell location in unstructured grids
15 //
16 // Initial version: 2001-12-10 Sergio Leseduarte
17 // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 // (C) 2001 by VirCinity IT Consulting
19 // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20 // Changes:
21 
22 #include "coDoBasisTree.h"
23 
24 namespace covise
25 {
26 
32 {
33  friend class coDoInitializer;
34  static coDistributedObject *virtualCtor(coShmArray *arr);
35 
36 public:
40  coDoOctTree(const coObjInfo &info);
41 
46  coDoOctTree(const coObjInfo &info, coShmArray *arr);
47 
55  coDoOctTree(const coObjInfo &info,
56  int cellListSize,
57  int macroCellListSize,
58  int cellBBoxesSize,
59  int gridBBoxSize)
60  : coDoBasisTree(info, "OCTREE", "OCT-TREE", cellListSize, macroCellListSize, cellBBoxesSize, gridBBoxSize)
61  {
62  }
63 
75  coDoOctTree(const coObjInfo &info, int nelem, int nconn, int ncoord,
76  int *el, int *conn, float *x_c, float *y_c, float *z_c,
77  int normal_size = NORMAL_SIZE,
78  int max_no_levels = MAX_NO_LEVELS,
79  int min_small_enough = MIN_SMALL_ENOUGH,
80  int crit_level = CRIT_LEVEL,
81  int limit_fX = INT_MAX,
82  int limit_fY = INT_MAX,
83  int limit_fZ = INT_MAX);
84 
91  int IsInBBox(int cell, int no_e, const float *point) const;
92 
94  virtual ~coDoOctTree();
95 
96 protected:
97  coDoOctTree *cloneObject(const coObjInfo &newinfo) const;
98 
99 private:
100 };
101 }
102 #endif
coDoOctTree(const coObjInfo &info, int cellListSize, int macroCellListSize, int cellBBoxesSize, int gridBBoxSize)
Definition: coDoOctTree.h:55
Definition: coDoBasisTree.h:29
Definition: covise_shm.h:481
Definition: covise_statics.cpp:54
Definition: coObjID.h:230
Definition: coDoOctTree.h:31
#define DOEXPORT
Definition: coExport.h:307
Definition: coDistributedObject.h:295