gml_TColor_HSV Class Template Reference

#include <gml_HSVColor.h>

Collaboration diagram for gml_TColor_HSV:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename Channel>
class gml_TColor_HSV< Channel >

A union type used to represent HSV-encoded color pixels. HSV is Smith's Hue, Saturation, Value colorspace. The type (and bitwidth) used for each channel is the template parameter.


Public Member Functions

 gml_TColor_HSV (UInt8 const r, UInt8 const g, UInt8 const b)
 Convert a 24-bit RGB triplet into HSV and fill in the object.
 gml_TColor_HSV (const void *const ptr)
 Fill the structure from data in memory.
 gml_TColor_HSV ()
 Leave the structure `as is'. I.e. probably zero.
void Print ()
 Dump a representation of the pixel to stdout: channels in hex and in degrees, percent, percent format.
void Store (void *const ptr)
 Place the structure's data in memory.
void Convert (UInt8 &r, UInt8 &g, UInt8 &b)
 Convert the HSV data in this object to a 24 bit RGB triplet.
UInt16 Distance (const gml_TColor_HSV< Channel > other)
 Compute the 16-bit distance to another HSV pixel. The euclidian distance in the hue, saturation disc is used.

Public Attributes

struct {
   Channel   H
 < structure for transparent channel access hue channel
   Channel   S
 saturation channel
   Channel   V
 value channel
GML_PACKED

Static Public Attributes

static UInt8 const sChannelBits = 8 * sizeof (Channel)
 bits per channel
static UInt64 const sChannelMax = (1 << sChannelBits) - 1
 max channel value

Member Function Documentation

void Print (  )  [inline]

Dump a representation of the pixel to stdout: channels in hex and in degrees, percent, percent format.

Warning:
no newline appended !


The documentation for this class was generated from the following file:
Generated on Tue Jun 12 14:03:28 2007 for gml by Doxygen 1.5.2.