KiCad PCB EDA Suite
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mortoncodes.cpp File Reference

Implements Morton Codes base on the implementation of Fabian “ryg” Giesen https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/. More...

#include "mortoncodes.h"

Go to the source code of this file.

Functions

uint32_t Part1By1 (uint32_t x)
 
uint32_t Part1By2 (uint32_t x)
 
uint32_t Compact1By1 (uint32_t x)
 
uint32_t Compact1By2 (uint32_t x)
 
uint32_t EncodeMorton2 (uint32_t x, uint32_t y)
 
uint32_t EncodeMorton3 (uint32_t x, uint32_t y, uint32_t z)
 
uint32_t DecodeMorton2X (uint32_t code)
 
uint32_t DecodeMorton2Y (uint32_t code)
 
uint32_t DecodeMorton3X (uint32_t code)
 
uint32_t DecodeMorton3Y (uint32_t code)
 
uint32_t DecodeMorton3Z (uint32_t code)
 

Detailed Description

Implements Morton Codes base on the implementation of Fabian “ryg” Giesen https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/.

Definition in file mortoncodes.cpp.

Function Documentation

◆ Compact1By1()

uint32_t Compact1By1 ( uint32_t  x)

Definition at line 61 of file mortoncodes.cpp.

Referenced by DecodeMorton2X(), and DecodeMorton2Y().

◆ Compact1By2()

uint32_t Compact1By2 ( uint32_t  x)

Definition at line 74 of file mortoncodes.cpp.

Referenced by DecodeMorton3X(), DecodeMorton3Y(), and DecodeMorton3Z().

◆ DecodeMorton2X()

uint32_t DecodeMorton2X ( uint32_t  code)

Definition at line 98 of file mortoncodes.cpp.

References Compact1By1().

Referenced by RENDER_3D_RAYTRACE_BASE::initializeBlockPositions().

◆ DecodeMorton2Y()

uint32_t DecodeMorton2Y ( uint32_t  code)

Definition at line 104 of file mortoncodes.cpp.

References Compact1By1().

Referenced by RENDER_3D_RAYTRACE_BASE::initializeBlockPositions().

◆ DecodeMorton3X()

uint32_t DecodeMorton3X ( uint32_t  code)

Definition at line 110 of file mortoncodes.cpp.

References Compact1By2().

◆ DecodeMorton3Y()

uint32_t DecodeMorton3Y ( uint32_t  code)

Definition at line 116 of file mortoncodes.cpp.

References Compact1By2().

◆ DecodeMorton3Z()

uint32_t DecodeMorton3Z ( uint32_t  code)

Definition at line 122 of file mortoncodes.cpp.

References Compact1By2().

◆ EncodeMorton2()

uint32_t EncodeMorton2 ( uint32_t  x,
uint32_t  y 
)

Definition at line 86 of file mortoncodes.cpp.

References Part1By1().

◆ EncodeMorton3()

uint32_t EncodeMorton3 ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)

Definition at line 92 of file mortoncodes.cpp.

References Part1By2().

◆ Part1By1()

uint32_t Part1By1 ( uint32_t  x)

Definition at line 35 of file mortoncodes.cpp.

Referenced by EncodeMorton2().

◆ Part1By2()

uint32_t Part1By2 ( uint32_t  x)

Definition at line 48 of file mortoncodes.cpp.

Referenced by EncodeMorton3().