QTree.MonoGame.Common 1.0.0

dotnet add package QTree.MonoGame.Common --version 1.0.0
NuGet\Install-Package QTree.MonoGame.Common -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QTree.MonoGame.Common" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add QTree.MonoGame.Common --version 1.0.0
#r "nuget: QTree.MonoGame.Common, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install QTree.MonoGame.Common as a Cake Addin
#addin nuget:?package=QTree.MonoGame.Common&version=1.0.0

// Install QTree.MonoGame.Common as a Cake Tool
#tool nuget:?package=QTree.MonoGame.Common&version=1.0.0

QTree

A simple quadtree implementation.

Installation

Raw:
dotnet add package QTree --version 1.0.3
MonoGame .net framework 4.7.2:
dotnet add package QTree.MonoGame --version 1.0.3
MonoGame .net standard 2.1
dotnet add package QTree.MonoGame.Standard --version 1.0.3

Example usage

// create the quadtree

// this tree is faster but constrained to the initial bounds 
var quadTree = new QuadTree<string>(x: 0, y: 0, width: 2000, height: 2000);

// this tree is a bit slower but has no constrictions in space
var dynamicTree = new DynamicQuadTree<string>();

// add some objects to the tree
for(var x = 0; x < 2000; x += 20)
{
    for(var y = 0; y < 2000; y += 20)
    {
        quadTree.Add(x, y, 10, 10, "whatevs");
        dynamicTree.Add(x, y, 10, 10, "whatevs");
    }
}

// find some objects
var objectsInArea = quadTree.FindNode(500, 500, 50, 50);
var otherObjectsInSameArea = dynamicTree.Add(x, y, 10, 10, "whatevs");

// remove an object
quadTree.Remove(objectsInArea[0]);
dynamicTree.Remove(objectsInArea[0]);

// clear the tree
quadTree.Clear();
dynamicTree.Clear();
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 203 11/17/2022