Node2Leaf

References
public class Node2Leaf
Represents a single element in a recursive quad-tree Node structure.

Constructors

Node2Leaf

#
public Node2Leaf()
Blank constructor

Node2Leaf

#
public Node2Leaf(double x0, double x1, double y0, double y1)
Box constructor. Create an empty leaf with a specific box.
x0 (double)
x1 (double)
y0 (double)
y1 (double)

Node2Leaf

#
public Node2Leaf(Node2Leaf other)
Copy constructor
other (Node2Leaf)Leaf to mimic

Fields

m_A

#
protected Node2Leaf m_A

m_B

#
protected Node2Leaf m_B

m_C

#
protected Node2Leaf m_C

m_D

#
protected Node2Leaf m_D

m_nodes

#
protected List<int> m_nodes

m_x0

#
protected double m_x0

m_x1

#
protected double m_x1

m_y0

#
protected double m_y0

m_y1

#
protected double m_y1

Properties

A

#
public Node2Leaf A { get; }

B

#
public Node2Leaf B { get; }

C

#
public Node2Leaf C { get; }

D

#
public Node2Leaf D { get; }

Nodes

#
public List<int> Nodes { get; }
Gets the indices of all nodes which are contained in this leaf.

SubLeafCount

#
public int SubLeafCount { get; }

x_max

#
public double x_max { get; }
Gets the right bounary of the Leaf space.

x_mid

#
public double x_mid { get; }
Gets the vertical center axis of the Leaf space.

x_min

#
public double x_min { get; }
Gets the left bounary of the Leaf space.

y_max

#
public double y_max { get; }
Gets the top bounary of the Leaf space.

y_mid

#
public double y_mid { get; }
Gets the horizontal center axis of the Leaf space.

y_min

#
public double y_min { get; }
Gets the bottom bounary of the Leaf space.

Methods

Contains

#
public bool Contains(double x, double y)
x (double)
y (double)

MaximumDistance

#
public double MaximumDistance(double x, double y)
x (double)
y (double)

MaximumDistanceSquared

#
public double MaximumDistanceSquared(double x, double y)
x (double)
y (double)

MinimumDistance

#
public double MinimumDistance(double x, double y)
x (double)
y (double)

MinimumDistanceSquared

#
public double MinimumDistanceSquared(double x, double y)
x (double)
y (double)

PerformLeafAction

#
public void PerformLeafAction(ILeafAction func, bool call_on_empty_leaves)
func (Node2Leaf.ILeafAction)
call_on_empty_leaves (bool)

PerformLeafAction

#
public void PerformLeafAction(LeafAction func, bool call_on_empty_leaves)
func (Node2Leaf.LeafAction)
call_on_empty_leaves (bool)

SolveProximity

#
public void SolveProximity(Node2List nodes, Node2Proximity prox)
Recursive method that solves a proximity search.
nodes (Node2List)Node set to search
prox (Node2Proximity)Proximity object to search with

SubDivide

#
public void SubDivide(Node2List nodes, List<int> index_subset, int group_limit)
Builds a subtree from a Node list.
nodes (Node2List)All the nodes that are supposed to be included in this tree.
index_subset (List<int>)A subset of nodes on which to perform the subdivision. Pass a null-pointer to use ALL nodes. If the list is not null, used indices will be extracted from the list, in order to reduce the number of pointless inclusion tests.
group_limit (int)The number of allowed Nodes per Leaf. If a Leaf contains more than N nodes, it will subdivide.