A coordinate packed for fast conversion to and from MortonXYZ. More...
#include <ash/morton.h>
Public Types | |
| enum | { BITS_PER_VAL = static_cast<uint8>(bitsizeof(value_type)/3), D = DIM_3D } |
| typedef U | value_type |
| The basic unsigned type underneath. | |
| typedef value_type | x_type |
| typedef value_type | y_type |
| typedef value_type | z_type |
| typedef impl::pcoord_masks < value_type, DIM_3D > | mask |
| The mask set associated with this type. | |
| typedef MortonXYZ< value_type > | morton_type |
| The morton type this converts to. | |
Public Member Functions | |
Constructors/Destructors | |
We use the default destructor. | |
| PCoordXYZ () | |
| Default constructor. | |
| PCoordXYZ (PCoordXYZ const &p) | |
| Copy constructor. | |
| template<typename V > | |
| PCoordXYZ (PCoordXYZ< V > const &p) | |
| Copy constructor for other sizes. | |
| PCoordXYZ (value_type val) | |
| Constructor from the underlying value_type. | |
| PCoordXYZ (morton_type const &m) | |
| MortonXYZ conversion constructor. | |
| PCoordXYZ (value_type cx, value_type cy, value_type cz) | |
| Constructor from x,y,z. | |
Cast Operators | |
| operator value_type & () | |
| operator const value_type & () const | |
Public Attributes | |
| struct { | |
| x_type x: BITS_PER_VAL | |
| The x-coordinate. | |
| y_type y: BITS_PER_VAL | |
| The x-coordinate. | |
| z_type z: BITS_PER_VAL | |
| The z-coordinate. | |
| value_type _e: static_cast<size_t>(bitsizeof(value_type)-BITS_PER_VAL*3) | |
| The remaining space. | |
| }; | |
A coordinate packed for fast conversion to and from MortonXYZ.
| U | [uint8|uint16|uint32|uint64] An unsigned type. Also defined as PCoordXYZ::value_type. |
The size of U is equal to the total size of the object. One third of the total bits (rounded down) are dedicated to the X, Y, and Z components. This should be the primary coordinate type you use in conjunction with a 3D hashgrid.
| typedef impl::pcoord_masks<value_type, DIM_3D> ash::PCoordXYZ< U >::mask |
The mask set associated with this type.
| typedef MortonXYZ<value_type> ash::PCoordXYZ< U >::morton_type |
The morton type this converts to.
| typedef U ash::PCoordXYZ< U >::value_type |
The basic unsigned type underneath.
| anonymous enum |
| ash::PCoordXYZ< U >::PCoordXYZ | ( | ) | [inline] |
Default constructor.
| ash::PCoordXYZ< U >::PCoordXYZ | ( | PCoordXYZ< U > const & | p | ) | [inline] |
Copy constructor.
| p | The PCoordXYZ to copy. |
| ash::PCoordXYZ< U >::PCoordXYZ | ( | PCoordXYZ< V > const & | p | ) | [inline, explicit] |
Copy constructor for other sizes.
| p | The PCoordXYZ<> to copy. |
| ash::PCoordXYZ< U >::PCoordXYZ | ( | value_type | val | ) | [inline, explicit] |
Constructor from the underlying value_type.
| ash::PCoordXYZ< U >::PCoordXYZ | ( | morton_type const & | m | ) | [inline] |
MortonXYZ conversion constructor.
| ash::PCoordXYZ< U >::PCoordXYZ | ( | value_type | cx, |
| value_type | cy, | ||
| value_type | cz | ||
| ) | [inline] |
Constructor from x,y,z.
| cx | The x coordinate. |
| cy | The y coordinate. |
| cz | The z coordinate. |
| value_type ash::PCoordXYZ< U >::_e |
The remaining space.
| x_type ash::PCoordXYZ< U >::x |
The x-coordinate.
| y_type ash::PCoordXYZ< U >::y |
The x-coordinate.
| z_type ash::PCoordXYZ< U >::z |
The z-coordinate.
© 2012
|
Licensed under
|
Hosted by
|
Generated by
1.7.4
|