ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ISample Class Reference

The ISample class is an abstract interface allowing to store and manipulate pixels or colors in various formats. More...

Inheritance diagram for ISample:

Public Member Functions

 ~ISample ()
 
uint16 A16 () const
 
uint16 a16 () const
 
uint8 A8 () const
 
uint8 a8 () const
 
float AF () const
 
float aF () const
 
uint16 Alpha16 () const
 
uint8 Alpha8 () const
 
float AlphaF () const
 
template<typename T >
AlphaT () const
 
template<typename T >
AT () const
 
uint16 B16 () const
 
uint16 b16 () const
 
uint8 B8 () const
 
uint8 b8 () const
 
float BF () const
 
float bF () const
 
uint8Bits ()
 
const uint8Bits () const
 
uint16 Blue16 () const
 
uint8 Blue8 () const
 
float BlueF () const
 
uint16 Channel16 (uint8 iIndex) const
 
uint8 Channel8 (uint8 iIndex) const
 
ufloat ChannelF (uint8 iIndex) const
 
template<typename T >
ChannelT (uint8 iIndex) const
 
uint16 Cyan16 () const
 
uint8 Cyan8 () const
 
float CyanF () const
 
uint16 G16 () const
 
uint8 G8 () const
 
float GF () const
 
uint16 Green16 () const
 
uint8 Green8 () const
 
float GreenF () const
 
uint16 Grey16 () const
 
uint8 Grey8 () const
 
float GreyF () const
 
uint16 Hue16 () const
 
uint8 Hue8 () const
 
float HueF () const
 
uint16 K16 () const
 
uint8 K8 () const
 
uint16 Key16 () const
 
uint8 Key8 () const
 
float KeyF () const
 
float KF () const
 
uint16 L16 () const
 
uint8 L8 () const
 
float LF () const
 
uint16 Lightness16 () const
 
uint8 Lightness8 () const
 
float LightnessF () const
 
uint16 Luma16 () const
 
uint8 Luma8 () const
 
float LumaF () const
 
uint16 Magenta16 () const
 
uint8 Magenta8 () const
 
float MagentaF () const
 
bool operator!= (const ISample &iOther) const
 
bool operator== (const ISample &iOther) const
 
uint64 PlaneSize () const
 
FColor Premultiplied () const
 
void Premultiply ()
 
uint16 R16 () const
 
uint8 R8 () const
 
uint16 Red16 () const
 
uint8 Red8 () const
 
float RedF () const
 
float RF () const
 
uint16 Saturation16 () const
 
uint8 Saturation8 () const
 
float SaturationF () const
 
void SetA16 (uint16 iValue)
 
void Seta16 (uint16 iValue)
 
void SetA8 (uint8 iValue)
 
void Seta8 (uint8 iValue)
 
void SetAF (float iValue)
 
void SetaF (ufloat iValue)
 
void SetAlpha16 (uint16 iValue)
 
void SetAlpha8 (uint8 iValue)
 
void SetAlphaF (float iValue)
 
template<typename T >
void SetAlphaT (T iValue)
 
template<typename T >
void SetAT (T iValue)
 
void SetB16 (uint16 iValue)
 
void Setb16 (uint16 iValue)
 
void SetB8 (uint8 iValue)
 
void Setb8 (uint8 iValue)
 
void SetBF (ufloat iValue)
 
void SetbF (ufloat iValue)
 
void SetBlue16 (uint16 iValue)
 
void SetBlue8 (uint8 iValue)
 
void SetBlueF (ufloat iValue)
 
void SetChannel16 (uint8 iIndex, uint16 iValue)
 
void SetChannel8 (uint8 iIndex, uint8 iValue)
 
void SetChannelF (uint8 iIndex, ufloat iValue)
 
template<typename T >
void SetChannelT (uint8 iIndex, T iValue)
 
void SetCyan16 (uint16 iValue)
 
void SetCyan8 (uint8 iValue)
 
