Public Types | Public Attributes
ash::MortonXYZ< U > Union Template Reference

A data type for dealing with an interleaved 3D coordinate. More...

#include <ash/morton.h>

List of all members.

Public Types

enum  { D = DIM_3D }
typedef U value_type
 The basic unsigned type underneath.
typedef impl::morton_masks
< value_type, DIM_3D
mask
 The mask set associated with this type.
typedef PCoordXYZ< value_typepcoord_type
 The pcoord type this converts to.
typedef impl::_Morton_itr
< _Type, value_type, mask::X > 
x_type
 The x-coordinate's interface type.
typedef impl::_Morton_itr
< _Type, value_type, mask::Y > 
y_type
 The y-coordinate's interface type.
typedef impl::_Morton_itr
< _Type, value_type, mask::Z > 
z_type
 The z-coordinate's interface type.

Public Member Functions

Constructors/Destructors

We use the default destructor.

 MortonXYZ ()
 Default constructor.
 MortonXYZ (MortonXYZ const &m)
 Copy constructor.
template<typename V >
 MortonXYZ (MortonXYZ< V > const &m)
 Copy constructor for other sizes.
 MortonXYZ (value_type val)
 Constructor from the underlying value_type.
 MortonXYZ (pcoord_type const &p)
 PCoordXYZ conversion constructor.
Cast Operators
 operator value_type & ()
 operator const value_type & () const

Public Attributes

x_type x
 The x-coordinate interface.
y_type y
 The y-coordinate interface.
z_type z
 The z-coordinate interface.

Detailed Description

template<typename U = size_t>
union ash::MortonXYZ< U >

A data type for dealing with an interleaved 3D coordinate.

Concepts:
ash::morton
Template Parameters:
U[uint8|uint16|uint32|uint64] An unsigned type. Also defined as MortonXYZ::value_type.

The size of U is equal to the total size of the object.

See also:
PCoordXYZ

Member Typedef Documentation

template<typename U = size_t>
typedef impl::morton_masks<value_type, DIM_3D> ash::MortonXYZ< U >::mask

The mask set associated with this type.

template<typename U = size_t>
typedef PCoordXYZ<value_type> ash::MortonXYZ< U >::pcoord_type

The pcoord type this converts to.

template<typename U = size_t>
typedef U ash::MortonXYZ< U >::value_type

The basic unsigned type underneath.

template<typename U = size_t>
typedef impl::_Morton_itr<_Type, value_type, mask::X> ash::MortonXYZ< U >::x_type

The x-coordinate's interface type.

template<typename U = size_t>
typedef impl::_Morton_itr<_Type, value_type, mask::Y> ash::MortonXYZ< U >::y_type

The y-coordinate's interface type.

template<typename U = size_t>
typedef impl::_Morton_itr<_Type, value_type, mask::Z> ash::MortonXYZ< U >::z_type

The z-coordinate's interface type.


Constructor & Destructor Documentation

template<typename U = size_t>
ash::MortonXYZ< U >::MortonXYZ ( ) [inline]

Default constructor.

template<typename U = size_t>
ash::MortonXYZ< U >::MortonXYZ ( MortonXYZ< U > const &  m) [inline]

Copy constructor.

Parameters:
mThe MortonXYZ to copy.
template<typename U = size_t>
template<typename V >
ash::MortonXYZ< U >::MortonXYZ ( MortonXYZ< V > const &  m) [inline, explicit]

Copy constructor for other sizes.

Parameters:
mThe MortonXYZ<> to copy.
template<typename U = size_t>
ash::MortonXYZ< U >::MortonXYZ ( value_type  val) [inline]

Constructor from the underlying value_type.

template<typename U = size_t>
ash::MortonXYZ< U >::MortonXYZ ( pcoord_type const &  p) [inline]

PCoordXYZ conversion constructor.

Parameters:
pThe PCoordXYZ to convert.
Note:
Just interleaves the bits.

Member Data Documentation

template<typename U = size_t>
x_type ash::MortonXYZ< U >::x

The x-coordinate interface.

template<typename U = size_t>
y_type ash::MortonXYZ< U >::y

The y-coordinate interface.

template<typename U = size_t>
z_type ash::MortonXYZ< U >::z

The z-coordinate interface.


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


© 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