Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::fast_multipole_embedder::LinearQuadtree Class Reference

#include <ogdf/energybased/fast_multipole_embedder/LinearQuadtree.h>

Classes

struct  bottom_up_traversal_functor
 bottom up traversal of the subtree of a given node More...
 
struct  forall_children_functor
 simple functor for iterating over all children of a node More...
 
struct  forall_ordered_pairs_of_children_functor
 functor for iterating over all ordered pairs of children of a node More...
 
struct  forall_points_functor
 simple functor for iterating over all points of a node More...
 
struct  forall_tree_nodes_functor
 simple functor for iterating over all nodes More...
 
struct  is_fence_condition_functor
 
struct  is_leaf_condition_functor
 
struct  LQNode
 
struct  LQPoint
 
struct  LQWSPair
 
struct  StoreDirectNodeFunctor
 
struct  StoreDirectPairFunctor
 
struct  StoreWSPairFunctor
 
struct  top_down_traversal_functor
 top down traversal of the subtree of a given node More...
 
struct  wspd_functor
 

Public Types

using NodeID = unsigned int
 
using PointID = unsigned int
 

Public Member Functions

 LinearQuadtree (uint32_t n, float *origXPos, float *origYPos, float *origSize)
 constructor. required tree mem will be allocated More...
 
 ~LinearQuadtree (void)
 destructor. tree mem will be released More...
 
template<typename F >
bottom_up_traversal_functor< F > bottom_up_traversal (F f) const
 creator More...
 
template<typename F , typename Cond >
bottom_up_traversal_functor< F, Cond > bottom_up_traversal (F f, Cond cond) const
 creator More...
 
NodeID child (NodeID nodeID, uint32_t i) const
 returns the i th child index of node nodeID More...
 
void clear ()
 resets the tree More...
 
void computeCoords (NodeID nodeIndex)
 
void computeWSPD ()
 
void computeWSPD (NodeID n)
 
NodeID directNode (uint32_t i) const
 
NodeID directNodeA (uint32_t i) const
 
NodeID directNodeB (uint32_t i) const
 
PointID findFirstPointInCell (PointID somePointInCell) const
 
NodeID firstInnerNode () const
 
NodeID firstLeaf () const
 
PointID firstPoint (NodeID nodeID) const
 
template<typename F >
forall_children_functor< F > forall_children (F f) const
 creator More...
 
template<typename F >
forall_ordered_pairs_of_children_functor< F > forall_ordered_pairs_of_children (F f) const
 creator More...
 
template<typename Func >
forall_points_functor< Func > forall_points (const Func &func) const
 creator More...
 
template<typename F >
forall_tree_nodes_functor< F > forall_tree_nodes (F f, NodeID begin, uint32_t num) const
 creator More...
 
template<typename A , typename B , typename C >
wspd_functor< A, B, C > forall_well_separated_pairs (A a, B b, C c)
 
template<typename A , typename B , typename C , typename ConditionType >
wspd_functor< A, B, C, ConditionType > forall_well_separated_pairs (A a, B b, C c, ConditionType cond)
 
void init (float min_x, float min_y, float max_x, float max_y)
 
is_fence_condition_functor is_fence_condition () const
 creator More...
 
is_leaf_condition_functor is_leaf_condition () const
 creator More...
 
bool isFence (NodeID nodeID) const
 sets the fence flag for node nodeID More...
 
bool isLeaf (NodeID nodeID) const
 returns true if the given node index is a leaf More...
 
bool isWS (NodeID a, NodeID b) const
 
NodeID level (NodeID nodeID) const
 
uint32_t maxNumberOfNodes () const
 the upper bound for a compressed quadtree (2*numPoints) More...
 
float maxX () const
 
float maxY () const
 
float minX () const
 
float minY () const
 
MortonNR mortonNr (PointID point) const
 
NodeID nextNode (NodeID nodeID) const
 
void nodeFence (NodeID nodeID)
 
NodeID nodeOfPoint (PointID id) const
 
float nodeSize (NodeID nodeID) const
 
float nodeX (NodeID nodeID) const
 
float nodeY (NodeID nodeID) const
 
uint32_t numberOfChilds (NodeID nodeID) const
 returns the number of children of node nodeID. for an inner node this is 1..4 and can be accessed by child(i). For a leaf the number of points in this leaf is returned starting with point child(0) More...
 