void SetCyanF (ufloat iValue)
 
void SetG16 (uint16 iValue)
 
void SetG8 (uint8 iValue)
 
void SetGF (ufloat iValue)
 
void SetGreen16 (uint16 iValue)
 
void SetGreen8 (uint8 iValue)
 
void SetGreenF (ufloat iValue)
 
void SetGrey16 (uint16 iValue)
 
void SetGrey8 (uint8 iValue)
 
void SetGreyF (ufloat iValue)
 
void SetHue16 (uint16 iValue)
 
void SetHue8 (uint8 iValue)
 
void SetHueF (ufloat iValue)
 
void SetK16 (uint16 iValue)
 
void SetK8 (uint8 iValue)
 
void SetKey16 (uint16 iValue)
 
void SetKey8 (uint8 iValue)
 
void SetKeyF (ufloat iValue)
 
void SetKF (ufloat iValue)
 
void SetL16 (uint16 iValue)
 
void SetL8 (uint8 iValue)
 
void SetLF (ufloat iValue)
 
void SetLightness16 (uint16 iValue)
 
void SetLightness8 (uint8 iValue)
 
void SetLightnessF (ufloat iValue)
 
void SetLuma16 (uint16 iValue)
 
void SetLuma8 (uint8 iValue)
 
void SetLumaF (ufloat iValue)
 
void SetMagenta16 (uint16 iValue)
 
void SetMagenta8 (uint8 iValue)
 
void SetMagentaF (ufloat iValue)
 
void SetR16 (uint16 iValue)
 
void SetR8 (uint8 iValue)
 
void SetRed16 (uint16 iValue)
 
void SetRed8 (uint8 iValue)
 
void SetRedF (ufloat iValue)
 
void SetRF (ufloat iValue)
 
void SetSaturation16 (uint16 iValue)
 
void SetSaturation8 (uint8 iValue)
 
void SetSaturationF (ufloat iValue)
 
void SetU16 (uint16 iValue)
 
void SetU8 (uint8 iValue)
 
void SetUF (ufloat iValue)
 
void SetV16 (uint16 iValue)
 
void SetV8 (uint8 iValue)
 
void SetValue16 (uint16 iValue)
 
void SetValue8 (uint8 iValue)
 
void SetValueF (ufloat iValue)
 
void SetVF (ufloat iValue)
 
void SetX16 (uint16 iValue)
 
void Setx16 (uint16 iValue)
 
void SetX8 (uint8 iValue)
 
void Setx8 (uint8 iValue)
 
void SetXF (ufloat iValue)
 
void SetxF (ufloat iValue)
 
void SetY16 (uint16 iValue)
 
void Sety16 (uint16 iValue)
 
void SetY8 (uint8 iValue)
 
void Sety8 (uint8 iValue)
 
void SetYellow16 (uint16 iValue)
 
void SetYellow8 (uint8 iValue)
 
void SetYellowF (ufloat iValue)
 
void SetYF (ufloat iValue)
 
void SetyF (ufloat iValue)
 
void SetZ16 (uint16 iValue)
 
void SetZ8 (uint8 iValue)
 
void SetZF (ufloat iValue)
 
FColor ToFormat (eFormat iDstFormat) const
 
uint16 U16 () const
 
uint8 U8 () const
 
float UF () const
 
FColor Unpremultiplied () const
 
void Unpremultiply ()
 
uint16 V16 () const
 
uint8 V8 () const
 
uint16 Value16 () const
 
uint8 Value8 () const
 
float ValueF () const
 
float VF () const
 
uint16 X16 () const
 
uint16 x16 () const
 
uint8 X8 () const
 
uint8 x8 () const
 
float XF () const
 
float xF () const
 
uint16 Y16 () const
 
uint16 y16 () const
 
uint8 Y8 () const
 
uint8 y8 () const
 
uint16 Yellow16 () const
 
uint8 Yellow8 () const
 
float YellowF () const
 
float YF () const
 
float yF () const
 
uint16 Z16 () const
 
uint8 Z8 () const
 
float ZF () const
 
- Public Member Functions inherited from IHasFormat
 ~IHasFormat ()
 
uint8 AlphaIndex () const
 
uint8 BytesPerPixel () const
 
uint8 BytesPerSample () const
 
uint8 DefaultProfileCode () const
 
eFormat Format () const
 
const FFormatMetricsFormatMetrics () const
 
bool HasAlpha () const
 
const uint8IndexTable () const
 
bool Linear () const
 
eColorModel Model () const
 
uint8 NumColorChannels () const
 
bool Planar () const
 
bool Premultiplied () const
 
uint8 RedirectedIndex (uint8 iIndex) const
 
bool Reversed () const
 
uint8 SamplesPerPixel () const
 
bool Swapped () const
 
eType Type () const
 
- Public Member Functions inherited from IHasColorSpace
 ~IHasColorSpace ()
 
void AssignColorSpace (const FColorSpace *iColorSpace)
 
const FColorSpaceColorSpace () const
 

Static Public Member Functions

static void ConvertFormat (const ISample &iSrc, ISample &iDst)
 
static FColor MixFormat (const ISample &iA, const ISample &iB, eFormat iFormat, ufloat iLerpParameter)
 
static FColor MixLab (const ISample &iA, const ISample &iB, ufloat iLerpParameter)
 
static FColor MixRGB (const ISample &iA, const ISample &iB, ufloat iLerpParameter)
 

Protected Member Functions

 ISample (uint8 *iData, eFormat iFormat, const FColorSpace *iColorSpace=nullptr, uint64 iPlaneSize=0)
 
- Protected Member Functions inherited from IHasFormat
 IHasFormat (eFormat iFormat)
 
void ReinterpretFormat (eFormat iFormat)
 
- Protected Member Functions inherited from IHasColorSpace
 IHasColorSpace (const FColorSpace *iColorSpace=nullptr)
 

Protected Attributes

uint64 mPlaneSize
 
uint8mSignal
 

Detailed Description

ISample is a pure virtual class that provides a common interface for the FPixel and FColor classes.

The ISample has a format which specifies the type, memory layout, color model, and other informations about the pixel data. The underlying pixel data is always a regular contiguous buffer storage that lives on RAM with no alignment requirement. It is usually very small, ranging from 1 byte to 40 bytes, depending on the format.

The ISample interface provides a way to access individualy named samples or channels components. If accessing a channel from a named component that is not compatible with the initial format of the ISample, the returned value could make little sense to the caller, but it is properly defined and is safe to call unless accessing a named component that is out of range and from another color model with a greater number of channels than the true color model of the data, according to the format.

There are many named components that can be accessed with a suffix indicating which type is required. If accessing such components with a type suffix that is not the appropriate type according to the format, the function will trigger an assert and crash in debug build, but it will fail silently and access the buffer out of bounds in release builds, leading to potential memory corruption or crashes further down the line.

Here are some examples of legal and illegal uses of ISample through the derived classes:

// Red color in format RGBA8:
FColor rgba_color( eFormat::Format_RGBA8, { 255, 0, 0, 255 } );
uint8 red8 = rgb_color.R8(); // Ok, legal
float redF = rgb_color.RF(); // No, illegal: doesn't match the format type.
// Blue color in format BGR8:
FColor bgr_color( eFormat::Format_BGR8, { 0, 0, 255 } );
uint8 blue8 = bgr_color.B8(); // Ok, cool.
uint8 alpha8 = bgr_color.A8(); // Ok, safe to use even if the format doesn't have alpha, value defaults to type maximum.
uint8 key8 = bgr_color.Key8(); // No, illegal: access via a model that has more channels lead to out of bounds access.
uint8 hue8 = bgr_color.Hue8(); // Ok, legal: access through model with same channel count, but return value is meaningless.
uint8 lightF = bgr_color.LightnessF(); // No, illegal: bad type, and meaningless resulting value in non matching models.
See also
FColor
FPixel

