Package OpenCAGE.GUI.Displays.Root_Quad_Trees

wraps the class Quad_Tree_Components

Class Root_Quad_Tree

this is a wrapper class for Quad_Tree_Component

Attributes

private OpenCAGE.GUI.Displays.Quad_Tree_Components.Quad_Tree_Component My_Quad_Tree 

root of the Quad_Tree

Operations

public Traverse(void);

This is a debugging methode which prints the Quad_Tree_Component recursivelly to the console

public Insert_Node( OpenCAGE.GUI.Displays.Node_Displays.Node_Display Node);

This method inserts a new object of Node_Display into the Node_List and a pointer into the Quad-Tree which points to the Node_List. This allows a faster access. This method checks if the Node is the area which is covered by the Quad-Tree.

public Set_Objects_Visible( Graphics.Points.Point Up_Left, Graphics.Points.Point Low_Right);

finds all nodes and edges for the root quad-tree and sets the In_Viewport

public Set_Candidates( Graphics.Points.Point Clicked);

This method searches trough a Node_Tree_List. If the Clicked Point is within a Nodes area, the Node's attribute Candidates is set true.

public Remove_Node( OpenCAGE.GUI.Displays.Node_Displays.Node_Display Node);

removes a node of the Quad-Tree

public OpenCAGE.GUI.Displays.Quad_Tree_Components.Quad_Tree_Component Get_Child( OpenCAGE.GUI.Displays.Quad_Tree_Components.Quadrant My_Quadrant);

returns the Quad_Tree_Component which is the child of the given Quad_Tree_Component of a particular quadrant

public Insert_Edge( OpenCAGE.GUI.Displays.Edge_Displays.Edge_Display Edge);

This method inserts a new object of Edge_Display into the Edge_List and a pointer into the Quad-Tree which points to the Edge_List. This allows a faster access.

public OpenCAGE.GUI.Displays.Object_Displays.Object_Lists.List Get_Objects( Graphics.Points.Point Up_Left, Graphics.Points.Point Low_Right);

finds all objects for the root quad-tree and returns them.

public Create_Quad_Tree( Natural Depth, Graphics.Points.Point Center, Glib.Gint Width, Glib.Gint Height);

This method creates a total Quad_Tree with the given depth.

public Check_Position( OpenCAGE.GUI.Displays.Node_Displays.Node_Display Node);

enhances the Quad-Tree if necessary

public Natural Depth(void);

returns the depth of the Quad-Tree

public Remove_Node( OpenCAGE.GUI.Displays.Node_Displays.Node_Display Node, Graphics.Points.Point Old_Position);

removes a node of the Quad-Tree

public Find_Visible_Objects( Graphics.Points.Point Up_Left, Graphics.Points.Point Low_Right);

set an attribut of visible objects to visible

public Set_As_Candidates( Graphics.Points.Point Clicked);

sets the attribute candidate true for all nodes, which can be clicked at.

public OpenCAGE.GUI.Displays.Edge_Displays.Edge_Display Find_Edge( Graphics.Points.Point Clicked);

returns the edge, if the clicked Point has a distance of max 5 pixels

public Remove_Edge( OpenCAGE.GUI.Displays.Edge_Displays.Edge_Display Edge);

This method removes a new object of Edge_Display from the Edge_List and quad _tree

public Node_Moved( OpenCAGE.GUI.Displays.Node_Displays.Node_Display Node, Graphics.Points.Point Old_Pos);

Use this method to notify the quad tree that a node was moved.

public Edge_Start_Moved( OpenCAGE.GUI.Displays.Edge_Displays.Edge_Display Edge, Graphics.Points.Point Old_Pos);

Use this method to notify the quad tree that the start position of an edge was moved.

public Edge_End_Moved( OpenCAGE.GUI.Displays.Edge_Displays.Edge_Display Edge, Graphics.Points.Point Old_Pos);

Use this method to notify the quad tree that the end position of an edge was moved.