NuTo
Numerics Tool
Static Public Member Functions | List of all members
NuTo::MortonOrder Class Reference

class for sorting in Morton order (z-order as space filling curve) More...

#include <MortonOrder.h>

Static Public Member Functions

static uint32_t EncodeMorton3D (uint32_t x, uint32_t y, uint32_t z)
 
static uint32_t Part1By1 (uint32_t x)
 
static uint32_t Part1By2 (uint32_t x)
 
static uint32_t Compact1By1 (uint32_t x)
 
static uint32_t Compact1By2 (uint32_t x)
 
static uint32_t DecodeMorton2X (uint32_t code)
 
static uint32_t DecodeMorton2Y (uint32_t code)
 
static uint32_t DecodeMorton3X (uint32_t code)
 
static uint32_t DecodeMorton3Y (uint32_t code)
 
static uint32_t DecodeMorton3Z (uint32_t code)
 
static uint32_t Neighbor3D (uint32_t key, uint32_t dx, uint32_t dy, uint32_t dz)
 calculates neighbor of key shifted by +x+y+z More...
 
static uint32_t NegNeighbor3D (uint32_t key, int32_t dx, int32_t dy, int32_t dz)
 calculates neighbor of key shifted by +x+y+z More...
 

Detailed Description

class for sorting in Morton order (z-order as space filling curve)

Author
Andrea Kessler, ISM
Date
June 2013 inspired by from http://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/

Member Function Documentation

static uint32_t NuTo::MortonOrder::Compact1By1 ( uint32_t  x)
inlinestatic
static uint32_t NuTo::MortonOrder::Compact1By2 ( uint32_t  x)
inlinestatic
static uint32_t NuTo::MortonOrder::DecodeMorton2X ( uint32_t  code)
inlinestatic
static uint32_t NuTo::MortonOrder::DecodeMorton2Y ( uint32_t  code)
inlinestatic
static uint32_t NuTo::MortonOrder::DecodeMorton3X ( uint32_t  code)
inlinestatic
static uint32_t NuTo::MortonOrder::DecodeMorton3Y ( uint32_t  code)
inlinestatic
static uint32_t NuTo::MortonOrder::DecodeMorton3Z ( uint32_t  code)
inlinestatic
static uint32_t NuTo::MortonOrder::EncodeMorton3D ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)
inlinestatic
static uint32_t NuTo::MortonOrder::NegNeighbor3D ( uint32_t  key,
int32_t  dx,
int32_t  dy,
int32_t  dz 
)
inlinestatic

calculates neighbor of key shifted by +x+y+z

static uint32_t NuTo::MortonOrder::Neighbor3D ( uint32_t  key,
uint32_t  dx,
uint32_t  dy,
uint32_t  dz 
)
inlinestatic

calculates neighbor of key shifted by +x+y+z

static uint32_t NuTo::MortonOrder::Part1By1 ( uint32_t  x)
inlinestatic
static uint32_t NuTo::MortonOrder::Part1By2 ( uint32_t  x)
inlinestatic

The documentation for this class was generated from the following file: