KASKADE 7 development version
Classes | Public Types | Public Member Functions | List of all members
GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy > Class Template Reference

Stores a grid in a tree structure, allowing fast searches. More...

#include <gridtree.hh>

Detailed Description

template<class GRID, template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
class GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >

Stores a grid in a tree structure, allowing fast searches.

Parameters
GRID
BoundingBoxTypetype of the bounding box. Provided are BoundingBox and FastBoundingBox. The last inherits BoundingBox and additionally stores its corners, edges and faces for fast access.
lowerSplittingBorderif a node gets less cells it will not be split in grid tree creation process
SplittingPolicypolicy that determines the way new tree nodes are created (adjust this only if you have to much time and nothing else to do)

Definition at line 28 of file gridtree.hh.

Public Types

typedef GRID Grid
 
typedef Grid::LeafGridView::template Codim< 0 >::Entity Cell
 
typedef Cell::Geometry::ctype Scalar
 
typedef Cell::Geometry::GlobalCoordinate GlobalCoordinate
 
typedef BoundingBoxType< Scalar, Grid::dimension > BoundingBox
 

Public Member Functions

 GridTree (Grid const &grid, Scalar const maxHeight, Scalar const reltol=0.2)
 Constructor. More...
 
 GridTree (GridTree< Grid, BoundingBoxType, lowerSplittingBorder, SplittingPolicy > const &gt)
 Copy constructor. More...
 
 ~GridTree ()
 
bool contains (GlobalCoordinate const &x) const
 true if tree contains a cell containing x, else false More...
 
Cell const * getCell (GlobalCoordinate const &x) const
 
int height () const
 
void print () const
 
BoundingBox const & getBoundingBox () const
 

Member Typedef Documentation

◆ BoundingBox

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
typedef BoundingBoxType<Scalar,Grid::dimension> GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::BoundingBox

Definition at line 196 of file gridtree.hh.

◆ Cell

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
typedef Grid::LeafGridView::template Codim<0>::Entity GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::Cell

Definition at line 193 of file gridtree.hh.

◆ GlobalCoordinate

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
typedef Cell::Geometry::GlobalCoordinate GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::GlobalCoordinate

Definition at line 195 of file gridtree.hh.

◆ Grid

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
typedef GRID GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::Grid

Definition at line 192 of file gridtree.hh.

◆ Scalar

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
typedef Cell::Geometry::ctype GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::Scalar

Definition at line 194 of file gridtree.hh.

Constructor & Destructor Documentation

◆ GridTree() [1/2]

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::GridTree ( Grid const &  grid,
Scalar const  maxHeight,
Scalar const  reltol = 0.2 
)
inline

Constructor.

Parameters
grid
maxHeightmaximal grid tree height
reltoldetermine allowed relative difference in the number of cells of a nodes children (optional)

Definition at line 204 of file gridtree.hh.

◆ GridTree() [2/2]

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::GridTree ( GridTree< Grid, BoundingBoxType, lowerSplittingBorder, SplittingPolicy > const &  gt)
inline

Copy constructor.

Definition at line 208 of file gridtree.hh.

◆ ~GridTree()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::~GridTree ( )
inline

Definition at line 211 of file gridtree.hh.

Member Function Documentation

◆ contains()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
bool GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::contains ( GlobalCoordinate const &  x) const
inline

true if tree contains a cell containing x, else false

Definition at line 214 of file gridtree.hh.

◆ getBoundingBox()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
BoundingBox const & GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::getBoundingBox ( ) const
inline

Definition at line 234 of file gridtree.hh.

◆ getCell()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
Cell const * GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::getCell ( GlobalCoordinate const &  x) const
inline
Parameters
xcoordinate for which a cell containing it is searched
Returns
cell containing x if tree contains x, else a null pointer

Definition at line 220 of file gridtree.hh.

◆ height()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
int GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::height ( ) const
inline

◆ print()

template<class GRID , template< class, int > class BoundingBoxType = GeometricObject::BoundingBox, int lowerSplittingBorder = 1000, template< class, class > class SplittingPolicy = BisectionPolicy>
void GridTree< GRID, BoundingBoxType, lowerSplittingBorder, SplittingPolicy >::print ( ) const
inline

Definition at line 227 of file gridtree.hh.


The documentation for this class was generated from the following file: