|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public partial class RTree<T> |
|
|
|
public class RTree<T> where T : ISpatialData |
|
|
|
{ |
|
|
|
public class RTreeNode : ISpatialData |
|
|
|
{ |
|
|
|
|
|
|
_Rect = GetEnclosingRect(children); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public partial class RTree<T> |
|
|
|
{ |
|
|
|
#region Search
|
|
|
|
|
|
|
|
private List<T> DoSearch(in Rect boundingBox) |
|
|
|
|
|
|
rTreeNode.children.Sort(CompareMinX); |
|
|
|
} |
|
|
|
|
|
|
|
private double GetPotentialSplitMargins(List<ISpatialData> children) |
|
|
|
private float GetPotentialSplitMargins(List<ISpatialData> children) |
|
|
|
private double GetPotentialEnclosingMargins(List<ISpatialData> children) |
|
|
|
private float GetPotentialEnclosingMargins(List<ISpatialData> children) |
|
|
|
{ |
|
|
|
var rect = Rect.zero; |
|
|
|
var i = 0; |
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|
} |
|
|
|
|
|
|
|
public partial class RTree<T> where T : ISpatialData |
|
|
|
{ |
|
|
|
private const double DefaultFillFactor = 0.4; |
|
|
|
private const float DefaultFillFactor = 0.4f; |
|
|
|
|
|
|
|
private readonly EqualityComparer<T> comparer; |
|
|
|
private readonly int maxEntries; |
|
|
|