Constructor & Destructor Documentation

◆ ISample()

ISample::ISample ( uint8 iData,
eFormat  iFormat,
const FColorSpace iColorSpace = nullptr,
uint64  iPlaneSize = 0 
)
protected

Construct a ISample interface in a derived class

◆ ~ISample()

ISample::~ISample ( )

Destructor.

Member Function Documentation

◆ A16()

uint16 ISample::A16 ( ) const
inline

◆ a16()

uint16 ISample::a16 ( ) const
inline

◆ A8()

uint8 ISample::A8 ( ) const
inline

◆ a8()

uint8 ISample::a8 ( ) const
inline

◆ AF()

float ISample::AF ( ) const
inline

◆ aF()

float ISample::aF ( ) const
inline

◆ Alpha16()

uint16 ISample::Alpha16 ( ) const
inline

◆ Alpha8()

uint8 ISample::Alpha8 ( ) const
inline

◆ AlphaF()

float ISample::AlphaF ( ) const
inline

◆ AlphaT()

template<typename T >
T ISample::AlphaT ( ) const
inline

◆ AT()

template<typename T >
T ISample::AT ( ) const
inline

◆ B16()

uint16 ISample::B16 ( ) const
inline

◆ b16()

uint16 ISample::b16 ( ) const
inline

◆ B8()

uint8 ISample::B8 ( ) const
inline

◆ b8()

uint8 ISample::b8 ( ) const
inline

◆ BF()

float ISample::BF ( ) const
inline

◆ bF()

float ISample::bF ( ) const
inline

◆ Bits() [1/2]

uint8* ISample::Bits ( )

Obtain a pointer to the raw data at the base element of the underlying buffer.

The data is accessible through the returned pointer and can be modified safely, as long as you don't dereference elements outside of the buffer boundaries.

◆ Bits() [2/2]

const uint8* ISample::Bits ( ) const

Obtain a const pointer to the raw data at the base element of the underlying buffer.

The data is accessible through the returned pointer and can be read safely, as long as you don't dereference elements outside of the buffer boundaries.

◆ Blue16()

uint16 ISample::Blue16 ( ) const
inline

◆ Blue8()

uint8 ISample::Blue8 ( ) const
inline

◆ BlueF()

float ISample::BlueF ( ) const
inline

◆ Channel16()

uint16 ISample::Channel16 ( uint8  iIndex) const
inline

Obtain the value at the redirected channel index as uint16. It is undefined behaviour to call this if the format is not of type uint16.

◆ Channel8()

uint8 ISample::Channel8 ( uint8  iIndex) const
inline

Obtain the value at the redirected channel index as uint8. It is undefined behaviour to call this if the format is not of type uint8.

◆ ChannelF()

ufloat ISample::ChannelF ( uint8  iIndex) const
inline

Obtain the value at the redirected channel index as uint32. It is undefined behaviour to call this if the format is not of type uint32.

Obtain the value at the redirected channel index as ufloat. It is undefined behaviour to call this if the format is not of type ufloat.

◆ ChannelT()

template<typename T >
T ISample::ChannelT ( uint8  iIndex) const
inline

Obtain the value at the redirected channel index as T. It is undefined behaviour to call this if the format is not of type T.

◆ ConvertFormat()

static void ISample::ConvertFormat ( const ISample iSrc,
ISample iDst 
)
static

In-place converter, upon return Dst will represent the visual information of this sample, but converted into the specified format into its own storage.

◆ Cyan16()

uint16 ISample::Cyan16 ( ) const
inline

◆ Cyan8()

uint8 ISample::Cyan8 ( ) const
inline

◆ CyanF()

float ISample::CyanF ( ) const
inline

◆ G16()

uint16 ISample::G16 ( ) const
inline