uint32_t numberOfDirectNodes () const
 
uint32_t numberOfDirectPairs () const
 
uint32_t numberOfInnerNodes () const
 
uint32_t numberOfLeaves () const
 
uint32_t numberOfNodes () const
 returns the number of nodes in this tree More...
 
uint32_t numberOfPoints () const
 returns the number of points in this tree More...
 
uint32_t numberOfPoints (NodeID nodeID) const
 returns the number of points contained in the subtree of node nodeID More...
 
uint32_t numberOfWSP () const
 
LQPointpoint (PointID pointID)
 
const LQPointpoint (PointID pointID) const
 
LQPointpointArray ()
 
NodeID pointLeaf (PointID point) const
 
float * pointSize () const
 
float pointSize (PointID point) const
 
float * pointX () const
 
float pointX (PointID point) const
 
float * pointY () const
 
float pointY (PointID point) const
 
uint32_t refOfPoint (PointID id) const
 
NodeID root () const
 returns the index of the root More...
 
double scaleInv () const
 
void setChild (NodeID nodeID, uint32_t i, NodeID c)
 sets the i th child index of node nodeID More...
 
void setFirstPoint (NodeID nodeID, PointID firstPoint)
 
void setLevel (NodeID nodeID, uint32_t level)
 
void setNextNode (NodeID nodeID, NodeID next)
 
void setNodeSize (NodeID nodeID, float size)
 
void setNodeX (NodeID nodeID, float x)
 
void setNodeY (NodeID nodeID, float y)
 
void setNumberOfChilds (NodeID nodeID, uint32_t numChilds)
 sets the number of children of a node More...
 
void setNumberOfPoints (NodeID nodeID, uint32_t numPoints)
 sets the number of nodes containted in node nodeID More...
 
void setPoint (PointID id, float x, float y, float r)
 
void setPoint (PointID id, float x, float y, float r, uint32_t ref)
 
void setPoint (PointID id, float x, float y, uint32_t ref)
 
void setPointLeaf (PointID point, NodeID leaf)
 
uint64_t sizeInBytes () const
 
StoreDirectNodeFunctor StoreDirectNodeFunction ()
 
StoreDirectPairFunctor StoreDirectPairFunction ()
 
StoreWSPairFunctor StoreWSPairFunction ()
 
template<typename F >
top_down_traversal_functor< F > top_down_traversal (F f) const
 creator More...
 
template<typename F , typename Cond >
top_down_traversal_functor< F, Cond > top_down_traversal (F f, Cond cond) const
 creator More...
 
void updatePointPositionSize (PointID id)
 
WSPDwspd () const
 

Private Member Functions

void addDirect (NodeID s)
 add a direct node to the array list of direct nodes More...
 
void addDirectPair (NodeID s, NodeID t)
 add a direct pair to the array list of direct pairs More...
 
void addWSPD (NodeID s, NodeID t)
 adds a well-separated pair to the wspd More...
 
void allocate (uint32_t n)
 helper function for allocating the array's More...
 
void deallocate ()
 helper function for releasing memory More...
 
void initInnerNode (NodeID nodeID, NodeID leftChild, NodeID rightChild, uint32_t level, NodeID next)
 
void initLeaf (NodeID leaf, PointID firstPoint, uint32_t numPoints, NodeID next)
 
void leafAppendPoint (NodeID leaf, PointID point)
 appends an successing point by simply increasing childcount of a leaf. Assumes isLeaf More...
 
void nodeAppendChild (NodeID nodeID, NodeID child)
 appends one child index. Assumes childCount < 4 and not leaf More...
 

Private Attributes

double m_cellSize
 the height and width of a grid cell More...
 
NodeIDm_directNodes
 
NodeID m_firstInner
 first inner node in the inner node chain More...
 
NodeID m_firstLeaf
 first leaf in the leaf chain More...
 
float m_max_x
 the x coordinate of the right most point More...
 
float m_max_y
 the y coordinate of the top most point More...
 
uint32_t m_maxNumNodes
 the maximum number of nodes (2*n here instead of 2*n-1) More...
 
float m_min_x
 the x coordinate of the left most point More...
 
float m_min_y
 the y coordinate of the bottom most point More...
 
float * m_nodeSize
 node size More...
 
float * m_nodeXPos
 node x coord More...
 
float * m_nodeYPos
 node y coord More...
 
LQWSPairm_notWspd
 
uint32_t m_numDirectNodes
 
uint32_t m_numInnerNodes
 number of inner nodes in the chain More...
 
uint32_t m_numLeaves
 number of leaves in the chain More...
 
uint32_t m_numNotWSP
 
uint32_t m_numPoints
 number of points this quadtree is based on More...
 
uint32_t m_numWSP
 
float * m_origSize
 point size in graph order More...
 
float * m_origXPos
 point x coord in graph order More...
 
float * m_origYPos
 point y coord in graph order More...
 
LQPointm_points
 the point order in tree order More...
 
float * m_pointSize
 point size in tree order More...
 
float * m_pointXPos
 point x coord in tree order More...
 
float * m_pointYPos
 point y coord in tree order More...
 
NodeID m_root
 the root of the tree More...
 
double m_scaleInv
 the inverse scale to transform More...
 
double m_sideLengthGrid
 the resulting side length of the grid (constant) More...
 
double m_sideLengthPoints
 the maximum of height and width More...
 
LQNodem_tree
 the main tree array containing all nodes (including leaves) More...
 
WSPDm_WSPD
 the wspd of this quadtree More...
 

Friends

class LinearQuadtreeBuilder
 
class LinearQuadtreeBuilderList
 

Detailed Description

Definition at line 50 of file LinearQuadtree.h.

Member Typedef Documentation

◆ NodeID

Definition at line 55 of file LinearQuadtree.h.

◆ PointID

Definition at line 56 of file LinearQuadtree.h.

Constructor & Destructor Documentation

◆ LinearQuadtree()

ogdf::fast_multipole_embedder::LinearQuadtree::LinearQuadtree ( uint32_t  n,
float *  origXPos,
float *  origYPos,
float *  origSize 
)

constructor. required tree mem will be allocated

◆ ~LinearQuadtree()

ogdf::fast_multipole_embedder::LinearQuadtree::~LinearQuadtree ( void  )

destructor. tree mem will be released

Member Function Documentation

◆ addDirect()

void ogdf::fast_multipole_embedder::LinearQuadtree::addDirect ( NodeID  s)
private

add a direct node to the array list of direct nodes

◆ addDirectPair()

void ogdf::fast_multipole_embedder::LinearQuadtree::addDirectPair ( NodeID  s,
NodeID  t 
)
private

add a direct pair to the array list of direct pairs

◆ addWSPD()

void ogdf::fast_multipole_embedder::LinearQuadtree::addWSPD ( NodeID  s,
NodeID  t 
)
private

adds a well-separated pair to the wspd

◆ allocate()

void ogdf::fast_multipole_embedder::LinearQuadtree::allocate ( uint32_t  n)
private

helper function for allocating the array's

◆ bottom_up_traversal() [1/2]

template<typename F >
bottom_up_traversal_functor<F> ogdf::fast_multipole_embedder::LinearQuadtree::bottom_up_traversal ( f) const
inline

creator

Definition at line 262 of file LinearQuadtree.h.

◆ bottom_up_traversal() [2/2]

template<typename F , typename Cond >
bottom_up_traversal_functor<F, Cond> ogdf::fast_multipole_embedder::LinearQuadtree::bottom_up_traversal ( f,
Cond  cond 
) const
inline

creator

Definition at line 268 of file LinearQuadtree.h.

◆ child()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::child ( NodeID  nodeID,
uint32_t  i 
) const
inline

returns the i th child index of node nodeID

Definition at line 406 of file LinearQuadtree.h.

◆ clear()

void ogdf::fast_multipole_embedder::LinearQuadtree::clear ( )

resets the tree

◆ computeCoords()

void ogdf::fast_multipole_embedder::LinearQuadtree::computeCoords ( NodeID  nodeIndex)
inline

Definition at line 555 of file LinearQuadtree.h.

◆ computeWSPD() [1/2]

void ogdf::fast_multipole_embedder::LinearQuadtree::computeWSPD ( )

◆ computeWSPD() [2/2]

void ogdf::fast_multipole_embedder::LinearQuadtree::computeWSPD ( NodeID  n)

◆ deallocate()

void ogdf::fast_multipole_embedder::LinearQuadtree::deallocate ( )
private

helper function for releasing memory

◆ directNode()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::directNode ( uint32_t  i) const
inline

Definition at line 535 of file LinearQuadtree.h.

◆ directNodeA()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::directNodeA ( uint32_t  i) const
inline

Definition at line 537 of file LinearQuadtree.h.

◆ directNodeB()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::directNodeB ( uint32_t  i) const
inline

Definition at line 539 of file LinearQuadtree.h.

◆ findFirstPointInCell()

PointID ogdf::fast_multipole_embedder::LinearQuadtree::findFirstPointInCell ( PointID  somePointInCell) const

◆ firstInnerNode()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::firstInnerNode ( ) const
inline

Definition at line 521 of file LinearQuadtree.h.

◆ firstLeaf()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::firstLeaf ( ) const
inline

Definition at line 525 of file LinearQuadtree.h.

◆ firstPoint()

PointID ogdf::fast_multipole_embedder::LinearQuadtree::firstPoint ( NodeID  nodeID) const
inline

Definition at line 383 of file LinearQuadtree.h.

◆ forall_children()

template<typename F >
forall_children_functor<F> ogdf::fast_multipole_embedder::LinearQuadtree::forall_children ( f) const
inline

creator

Definition at line 154 of file LinearQuadtree.h.

◆ forall_ordered_pairs_of_children()

template<typename F >
forall_ordered_pairs_of_children_functor<F> ogdf::fast_multipole_embedder::LinearQuadtree::forall_ordered_pairs_of_children ( f) const
inline

creator

Definition at line 204 of file LinearQuadtree.h.

◆ forall_points()

template<typename Func >
forall_points_functor<Func> ogdf::fast_multipole_embedder::LinearQuadtree::forall_points ( const Func &  func) const
inline

creator

Definition at line 177 of file LinearQuadtree.h.

◆ forall_tree_nodes()

template<typename F >
forall_tree_nodes_functor<F> ogdf::fast_multipole_embedder::LinearQuadtree::forall_tree_nodes ( f,
NodeID  begin,
uint32_t  num 
) const
inline

creator

Definition at line 130 of file LinearQuadtree.h.

◆ forall_well_separated_pairs() [1/2]

template<typename A , typename B , typename C >
wspd_functor<A, B, C> ogdf::fast_multipole_embedder::LinearQuadtree::forall_well_separated_pairs ( a,
b,
c 
)
inline

Definition at line 337 of file LinearQuadtree.h.

◆ forall_well_separated_pairs() [2/2]

template<typename A , typename B , typename C , typename ConditionType >
wspd_functor<A, B, C, ConditionType> ogdf::fast_multipole_embedder::LinearQuadtree::forall_well_separated_pairs ( a,
b,
c,
ConditionType  cond 
)
inline

Definition at line 331 of file LinearQuadtree.h.

◆ init()

void ogdf::fast_multipole_embedder::LinearQuadtree::init ( float  min_x,
float  min_y,
float  max_x,
float  max_y 
)

◆ initInnerNode()

void ogdf::fast_multipole_embedder::LinearQuadtree::initInnerNode ( NodeID  nodeID,
NodeID  leftChild,
NodeID  rightChild,
uint32_t  level,
NodeID  next 
)
inlineprivate

Definition at line 592 of file LinearQuadtree.h.

◆ initLeaf()

void ogdf::fast_multipole_embedder::LinearQuadtree::initLeaf ( NodeID  leaf,
PointID  firstPoint,
uint32_t  numPoints,
NodeID  next 
)
inlineprivate

Definition at line 583 of file LinearQuadtree.h.

◆ is_fence_condition()

is_fence_condition_functor ogdf::fast_multipole_embedder::LinearQuadtree::is_fence_condition ( ) const
inline

creator

Definition at line 91 of file LinearQuadtree.h.

◆ is_leaf_condition()

is_leaf_condition_functor ogdf::fast_multipole_embedder::LinearQuadtree::is_leaf_condition ( ) const
inline

creator

Definition at line 104 of file LinearQuadtree.h.

◆ isFence()

bool ogdf::fast_multipole_embedder::LinearQuadtree::isFence ( NodeID  nodeID) const
inline

sets the fence flag for node nodeID

Definition at line 415 of file LinearQuadtree.h.

◆ isLeaf()

bool ogdf::fast_multipole_embedder::LinearQuadtree::isLeaf ( NodeID  nodeID) const
inline

returns true if the given node index is a leaf

Definition at line 412 of file LinearQuadtree.h.

◆ isWS()

bool ogdf::fast_multipole_embedder::LinearQuadtree::isWS ( NodeID  a,
NodeID  b 
) const
inline

Definition at line 508 of file LinearQuadtree.h.

◆ leafAppendPoint()

void ogdf::fast_multipole_embedder::LinearQuadtree::leafAppendPoint ( NodeID  leaf,
PointID  point 
)
inlineprivate

appends an successing point by simply increasing childcount of a leaf. Assumes isLeaf

Definition at line 611 of file LinearQuadtree.h.

◆ level()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::level ( NodeID  nodeID) const
inline

Definition at line 375 of file LinearQuadtree.h.

◆ maxNumberOfNodes()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::maxNumberOfNodes ( ) const
inline

the upper bound for a compressed quadtree (2*numPoints)

Definition at line 435 of file LinearQuadtree.h.

◆ maxX()

float ogdf::fast_multipole_embedder::LinearQuadtree::maxX ( ) const
inline

Definition at line 549 of file LinearQuadtree.h.

◆ maxY()

float ogdf::fast_multipole_embedder::LinearQuadtree::maxY ( ) const
inline

Definition at line 551 of file LinearQuadtree.h.

◆ minX()

float ogdf::fast_multipole_embedder::LinearQuadtree::minX ( ) const
inline

Definition at line 545 of file LinearQuadtree.h.

◆ minY()

float ogdf::fast_multipole_embedder::LinearQuadtree::minY ( ) const
inline

Definition at line 547 of file LinearQuadtree.h.

◆ mortonNr()

MortonNR ogdf::fast_multipole_embedder::LinearQuadtree::mortonNr ( PointID  point) const
inline

Definition at line 393 of file LinearQuadtree.h.

◆ nextNode()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::nextNode ( NodeID  nodeID) const
inline

Definition at line 377 of file LinearQuadtree.h.

◆ nodeAppendChild()

void ogdf::fast_multipole_embedder::LinearQuadtree::nodeAppendChild ( NodeID  nodeID,
NodeID  child 
)
inlineprivate

appends one child index. Assumes childCount < 4 and not leaf

Definition at line 605 of file LinearQuadtree.h.

◆ nodeFence()

void ogdf::fast_multipole_embedder::LinearQuadtree::nodeFence ( NodeID  nodeID)
inline

Definition at line 506 of file LinearQuadtree.h.

◆ nodeOfPoint()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::nodeOfPoint ( PointID  id) const
inline

Definition at line 504 of file LinearQuadtree.h.

◆ nodeSize()

float ogdf::fast_multipole_embedder::LinearQuadtree::nodeSize ( NodeID  nodeID) const
inline

Definition at line 472 of file LinearQuadtree.h.

◆ nodeX()

float ogdf::fast_multipole_embedder::LinearQuadtree::nodeX ( NodeID  nodeID) const
inline

Definition at line 464 of file LinearQuadtree.h.

◆ nodeY()

float ogdf::fast_multipole_embedder::LinearQuadtree::nodeY ( NodeID  nodeID) const
inline

Definition at line 468 of file LinearQuadtree.h.

◆ numberOfChilds()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfChilds ( NodeID  nodeID) const
inline

returns the number of children of node nodeID. for an inner node this is 1..4 and can be accessed by child(i). For a leaf the number of points in this leaf is returned starting with point child(0)

Definition at line 398 of file LinearQuadtree.h.

◆ numberOfDirectNodes()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfDirectNodes ( ) const
inline

Definition at line 533 of file LinearQuadtree.h.

◆ numberOfDirectPairs()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfDirectPairs ( ) const
inline

Definition at line 531 of file LinearQuadtree.h.

◆ numberOfInnerNodes()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfInnerNodes ( ) const
inline

Definition at line 523 of file LinearQuadtree.h.

◆ numberOfLeaves()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfLeaves ( ) const
inline

Definition at line 527 of file LinearQuadtree.h.

◆ numberOfNodes()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfNodes ( ) const
inline

returns the number of nodes in this tree

Definition at line 432 of file LinearQuadtree.h.

◆ numberOfPoints() [1/2]

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfPoints ( ) const
inline

returns the number of points in this tree

Definition at line 429 of file LinearQuadtree.h.

◆ numberOfPoints() [2/2]

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfPoints ( NodeID  nodeID) const
inline

returns the number of points contained in the subtree of node nodeID

Definition at line 418 of file LinearQuadtree.h.

◆ numberOfWSP()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::numberOfWSP ( ) const
inline

Definition at line 529 of file LinearQuadtree.h.

◆ point() [1/2]

LQPoint& ogdf::fast_multipole_embedder::LinearQuadtree::point ( PointID  pointID)
inline

Definition at line 389 of file LinearQuadtree.h.

◆ point() [2/2]

const LQPoint& ogdf::fast_multipole_embedder::LinearQuadtree::point ( PointID  pointID) const
inline

Definition at line 391 of file LinearQuadtree.h.

◆ pointArray()

LQPoint* ogdf::fast_multipole_embedder::LinearQuadtree::pointArray ( )
inline

Definition at line 572 of file LinearQuadtree.h.

◆ pointLeaf()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::pointLeaf ( PointID  point) const
inline

Definition at line 448 of file LinearQuadtree.h.

◆ pointSize() [1/2]

float* ogdf::fast_multipole_embedder::LinearQuadtree::pointSize ( ) const
inline

Definition at line 462 of file LinearQuadtree.h.

◆ pointSize() [2/2]

float ogdf::fast_multipole_embedder::LinearQuadtree::pointSize ( PointID  point) const
inline

Definition at line 456 of file LinearQuadtree.h.

◆ pointX() [1/2]

float* ogdf::fast_multipole_embedder::LinearQuadtree::pointX ( ) const
inline

Definition at line 458 of file LinearQuadtree.h.

◆ pointX() [2/2]

float ogdf::fast_multipole_embedder::LinearQuadtree::pointX ( PointID  point) const
inline

Definition at line 452 of file LinearQuadtree.h.

◆ pointY() [1/2]

float* ogdf::fast_multipole_embedder::LinearQuadtree::pointY ( ) const
inline

Definition at line 460 of file LinearQuadtree.h.

◆ pointY() [2/2]

float ogdf::fast_multipole_embedder::LinearQuadtree::pointY ( PointID  point) const
inline

Definition at line 454 of file LinearQuadtree.h.

◆ refOfPoint()

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::refOfPoint ( PointID  id) const
inline

Definition at line 502 of file LinearQuadtree.h.

◆ root()

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::root ( ) const
inline

returns the index of the root

Definition at line 426 of file LinearQuadtree.h.

◆ scaleInv()

double ogdf::fast_multipole_embedder::LinearQuadtree::scaleInv ( ) const
inline

Definition at line 553 of file LinearQuadtree.h.

◆ setChild()

void ogdf::fast_multipole_embedder::LinearQuadtree::setChild ( NodeID  nodeID,
uint32_t  i,
NodeID  c 
)
inline

sets the i th child index of node nodeID

Definition at line 409 of file LinearQuadtree.h.

◆ setFirstPoint()

void ogdf::fast_multipole_embedder::LinearQuadtree::setFirstPoint ( NodeID  nodeID,
PointID  firstPoint 
)
inline

Definition at line 385 of file LinearQuadtree.h.

◆ setLevel()

void ogdf::fast_multipole_embedder::LinearQuadtree::setLevel ( NodeID  nodeID,
uint32_t  level 
)
inline

Definition at line 381 of file LinearQuadtree.h.

◆ setNextNode()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNextNode ( NodeID  nodeID,
NodeID  next 
)
inline

Definition at line 379 of file LinearQuadtree.h.

◆ setNodeSize()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNodeSize ( NodeID  nodeID,
float  size 
)
inline

Definition at line 474 of file LinearQuadtree.h.

◆ setNodeX()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNodeX ( NodeID  nodeID,
float  x 
)
inline

Definition at line 466 of file LinearQuadtree.h.

◆ setNodeY()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNodeY ( NodeID  nodeID,
float  y 
)
inline

Definition at line 470 of file LinearQuadtree.h.

◆ setNumberOfChilds()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNumberOfChilds ( NodeID  nodeID,
uint32_t  numChilds 
)
inline

sets the number of children of a node

Definition at line 401 of file LinearQuadtree.h.

◆ setNumberOfPoints()

void ogdf::fast_multipole_embedder::LinearQuadtree::setNumberOfPoints ( NodeID  nodeID,
uint32_t  numPoints 
)
inline

sets the number of nodes containted in node nodeID

Definition at line 421 of file LinearQuadtree.h.

◆ setPoint() [1/3]

void ogdf::fast_multipole_embedder::LinearQuadtree::setPoint ( PointID  id,
float  x,
float  y,
float  r 
)
inline

Definition at line 496 of file LinearQuadtree.h.

◆ setPoint() [2/3]

void ogdf::fast_multipole_embedder::LinearQuadtree::setPoint ( PointID  id,
float  x,
float  y,
float  r,
uint32_t  ref 
)
inline

Definition at line 489 of file LinearQuadtree.h.

◆ setPoint() [3/3]

void ogdf::fast_multipole_embedder::LinearQuadtree::setPoint ( PointID  id,
float  x,
float  y,
uint32_t  ref 
)
inline

Definition at line 476 of file LinearQuadtree.h.

◆ setPointLeaf()

void ogdf::fast_multipole_embedder::LinearQuadtree::setPointLeaf ( PointID  point,
NodeID  leaf 
)
inline

Definition at line 450 of file LinearQuadtree.h.

◆ sizeInBytes()

uint64_t ogdf::fast_multipole_embedder::LinearQuadtree::sizeInBytes ( ) const

◆ StoreDirectNodeFunction()

StoreDirectNodeFunctor ogdf::fast_multipole_embedder::LinearQuadtree::StoreDirectNodeFunction ( )
inline

Definition at line 371 of file LinearQuadtree.h.

◆ StoreDirectPairFunction()

StoreDirectPairFunctor ogdf::fast_multipole_embedder::LinearQuadtree::StoreDirectPairFunction ( )
inline

Definition at line 359 of file LinearQuadtree.h.

◆ StoreWSPairFunction()

StoreWSPairFunctor ogdf::fast_multipole_embedder::LinearQuadtree::StoreWSPairFunction ( )
inline

Definition at line 349 of file LinearQuadtree.h.

◆ top_down_traversal() [1/2]

template<typename F >
top_down_traversal_functor<F> ogdf::fast_multipole_embedder::LinearQuadtree::top_down_traversal ( f) const
inline

creator

Definition at line 230 of file LinearQuadtree.h.

◆ top_down_traversal() [2/2]

template<typename F , typename Cond >
top_down_traversal_functor<F, Cond> ogdf::fast_multipole_embedder::LinearQuadtree::top_down_traversal ( f,
Cond  cond 
) const
inline

creator

Definition at line 236 of file LinearQuadtree.h.

◆ updatePointPositionSize()

void ogdf::fast_multipole_embedder::LinearQuadtree::updatePointPositionSize ( PointID  id)
inline

Definition at line 482 of file LinearQuadtree.h.

◆ wspd()

WSPD* ogdf::fast_multipole_embedder::LinearQuadtree::wspd ( ) const
inline

Definition at line 541 of file LinearQuadtree.h.

Friends And Related Function Documentation

◆ LinearQuadtreeBuilder

friend class LinearQuadtreeBuilder
friend

Definition at line 51 of file LinearQuadtree.h.

◆ LinearQuadtreeBuilderList

friend class LinearQuadtreeBuilderList
friend

Definition at line 52 of file LinearQuadtree.h.

Member Data Documentation

◆ m_cellSize

double ogdf::fast_multipole_embedder::LinearQuadtree::m_cellSize
private

the height and width of a grid cell

Definition at line 638 of file LinearQuadtree.h.

◆ m_directNodes

NodeID* ogdf::fast_multipole_embedder::LinearQuadtree::m_directNodes
private

Definition at line 694 of file LinearQuadtree.h.

◆ m_firstInner

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::m_firstInner
private

first inner node in the inner node chain

Definition at line 710 of file LinearQuadtree.h.

◆ m_firstLeaf

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::m_firstLeaf
private

first leaf in the leaf chain

Definition at line 704 of file LinearQuadtree.h.

◆ m_max_x

float ogdf::fast_multipole_embedder::LinearQuadtree::m_max_x
private

the x coordinate of the right most point

Definition at line 632 of file LinearQuadtree.h.

◆ m_max_y

float ogdf::fast_multipole_embedder::LinearQuadtree::m_max_y
private

the y coordinate of the top most point

Definition at line 635 of file LinearQuadtree.h.

◆ m_maxNumNodes

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_maxNumNodes
private

the maximum number of nodes (2*n here instead of 2*n-1)

Definition at line 681 of file LinearQuadtree.h.

◆ m_min_x

float ogdf::fast_multipole_embedder::LinearQuadtree::m_min_x
private

the x coordinate of the left most point

Definition at line 626 of file LinearQuadtree.h.

◆ m_min_y

float ogdf::fast_multipole_embedder::LinearQuadtree::m_min_y
private

the y coordinate of the bottom most point

Definition at line 629 of file LinearQuadtree.h.

◆ m_nodeSize

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_nodeSize
private

node size

Definition at line 675 of file LinearQuadtree.h.

◆ m_nodeXPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_nodeXPos
private

node x coord

Definition at line 668 of file LinearQuadtree.h.

◆ m_nodeYPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_nodeYPos
private

node y coord

Definition at line 672 of file LinearQuadtree.h.

◆ m_notWspd

LQWSPair* ogdf::fast_multipole_embedder::LinearQuadtree::m_notWspd
private

Definition at line 691 of file LinearQuadtree.h.

◆ m_numDirectNodes

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numDirectNodes
private

Definition at line 695 of file LinearQuadtree.h.

◆ m_numInnerNodes

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numInnerNodes
private

number of inner nodes in the chain

Definition at line 713 of file LinearQuadtree.h.

◆ m_numLeaves

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numLeaves
private

number of leaves in the chain

Definition at line 707 of file LinearQuadtree.h.

◆ m_numNotWSP

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numNotWSP
private

Definition at line 692 of file LinearQuadtree.h.

◆ m_numPoints

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numPoints
private

number of points this quadtree is based on

Definition at line 687 of file LinearQuadtree.h.

◆ m_numWSP

uint32_t ogdf::fast_multipole_embedder::LinearQuadtree::m_numWSP
private

Definition at line 689 of file LinearQuadtree.h.

◆ m_origSize

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_origSize
private

point size in graph order

Definition at line 656 of file LinearQuadtree.h.

◆ m_origXPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_origXPos
private

point x coord in graph order

Definition at line 650 of file LinearQuadtree.h.

◆ m_origYPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_origYPos
private

point y coord in graph order

Definition at line 653 of file LinearQuadtree.h.

◆ m_points

LQPoint* ogdf::fast_multipole_embedder::LinearQuadtree::m_points
private

the point order in tree order

Definition at line 684 of file LinearQuadtree.h.

◆ m_pointSize

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_pointSize
private

point size in tree order

Definition at line 665 of file LinearQuadtree.h.

◆ m_pointXPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_pointXPos
private

point x coord in tree order

Definition at line 659 of file LinearQuadtree.h.

◆ m_pointYPos

float* ogdf::fast_multipole_embedder::LinearQuadtree::m_pointYPos
private

point y coord in tree order

Definition at line 662 of file LinearQuadtree.h.

◆ m_root

NodeID ogdf::fast_multipole_embedder::LinearQuadtree::m_root
private

the root of the tree

Definition at line 701 of file LinearQuadtree.h.

◆ m_scaleInv

double ogdf::fast_multipole_embedder::LinearQuadtree::m_scaleInv
private

the inverse scale to transform

Definition at line 641 of file LinearQuadtree.h.

◆ m_sideLengthGrid

double ogdf::fast_multipole_embedder::LinearQuadtree::m_sideLengthGrid
private

the resulting side length of the grid (constant)

Definition at line 647 of file LinearQuadtree.h.

◆ m_sideLengthPoints

double ogdf::fast_multipole_embedder::LinearQuadtree::m_sideLengthPoints
private

the maximum of height and width

Definition at line 644 of file LinearQuadtree.h.

◆ m_tree

LQNode* ogdf::fast_multipole_embedder::LinearQuadtree::m_tree
private

the main tree array containing all nodes (including leaves)

Definition at line 678 of file LinearQuadtree.h.

◆ m_WSPD

WSPD* ogdf::fast_multipole_embedder::LinearQuadtree::m_WSPD
private

the wspd of this quadtree

Definition at line 698 of file LinearQuadtree.h.


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