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(FVector2 position, float radius, List<T> result)
Language: C#
Рекурсивный поиск объектов в пределах радиуса от позиции (прямое направление - от корня к листьям).
Parameters:
- position: 2D позиция поиска
- radius: Радиус поиска
- result: Список результатов
public abstract void FindNearestFwd(FVector2 position, float radius, List<T> result, Stack<Node> stack)
Language: C#
Итеративный поиск объектов в пределах радиуса от позиции (прямое направление).
Parameters:
- position: 2D позиция поиска
- radius: Радиус поиска
- result: Список результатов
- stack: Стек узлов для итеративного обхода
public abstract void Raycast(FRay2 ray, List<T> result)
Language: C#
Трассировка луча через поддерево (прямое направление).
Parameters:
- ray: 2D луч для трассировки
- result: Список результатов
public abstract void Render(IVertexBuffer<float> vertices, IVertexBuffer<uint> triangles)
Language: C#
Отрисовка узла и всего его поддерева.
Parameters:
- vertices: Буфер вершин
- triangles: Буфер индексов
public void FindNearestBwd(FVector2 position, float radius, List<T> result)
Language: C#
Поиск объектов в обратном направлении (от листа к корню) в пределах радиуса.
Используется для поиска соседей объекта, начиная от его листа.
Parameters:
- position: 2D позиция поиска
- radius: Радиус поиска
- result: Список результатов
public abstract void CollisionsFwd(FBox2 aabb, List<T> result)
Language: C#
Проверяет столкновения с AABB прямоугольником (прямое направление).
Parameters:
- aabb: 2D прямоугольник для проверки столкновения
- result: Список результатов
public void CollisionsBwd(FBox2 aabb, List<T> result)
Language: C#
Проверяет столкновения в обратном направлении (от листа к корню) с AABB прямоугольником.
Parameters:
- aabb: 2D прямоугольник для проверки столкновения
- result: Список результатов
public abstract void Linecast(FLine2 line, List<T> result)
Language: C#
Трассировка линии через поддерево.
Parameters:
- line: 2D линия для трассировки
- result: Список результатов