◆ G8()

uint8 ISample::G8 ( ) const
inline

◆ GF()

float ISample::GF ( ) const
inline

◆ Green16()

uint16 ISample::Green16 ( ) const
inline

◆ Green8()

uint8 ISample::Green8 ( ) const
inline

◆ GreenF()

float ISample::GreenF ( ) const
inline

◆ Grey16()

uint16 ISample::Grey16 ( ) const
inline

◆ Grey8()

uint8 ISample::Grey8 ( ) const
inline

◆ GreyF()

float ISample::GreyF ( ) const
inline

◆ Hue16()

uint16 ISample::Hue16 ( ) const
inline

◆ Hue8()

uint8 ISample::Hue8 ( ) const
inline

◆ HueF()

float ISample::HueF ( ) const
inline

◆ K16()

uint16 ISample::K16 ( ) const
inline

◆ K8()

uint8 ISample::K8 ( ) const
inline

◆ Key16()

uint16 ISample::Key16 ( ) const
inline

◆ Key8()

uint8 ISample::Key8 ( ) const
inline

◆ KeyF()

float ISample::KeyF ( ) const
inline

◆ KF()

float ISample::KF ( ) const
inline

◆ L16()

uint16 ISample::L16 ( ) const
inline

◆ L8()

uint8 ISample::L8 ( ) const
inline

◆ LF()

float ISample::LF ( ) const
inline

◆ Lightness16()

uint16 ISample::Lightness16 ( ) const
inline

◆ Lightness8()

uint8 ISample::Lightness8 ( ) const
inline

◆ LightnessF()

float ISample::LightnessF ( ) const
inline

◆ Luma16()

uint16 ISample::Luma16 ( ) const
inline

◆ Luma8()

uint8 ISample::Luma8 ( ) const
inline

◆ LumaF()

float ISample::LumaF ( ) const
inline

◆ Magenta16()

uint16 ISample::Magenta16 ( ) const
inline

◆ Magenta8()

uint8 ISample::Magenta8 ( ) const
inline

◆ MagentaF()

float ISample::MagentaF ( ) const
inline

◆ MixFormat()

static FColor ISample::MixFormat ( const ISample iA,
const ISample iB,
eFormat  iFormat,
ufloat  iLerpParameter 
)
static

Color Mix or Lerp, beetween two input ISample, in the input format.

◆ MixLab()

static FColor ISample::MixLab ( const ISample iA,
const ISample iB,
ufloat  iLerpParameter 
)
static

Color Mix or Lerp, beetween two input ISample, in Lab.

◆ MixRGB()

static FColor ISample::MixRGB ( const ISample iA,
const ISample iB,
ufloat  iLerpParameter 
)
static

Color Mix or Lerp, beetween two input ISample, in RGB.

◆ operator!=()

bool ISample::operator!= ( const ISample iOther) const

Comparison strict not equal operator

◆ operator==()

bool ISample::operator== ( const ISample iOther) const

Comparison strict equal operator

◆ PlaneSize()

uint64 ISample::PlaneSize ( ) const

Obtain the plane size ( BytesPerSample for interleaved formats, N for planars )

◆ Premultiplied()

FColor ISample::Premultiplied ( ) const

Get Premultiplied color version of this sample.

◆ Premultiply()

void ISample::Premultiply ( )

Premultiply sample in place.

◆ R16()

uint16 ISample::R16 ( ) const
inline

◆ R8()

uint8 ISample::R8 ( ) const
inline

◆ Red16()

uint16 ISample::Red16 ( ) const
inline

◆ Red8()

uint8 ISample::Red8 ( ) const
inline

◆ RedF()

float ISample::RedF ( ) const
inline

◆ RF()

float ISample::RF ( ) const
inline

◆ Saturation16()

uint16 ISample::Saturation16 ( ) const
inline

◆ Saturation8()

uint8 ISample::Saturation8 ( ) const
inline

