All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
NetworKit::QuadtreeCartesianEuclid< T > Class Template Reference

#include <QuadtreeCartesianEuclid.h>

Public Member Functions

 QuadtreeCartesianEuclid (Point< double > lower=Point< double >({0.0, 0.0}), Point< double > upper=Point< double >({1.0, 1.0}), bool theoreticalSplit=false, count capacity=1000)
 
 QuadtreeCartesianEuclid (const vector< Point< double > > &positions, const vector< T > &content, bool theoreticalSplit=false, count capacity=1000)
 
void addContent (T newcomer, Point< double > pos)
 
bool removeContent (T toRemove, Point< double > pos)
 
vector< T > getElements () const
 Get all elements, regardless of position. More...
 
void extractCoordinates (vector< Point< double > > &posContainer) const
 
void getElementsInEuclideanCircle (const Point< double > circleCenter, const double radius, vector< T > &circleDenizens) const
 
template<typename L >
count getElementsProbabilistically (Point< double > euQuery, L prob, vector< T > &circleDenizens)
 
void recount ()
 
count size () const
 
count height () const
 
count countLeaves () const
 
index indexSubtree (index nextID)
 
index getCellID (Point< double > pos) const
 
void reindex ()
 
void trim ()
 trims the vectors used to hold the content in the leaf cells. More...
 

Friends

class QuadTreeCartesianEuclidGTest
 

Constructor & Destructor Documentation

template<class T >
NetworKit::QuadtreeCartesianEuclid< T >::QuadtreeCartesianEuclid ( Point< double >  lower = Point<double>({0.0, 0.0}),
Point< double >  upper = Point<double>({1.0, 1.0}),
bool  theoreticalSplit = false,
count  capacity = 1000 
)
inline
Parameters
lowerMinimal coordinates of region
upperMaximal coordinates of region (excluded)
capacityNumber of points a leaf cell can store before splitting
splitTheoreticalWhether to split in a theoretically optimal way or in a way to decrease measured running times
template<class T >
NetworKit::QuadtreeCartesianEuclid< T >::QuadtreeCartesianEuclid ( const vector< Point< double > > &  positions,
const vector< T > &  content,
bool  theoreticalSplit = false,
count  capacity = 1000 
)
inline

Member Function Documentation

template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::addContent ( newcomer,
Point< double >  pos 
)
inline
Parameters
newcomercontent to be added at point x
angleangular coordinate of x
Rradial coordinate of x
template<class T >
count NetworKit::QuadtreeCartesianEuclid< T >::countLeaves ( ) const
inline
template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::extractCoordinates ( vector< Point< double > > &  posContainer) const
inline
template<class T >
index NetworKit::QuadtreeCartesianEuclid< T >::getCellID ( Point< double >  pos) const
inline
template<class T >
vector<T> NetworKit::QuadtreeCartesianEuclid< T >::getElements ( ) const
inline

Get all elements, regardless of position.

Returns
vector<T> of elements
template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::getElementsInEuclideanCircle ( const Point< double >  circleCenter,
const double  radius,
vector< T > &  circleDenizens 
) const
inline
template<class T >
template<typename L >
count NetworKit::QuadtreeCartesianEuclid< T >::getElementsProbabilistically ( Point< double >  euQuery,
prob,
vector< T > &  circleDenizens 
)
inline
template<class T >
count NetworKit::QuadtreeCartesianEuclid< T >::height ( ) const
inline
template<class T >
index NetworKit::QuadtreeCartesianEuclid< T >::indexSubtree ( index  nextID)
inline
template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::recount ( )
inline
template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::reindex ( )
inline
template<class T >
bool NetworKit::QuadtreeCartesianEuclid< T >::removeContent ( toRemove,
Point< double >  pos 
)
inline
Parameters
newcomercontent to be removed at point x
angleangular coordinate of x
Rradial coordinate of x
template<class T >
count NetworKit::QuadtreeCartesianEuclid< T >::size ( ) const
inline
template<class T >
void NetworKit::QuadtreeCartesianEuclid< T >::trim ( )
inline

trims the vectors used to hold the content in the leaf cells.

Reduces memory usage, makes changes slower

Friends And Related Function Documentation

template<class T >
friend class QuadTreeCartesianEuclidGTest
friend

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