Node

public abstract uint Depth()

Language: C#

Получает глубину поддерева, rooted в этом узле.

Returns: Глубина поддерева (листовой узел имеет глубину 1)

public abstract void Add(T value)

Language: C#

Добавляет объект в поддерево с рекурсией.

Parameters:

  • value: Объект для добавления

public abstract void Add(T value, Stack<Node> stack)

Language: C#

Добавляет объект в поддерево с использованием стека (итеративно).

Parameters:

  • value: Объект для добавления
  • stack: Стек узлов для итеративного обхода

public abstract void OptimizedAdd(T value)

Language: C#

Оптимизированное добавление объекта с балансировкой дерева.

Parameters:

  • value: Объект для добавления

public abstract void OptimizedAdd(T value, Stack<Node> stack)

Language: C#

Оптимизированное добавление объекта с использованием стека.

Parameters:

  • value: Объект для добавления
  • stack: Стек узлов для итеративного обхода

public abstract void Remove(T value)

Language: C#

Удаляет объект из поддерева с рекурсией.

Parameters:

  • value: Объект для удаления

public abstract void Remove(T value, Stack<Node> stack)

Language: C#

Удаляет объект из поддерева с использованием стека.

Parameters:

  • value: Объект для удаления
  • stack: Стек узлов для итеративного обхода

public abstract void FindNearestFwd(FVector3 position, float radius, List<T> result)

Language: C#

Рекурсивный поиск объектов в пределах радиуса от позиции (прямое направление - от корня к листьям).

Parameters:

  • position: 3D позиция поиска
  • radius: Радиус поиска
  • result: Список результатов

public abstract void FindNearestFwd(FVector3 position, float radius, List<T> result, Stack<Node> stack)

Language: C#

Итеративный поиск объектов в пределах радиуса от позиции (прямое направление).

Parameters:

  • position: 3D позиция поиска
  • radius: Радиус поиска
  • result: Список результатов
  • stack: Стек узлов для итеративного обхода

public abstract void Raycast(FRay3 ray, List<T> result)

Language: C#

Трассировка луча через поддерево (прямое направление).

Parameters:

  • ray: 3D луч для трассировки
  • result: Список результатов

public abstract void Render(IVertexBuffer<float> vertices, IVertexBuffer<uint> triangles)

Language: C#

Отрисовка узла и всего его поддерева.

Parameters:

  • vertices: Буфер вершин
  • triangles: Буфер индексов

public void FindNearestBwd(FVector3 position, float radius, List<T> result)

Language: C#

Поиск объектов в обратном направлении (от листа к корню) в пределах радиуса.

Используется для поиска соседей объекта, начиная от его листа.

Parameters:

  • position: 3D позиция поиска
  • radius: Радиус поиска
  • result: Список результатов

public abstract void CollisionsFwd(FBox3 aabb, List<T> result)

Language: C#

Проверяет столкновения с AABB прямоугольником (прямое направление).

Parameters:

  • aabb: 3D прямоугольник для проверки столкновения
  • result: Список результатов

public void CollisionsBwd(FBox3 aabb, List<T> result)

Language: C#

Проверяет столкновения в обратном направлении (от листа к корню) с AABB прямоугольником.

Parameters:

  • aabb: 3D прямоугольник для проверки столкновения
  • result: Список результатов

public abstract void Linecast(FLine3 line, List<T> result)

Language: C#

Трассировка линии через поддерево.

Parameters:

  • line: 3D линия для трассировки
  • result: Список результатов