◆ SaturationF()

float ISample::SaturationF ( ) const
inline

◆ SetA16()

void ISample::SetA16 ( uint16  iValue)
inline

◆ Seta16()

void ISample::Seta16 ( uint16  iValue)
inline

◆ SetA8()

void ISample::SetA8 ( uint8  iValue)
inline

◆ Seta8()

void ISample::Seta8 ( uint8  iValue)
inline

◆ SetAF()

void ISample::SetAF ( float  iValue)
inline

◆ SetaF()

void ISample::SetaF ( ufloat  iValue)
inline

◆ SetAlpha16()

void ISample::SetAlpha16 ( uint16  iValue)
inline

◆ SetAlpha8()

void ISample::SetAlpha8 ( uint8  iValue)
inline

◆ SetAlphaF()

void ISample::SetAlphaF ( float  iValue)
inline

◆ SetAlphaT()

template<typename T >
void ISample::SetAlphaT ( iValue)
inline

◆ SetAT()

template<typename T >
void ISample::SetAT ( iValue)
inline

◆ SetB16()

void ISample::SetB16 ( uint16  iValue)
inline

◆ Setb16()

void ISample::Setb16 ( uint16  iValue)
inline

◆ SetB8()

void ISample::SetB8 ( uint8  iValue)
inline

◆ Setb8()

void ISample::Setb8 ( uint8  iValue)
inline

◆ SetBF()

void ISample::SetBF ( ufloat  iValue)
inline

◆ SetbF()

void ISample::SetbF ( ufloat  iValue)
inline

◆ SetBlue16()

void ISample::SetBlue16 ( uint16  iValue)
inline

◆ SetBlue8()

void ISample::SetBlue8 ( uint8  iValue)
inline

◆ SetBlueF()

void ISample::SetBlueF ( ufloat  iValue)
inline

◆ SetChannel16()

void ISample::SetChannel16 ( uint8  iIndex,
uint16  iValue 
)
inline

Set the value at the redirected channel index as uint16. It is undefined behaviour to call this if the format is not of type uint16.

◆ SetChannel8()

void ISample::SetChannel8 ( uint8  iIndex,
uint8  iValue 
)
inline

Set the value at the redirected channel index as uint8. It is undefined behaviour to call this if the format is not of type uint8.

◆ SetChannelF()

void ISample::SetChannelF ( uint8  iIndex,
ufloat  iValue 
)
inline

Set the value at the redirected channel index as ufloat. It is undefined behaviour to call this if the format is not of type ufloat.

◆ SetChannelT()

template<typename T >
void ISample::SetChannelT ( uint8  iIndex,
iValue 
)
inline

Set the value at the redirected channel index as T. It is undefined behaviour to call this if the format is not of type T.

◆ SetCyan16()

void ISample::SetCyan16 ( uint16  iValue)
inline

◆ SetCyan8()

void ISample::SetCyan8 ( uint8  iValue)
inline

◆ SetCyanF()

void ISample::SetCyanF ( ufloat  iValue)
inline

◆ SetG16()

void ISample::SetG16 ( uint16  iValue)
inline

◆ SetG8()

void ISample::SetG8 ( uint8  iValue)
inline

◆ SetGF()

void ISample::SetGF ( ufloat  iValue)
inline

◆ SetGreen16()

void ISample::SetGreen16 ( uint16  iValue)
inline

◆ SetGreen8()

void ISample::SetGreen8 ( uint8  iValue)
inline

◆ SetGreenF()

void ISample::SetGreenF ( ufloat  iValue)
inline

◆ SetGrey16()

void ISample::SetGrey16 ( uint16  iValue)
inline

◆ SetGrey8()

void ISample::SetGrey8 ( uint8  iValue)
inline

◆ SetGreyF()

void ISample::SetGreyF ( ufloat  iValue)
inline

◆ SetHue16()

void ISample::SetHue16 ( uint16  iValue)
inline

◆ SetHue8()

void ISample::SetHue8 ( uint8  iValue)
inline

◆ SetHueF()

void ISample::SetHueF ( ufloat  iValue)
inline

◆ SetK16()

void ISample::SetK16 ( uint16  iValue)
inline

◆ SetK8()

void ISample::SetK8 ( uint8  iValue)
inline

◆ SetKey16()

void ISample::SetKey16 ( uint16  iValue)
inline

◆ SetKey8()

void ISample::SetKey8 ( uint8  iValue)
inline

◆ SetKeyF()

void ISample::SetKeyF ( ufloat  iValue)
inline

◆ SetKF()

void ISample::SetKF ( ufloat  iValue)
inline

◆ SetL16()

void ISample::SetL16 ( uint16  iValue)
inline

◆ SetL8()

void ISample::SetL8 ( uint8  iValue)
inline

◆ SetLF()

void ISample::SetLF ( ufloat  iValue)
inline

◆ SetLightness16()

void ISample::SetLightness16 ( uint16  iValue)
inline

◆ SetLightness8()

void ISample::SetLightness8 ( uint8  iValue)
inline

◆ SetLightnessF()

void ISample::SetLightnessF ( ufloat  iValue)
inline

◆ SetLuma16()

void ISample::SetLuma16 ( uint16  iValue)
inline

◆ SetLuma8()

void ISample::SetLuma8 ( uint8  iValue)
inline

◆ SetLumaF()

void ISample::SetLumaF ( ufloat  iValue)
inline

◆ SetMagenta16()

void ISample::SetMagenta16 ( uint16  iValue)
inline

◆ SetMagenta8()

void ISample::SetMagenta8 ( uint8  iValue)
inline

◆ SetMagentaF()

void ISample::SetMagentaF ( ufloat  iValue)
inline

◆ SetR16()

void ISample::SetR16 ( uint16  iValue)
inline

◆ SetR8()

void ISample::SetR8 ( uint8  iValue)
inline

◆ SetRed16()

void ISample::SetRed16 ( uint16  iValue)
inline

◆ SetRed8()

void ISample::SetRed8 ( uint8  iValue)
inline

◆ SetRedF()

void ISample::SetRedF ( ufloat  iValue)
inline

◆ SetRF()

void ISample::SetRF ( ufloat  iValue)
inline

◆ SetSaturation16()

void ISample::SetSaturation16 ( uint16  iValue)
inline

◆ SetSaturation8()

void ISample::SetSaturation8 ( uint8  iValue)
inline

◆ SetSaturationF()

void ISample::SetSaturationF ( ufloat  iValue)
inline

◆ SetU16()

void ISample::SetU16 ( uint16  iValue)
inline

◆ SetU8()

void ISample::SetU8 ( uint8  iValue)
inline

◆ SetUF()

void ISample::SetUF ( ufloat  iValue)
inline

◆ SetV16()

void ISample::SetV16 ( uint16  iValue)
inline

◆ SetV8()

void ISample::SetV8 ( uint8  iValue)
inline

◆ SetValue16()

void ISample::SetValue16 ( uint16  iValue)
inline

◆ SetValue8()

void ISample::SetValue8 ( uint8  iValue)
inline

◆ SetValueF()

void ISample::SetValueF ( ufloat  iValue)
inline

◆ SetVF()

void ISample::SetVF ( ufloat  iValue)
inline

◆ SetX16()

void ISample::SetX16 ( uint16  iValue)
inline

◆ Setx16()

void ISample::Setx16 ( uint16  iValue)
inline

◆ SetX8()

void ISample::SetX8 ( uint8  iValue)
inline

◆ Setx8()

void ISample::Setx8 ( uint8  iValue)
inline

◆ SetXF()

void ISample::SetXF ( ufloat  iValue)
inline

◆ SetxF()

void ISample::SetxF ( ufloat  iValue)
inline

◆ SetY16()

void ISample::SetY16 ( uint16  iValue)
inline

◆ Sety16()

void ISample::Sety16 ( uint16  iValue)
inline

◆ SetY8()

void ISample::SetY8 ( uint8  iValue)
inline

◆ Sety8()

void ISample::Sety8 ( uint8  iValue)
inline

◆ SetYellow16()

void ISample::SetYellow16 ( uint16  iValue)
inline

◆ SetYellow8()

void ISample::SetYellow8 ( uint8  iValue)
inline

◆ SetYellowF()

void ISample::SetYellowF ( ufloat  iValue)
inline

◆ SetYF()

void ISample::SetYF ( ufloat  iValue)
inline

◆ SetyF()

void ISample::SetyF ( ufloat  iValue)
inline

◆ SetZ16()

void ISample::SetZ16 ( uint16  iValue)
inline

◆ SetZ8()

void ISample::SetZ8 ( uint8  iValue)
inline

◆ SetZF()

void ISample::SetZF ( ufloat  iValue)
inline

◆ ToFormat()

FColor ISample::ToFormat ( eFormat  iDstFormat) const

Obtain a new color object that represents the visual information of this sample, but converted into the specified format and with its own storage.

◆ U16()

uint16 ISample::U16 ( ) const
inline

◆ U8()

uint8 ISample::U8 ( ) const
inline

◆ UF()

float ISample::UF ( ) const
inline

◆ Unpremultiplied()

FColor ISample::Unpremultiplied ( ) const

Get Unpremultiplied color version of this sample.

◆ Unpremultiply()

void ISample::Unpremultiply ( )

Unpremultiply sample in place.

◆ V16()

uint16 ISample::V16 ( ) const
inline

◆ V8()

uint8 ISample::V8 ( ) const
inline

◆ Value16()

uint16 ISample::Value16 ( ) const
inline

◆ Value8()

uint8 ISample::Value8 ( ) const
inline

◆ ValueF()

float ISample::ValueF ( ) const
inline

◆ VF()

float ISample::VF ( ) const
inline

◆ X16()

uint16 ISample::X16 ( ) const
inline

◆ x16()

uint16 ISample::x16 ( ) const
inline

◆ X8()

uint8 ISample::X8 ( ) const
inline

◆ x8()

uint8 ISample::x8 ( ) const
inline

◆ XF()

float ISample::XF ( ) const
inline

◆ xF()

float ISample::xF ( ) const
inline

◆ Y16()

uint16 ISample::Y16 ( ) const
inline

◆ y16()

uint16 ISample::y16 ( ) const
inline

◆ Y8()

uint8 ISample::Y8 ( ) const
inline

◆ y8()

uint8 ISample::y8 ( ) const
inline

◆ Yellow16()

uint16 ISample::Yellow16 ( ) const
inline

◆ Yellow8()

uint8 ISample::Yellow8 ( ) const
inline

◆ YellowF()

float ISample::YellowF ( ) const
inline

◆ YF()

float ISample::YF ( ) const
inline

◆ yF()

float ISample::yF ( ) const
inline

◆ Z16()

uint16 ISample::Z16 ( ) const
inline

◆ Z8()

uint8 ISample::Z8 ( ) const
inline

◆ ZF()

float ISample::ZF ( ) const
inline

Member Data Documentation

◆ mPlaneSize

uint64 ISample::mPlaneSize
protected

◆ mSignal

uint8* ISample::mSignal
mutableprotected
Format_RGBA8
Definition: Formats.h:61
FColor
The FColor class provides a mean of storing and manipulating colors in various formats.
Definition: Color.h:27
uint8
uint8_t uint8
Used for the smallest adressable type, unsigned 8bit images domain range values and main type for ima...
Definition: Types.h:21
ISample::B8
uint8 B8() const
Definition: Sample.h:255
Format_BGR8
Definition: Formats.h:60
ISample::R8
uint8 R8() const
Definition: Sample.h:253