Classes | Namespaces | Typedefs | Functions
morton.h File Reference

Functions and classes for interleaving and un-interleaving coordinate bits. More...

#include "impl/pcoord_masks.h"
#include "impl/morton_masks.h"
Include dependency graph for morton.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  ash::f_interleave< D, U >
 Functor for interleaving bits. More...
struct  ash::f_uninterleave< D, U >
 Functor for un-interleaving bits. More...
union  ash::PCoordXY< U >
 A coordinate packed for fast conversion to and from MortonXY. More...
union  ash::PCoordXYZ< U >
 A coordinate packed for fast conversion to and from MortonXYZ. More...
union  ash::MortonXY< U >
 A data type for dealing with an interleaved 2D coordinate. More...
union  ash::MortonXYZ< U >
 A data type for dealing with an interleaved 3D coordinate. More...
class  ash::PCoord< D, U >
 Meta to get a pcoord type with the dimension as a template parameter. More...
class  ash::PCoord< DIM_3D, U >
 Spec for 3D. More...
class  ash::Morton< D, U >
 Meta to get a morton type with the dimension as a template parameter. More...
class  ash::Morton< DIM_3D, U >
 Spec for 3D. More...
class  ash::morton_hasher< M >
 Type-sensitive hash functor for morton-keyed hash containers. More...

Namespaces

namespace  ash
 The base namespace for everything in the library.
namespace  ash::impl
 The namespace we use to hide the internal implementation.

Typedefs

typedef typelist::list
< PCoordXY< uint8 >, PCoordXY
< uint16 >, PCoordXY< uint32 >
, PCoordXY< uint64 > > 
ash::PCoordXY_typelist
typedef typelist::list
< PCoordXYZ< uint8 >
, PCoordXYZ< uint16 >
, PCoordXYZ< uint32 >
, PCoordXYZ< uint64 > > 
ash::PCoordXYZ_typelist
typedef typelist::merge
< PCoordXY_typelist,
PCoordXYZ_typelist >::type 
ash::PCoord_typelist
typedef typelist::list
< MortonXY< uint8 >, MortonXY
< uint16 >, MortonXY< uint32 >
, MortonXY< uint64 > > 
ash::MortonXY_typelist
typedef typelist::list
< MortonXYZ< uint8 >
, MortonXYZ< uint16 >
, MortonXYZ< uint32 >
, MortonXYZ< uint64 > > 
ash::MortonXYZ_typelist
typedef typelist::merge
< MortonXY_typelist,
MortonXYZ_typelist >::type 
ash::Morton_typelist

Functions

template<typename U >
ash::interleave2 (U val)
 2D bit interleave.
template<typename U >
ash::uninterleave2 (U val)
 2D bit un-interleave.
template<typename U >
ash::interleave3 (U val)
 3D bit interleave.
template<typename U >
ash::uninterleave3 (U val)
 3D bit un-interleave.

Detailed Description

Functions and classes for interleaving and un-interleaving coordinate bits.

Author:
Adam Martinson (Loki)
License: AGPL + BSD


© 2012   AshTL
Licensed under  AGPLv3
Hosted by  Get AshTL at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated by  doxygen 1.7.4