Octree is a shallow tree structure for 3-dimensional points
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
tests Update to QuickCheck 2.8. Jun 25, 2016
LICENSE Corrected LICENSE. Jan 29, 2012
README.lhs Autotest example in README.md using markdown-unlit. Feb 23, 2013
README.md Corrected Octree Travis link Dec 29, 2014
changelog Corrected release date. May 24, 2016
stack.yaml adding stack May 26, 2016



This is a simple Octree implementation in Haskell.

Build Status

To use simply:

module Main where

import Data.Octree as O

import Data.Vector.V3

main = do let oct = fromList [(Vector3 1 2 3, "a"),
                              (Vector3 3 4 5, "b"),
                              (Vector3 8 8 8, "c")]
              report msg elt = putStrLn $ msg ++ show elt
          report "Nearest     :" $ O.nearest     oct     $ Vector3 2 2 3
          report "Within range:" $ O.withinRange oct 5.0 $ Vector3 2 2 3
          return ()

For now it uses AC-Vector package for vectors, but I may change it to use Tensor package used by OpenGL package, if there is interest. So far I still wait for package with vector operations (like dot, cross producton, vector projection and rejection) on Tensor types.

Official releases are on Hackage.

This package is also a part of Stackage - a stable subset of Hackage.