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

#include <QuadtreePolarEuclid.h>

Public Member Functions

 QuadtreePolarEuclid ()
 
 QuadtreePolarEuclid (double maxR, bool theoreticalSplit=false, double alpha=1, count capacity=1000, double balance=0.5)
 
 QuadtreePolarEuclid (const vector< double > &angles, const vector< double > &radii, const vector< T > &content, bool theoreticalSplit=false, count capacity=1000, double balance=0.5)
 
void addContent (T newcomer, double angle, double r)
 
bool removeContent (T toRemove, double angle, double r)
 
vector< T > getElements () const
 Get all elements, regardless of position. More...
 
void extractCoordinates (vector< double > &anglesContainer, vector< double > &radiiContainer) const
 
void getElementsInEuclideanCircle (const Point2D< double > circleCenter, const double radius, vector< T > &circleDenizens) const
 
count getElementsProbabilistically (Point2D< double > euQuery, std::function< double(double)> prob, vector< T > &circleDenizens)
 
count getElementsProbabilistically (Point2D< double > euQuery, std::function< double(double)> prob, bool suppressLeft, vector< T > &circleDenizens)
 
void recount ()
 
count size () const
 
count height () const
 
count countLeaves () const
 
index indexSubtree (index nextID)
 
index getCellID (double phi, double r) const
 
double getMaxRadius () const
 
void reindex ()
 
void trim ()
 trims the vectors used to hold the content in the leaf cells. More...
 

Friends

class QuadTreePolarEuclidGTest
 

Constructor & Destructor Documentation

template<class T >
NetworKit::QuadtreePolarEuclid< T >::QuadtreePolarEuclid ( )
inline
template<class T >
NetworKit::QuadtreePolarEuclid< T >::QuadtreePolarEuclid ( double  maxR,
bool  theoreticalSplit = false,
double  alpha = 1,
count  capacity = 1000,
double  balance = 0.5 
)
inline
Parameters
maxRRadius of the managed area. Must be smaller than 1.
theoreticalSplitIf true, split cells to get the same area in each child cell. Default is false
alphadispersion Parameter of the point distribution. Only has an effect if theoretical split is true
capacityHow many points can inhabit a leaf cell before it is split up?
template<class T >
NetworKit::QuadtreePolarEuclid< T >::QuadtreePolarEuclid ( const vector< double > &  angles,
const vector< double > &  radii,
const vector< T > &  content,
bool  theoreticalSplit = false,
count  capacity = 1000,
double  balance = 0.5 
)
inline

Member Function Documentation

template<class T >
void NetworKit::QuadtreePolarEuclid< T >::addContent ( newcomer,
double  angle,
double  r 
)
inline
Parameters
newcomercontent to be added at point x
angleangular coordinate of x
Rradial coordinate of x
template<class T >
count NetworKit::QuadtreePolarEuclid< T >::countLeaves ( ) const
inline
template<class T >
void NetworKit::QuadtreePolarEuclid< T >::extractCoordinates ( vector< double > &  anglesContainer,
vector< double > &  radiiContainer 
) const
inline
template<class T >
index NetworKit::QuadtreePolarEuclid< T >::getCellID ( double  phi,
double  r 
) const
inline
template<class T >
vector<T> NetworKit::QuadtreePolarEuclid< T >::getElements ( ) const
inline

Get all elements, regardless of position.

Returns
vector<T> of elements
template<class T >
void NetworKit::QuadtreePolarEuclid< T >::getElementsInEuclideanCircle ( const Point2D< double >  circleCenter,
const double  radius,
vector< T > &  circleDenizens 
) const
inline
template<class T >
count NetworKit::QuadtreePolarEuclid< T >::getElementsProbabilistically ( Point2D< double >  euQuery,
std::function< double(double)>  prob,
vector< T > &  circleDenizens 
)
inline
template<class T >
count NetworKit::QuadtreePolarEuclid< T >::getElementsProbabilistically ( Point2D< double >  euQuery,
std::function< double(double)>  prob,
bool  suppressLeft,
vector< T > &  circleDenizens 
)
inline
template<class T >
double NetworKit::QuadtreePolarEuclid< T >::getMaxRadius ( ) const
inline
template<class T >
count NetworKit::QuadtreePolarEuclid< T >::height ( ) const
inline
template<class T >
index NetworKit::QuadtreePolarEuclid< T >::indexSubtree ( index  nextID)
inline
template<class T >
void NetworKit::QuadtreePolarEuclid< T >::recount ( )
inline
template<class T >
void NetworKit::QuadtreePolarEuclid< T >::reindex ( )
inline
template<class T >
bool NetworKit::QuadtreePolarEuclid< T >::removeContent ( toRemove,
double  angle,
double  r 
)
inline
Parameters
newcomercontent to be removed at point x
angleangular coordinate of x
Rradial coordinate of x
template<class T >
count NetworKit::QuadtreePolarEuclid< T >::size ( ) const
inline
template<class T >
void NetworKit::QuadtreePolarEuclid< 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 QuadTreePolarEuclidGTest
friend

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