From 2fc9585797067730f28b03b0727bf05f9deed091 Mon Sep 17 00:00:00 2001
From: chai <215380520@qq.com>
Date: Fri, 12 May 2023 10:32:11 +0800
Subject: + worldline keepers
---
marching/Assets/Scripts/Physics/PhysicsQuadtree.cs | 87 ----------------------
1 file changed, 87 deletions(-)
delete mode 100644 marching/Assets/Scripts/Physics/PhysicsQuadtree.cs
(limited to 'marching/Assets/Scripts/Physics/PhysicsQuadtree.cs')
diff --git a/marching/Assets/Scripts/Physics/PhysicsQuadtree.cs b/marching/Assets/Scripts/Physics/PhysicsQuadtree.cs
deleted file mode 100644
index 5cd374e..0000000
--- a/marching/Assets/Scripts/Physics/PhysicsQuadtree.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using mh;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-///
-/// 基于图形的四叉树
-///
-class PhysicsQuadtree
-{
- ///
- /// 边界
- ///
- public Vector4 quadtreeRange { set { m_QuadtreeRange = value; } }
- private Vector4 m_QuadtreeRange;
-
- ///
- /// 根节点
- ///
- private Quadtree m_Quadtree;
-
- ///
- /// 托管的全部对象,但不一定会加入到树里面(中心点在边界外的不加入树)
- ///
- private List m_Objects = new List();
-
- public PhysicsQuadtree(Vector4 range)
- {
- m_QuadtreeRange = range;
- m_Quadtree = new Quadtree(0, range, true);
- }
-
- public void AddObject(IQuadTreeObject obj)
- {
- m_Objects.Add(obj);
- }
-
- public void RemoveObject(IQuadTreeObject obj)
- {
- m_Objects.Remove(obj);
- }
-
- public void UpdateQuadtree()
- {
- m_Quadtree.Clear(false);
- m_Quadtree.Rebound(m_QuadtreeRange);
- InsertAllObjects();
- }
-
- private void InsertAllObjects()
- {
- Vector4 bound = m_Quadtree.bound;
- for (int i = 0; i < m_Objects.Count; i++)
- {
- IQuadTreeObject obj = m_Objects[i];
- // 简单的忽略中心在边界外的object
- if (PhysicsManager.IsPointInsideBox(bound, obj.bound.xy()))
- {
- m_Quadtree.Insert(obj);
- }
- }
- }
-
- public void Debug()
- {
- Color c = Gizmos.color;
- Gizmos.color = Color.green;
- m_Quadtree?.Iterate((t) =>
- {
- Vector3 pos = new Vector3(t.x, t.y, 0);
- Vector3 size = new Vector3(t.w, t.h, 1);
- Gizmos.DrawWireCube(pos, size);
- });
- Gizmos.color = c;
- }
-
- public bool Retrive(ref List returnObjs, IQuadTreeObject obj)
- {
- return m_Quadtree.Retrieve(ref returnObjs, obj);
- }
-
- public bool Retrive(ref List returnObjs, Vector4 bound)
- {
- return m_Quadtree.Retrieve(ref returnObjs, bound);
- }
-
-}
\ No newline at end of file
--
cgit v1.1-26-g67d0