DD::Image::DeepPixel Class Reference

List of all members.

Public Types

enum  Ordering { eUnordered, eZAscending, eZDescending }

Public Member Functions

 DeepPixel (const DD::Image::ChannelMap &channels, const float *pixels, size_t dataCount, Ordering ordering)
const ChannelMapchannels () const
size_t getSampleCount () const
const float * data () const
size_t getDataCount () const
const float * getUnorderedSample (size_t sampNo) const
const float & getUnorderedSample (size_t sampNo, DD::Image::Channel channel) const
const float & getOrderedSample (size_t depthIdx, DD::Image::Channel channel) const

Static Public Member Functions

static Ordering SwapOrdering (Ordering ordering)

Friends

class DeepPlane


Detailed Description

DeepPixel is a helper class for accessing DeepPlanes. It represents all the data at a particular x/y position in a DeepPlane. It does not contain its own copy of the data, and remains valid for only as long as the DeepPlane it is associated with exists.

Member Enumeration Documentation

which ordering the pixel data is in.

Enumerator:
eZAscending  unordered - the samples are in no particular depth order
eZDescending  z ascending - the samples with lowest Z are first


Constructor & Destructor Documentation

DD::Image::DeepPixel::DeepPixel ( const DD::Image::ChannelMap channels,
const float *  pixels,
size_t  dataCount,
Ordering  ordering 
) [inline]

Constructor. Usually not accessed directly, invoked by DeepPlane::getPixel


Member Function Documentation

static Ordering DD::Image::DeepPixel::SwapOrdering ( Ordering  ordering  )  [inline, static]

Swap the pixel ordering to the other way around. Unordered remains unordered, but Z-ascending and Z-descending swap.

const ChannelMap& DD::Image::DeepPixel::channels (  )  const [inline]

Get the channels that this DeepPixel contains

Referenced by DD::Image::DeepOutputPlane::addPixel(), and DD::Image::DeepSample::DeepSample().

size_t DD::Image::DeepPixel::getSampleCount (  )  const [inline]

Get the number of samples

Referenced by getOrderedSample().

const float* DD::Image::DeepPixel::data (  )  const [inline]

Get the pointer to the data

Referenced by DD::Image::DeepOutputPlane::addPixel().

size_t DD::Image::DeepPixel::getDataCount (  )  const [inline]

Get the total number of data elements

Referenced by DD::Image::DeepOutputPlane::addPixel().

const float* DD::Image::DeepPixel::getUnorderedSample ( size_t  sampNo  )  const [inline]

Get a pointer to the pixel data for a particular sample number. Data will be the channels present in channels(), ordered by numeric channel id. Samples are in whatever order they happen to be in the pixel.

Referenced by DD::Image::DeepSample::DeepSample(), and getOrderedSample().

const float& DD::Image::DeepPixel::getUnorderedSample ( size_t  sampNo,
DD::Image::Channel  channel 
) const [inline]

Get a particular sample and channel. Samples are in whatever order they happen to be in the pixel.

const float & DD::Image::DeepPixel::getOrderedSample ( size_t  depthIdx,
DD::Image::Channel  channel 
) const

Get a particle sample (by depth) and channel. Samples will be ordered so that if depthIdx == 0, it will fetch the sample with the lowest Z.

References DD::Image::ChannelMap::contains(), eZAscending, eZDescending, getSampleCount(), and getUnorderedSample().

Referenced by DD::Image::DeepSample::DeepSample().



©2009 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk