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

README.md

octree

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.