Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Fonctions membres publiques statiques | Types protégés | Liste de tous les membres
Référence du modèle de la classe castor::Pixel< FT >

Définition d'un pixel. Plus de détails...

#include <Pixel.hpp>

Graphe d'héritage de castor::Pixel< FT >:
Inheritance graph
[légende]

Types publics

using iterator = uint8_t *
 
using const_iterator = uint8_t const *
 

Fonctions membres publiques

 Pixel (bool init=false)
 Constructeur.
 
 Pixel (uint8_t *components)
 Constructeur.
 
 Pixel (Pixel const &pxl)
 Constructeur par copie.
 
 Pixel (Pixel &&pxl) noexcept
 Constructeur par déplacement.
 
template<PixelFormat FU>
 Pixel (Array< uint8_t, PixelDefinitionsT< FU >::Size > const &components)
 Constructeur.
 
template<PixelFormat FU>
 Pixel (Pixel< FU > const &pxl)
 Constructeur.
 
 ~Pixel () noexcept
 Destructeur.
 
Pixeloperator= (Pixel &&pxl) noexcept
 Opérateur d'affectation par copie.
 
Pixeloperator= (Pixel const &pxl)
 Opérateur d'affectation par déplacement.
 
template<PixelFormat FU>
Pixeloperator= (Pixel< FU > const &pxl)
 Opérateur d'affectation par copie.
 
template<typename U >
void sum (U &result) const
 Calcule la somme de toutes les composantes.
 
template<PixelFormat FU>
Pixel< FU > mul (Pixel< FU > const &px) const
 Fonction de multiplication.
 
void clear () noexcept
 Désalloue les composantes de ce pixel.
 
void link (uint8_t *components) noexcept
 Lie les données de ce pixel à celles données en paramètre.
 
void unlink () noexcept
 Délie les données de ce pixel de celles données précédemment.
 
template<PixelFormat FU>
void set (Array< uint8_t, PixelDefinitionsT< FU >::Size > const &components)
 Convertit les données et les copie dans les composantes de ce pixel.
 
template<PixelFormat FU>
void set (uint8_t const *components)
 Convertit les données et les copie dans les composantes de ce pixel.
 
template<PixelFormat FU>
void set (Pixel< FU > const &px)
 Convertit le pixel et le copie dans les composantes de ce pixel.
 
component_ref operator[] (uint8_t index)
 Récupère la donnée à l'index donné
 
component_const_ref operator[] (uint8_t index) const
 Récupère la donnée à l'index donné
 
component_const_ptr constPtr () const
 Récupère le pointeur sur les données constantes.
 
component_ptr ptr ()
 Récupère le pointeur sur les données.
 
iterator begin ()
 Récupère un itérateur sur le premier élément.
 
const_iterator begin () const
 Récupère un itérateur constant sur le premier élément.
 
iterator end ()
 Récupère un itérateur sur le dernier élément.
 
const_iterator end () const
 Récupère un itérateur constant sur le dernier élément.
 
Opérateurs arithmétiques membres.
template<PixelFormat FU>
Pixeloperator+= (Pixel< FU > const &px)
 
template<PixelFormat FU>
Pixeloperator-= (Pixel< FU > const &px)
 
template<PixelFormat FU>
Pixeloperator*= (Pixel< FU > const &px)
 
template<PixelFormat FU>
Pixeloperator/= (Pixel< FU > const &px)
 

Fonctions membres publiques statiques

static PixelFormat getFormat ()
 Récupère le format du pixel.
 
static uint32_t getSize ()
 Récupère la taille du pixel.
 

Types protégés

using component_ptr = uint8_t *
 
using component_const_ptr = uint8_t const *
 
using component_ref = uint8_t &
 
using component_const_ref = uint8_t const &
 

Description détaillée

template<PixelFormat FT>
class castor::Pixel< FT >

Définition d'un pixel.

Remarques
L'argument template PixelFormat sert a déterminer la taille et le format du pixel.

Documentation des définitions de type membres

◆ component_const_ptr

template<PixelFormat FT>
using castor::Pixel< FT >::component_const_ptr = uint8_t const *
protected

◆ component_const_ref

template<PixelFormat FT>
using castor::Pixel< FT >::component_const_ref = uint8_t const &
protected

◆ component_ptr

template<PixelFormat FT>
using castor::Pixel< FT >::component_ptr = uint8_t *
protected

◆ component_ref

template<PixelFormat FT>
using castor::Pixel< FT >::component_ref = uint8_t &
protected

◆ const_iterator

template<PixelFormat FT>
using castor::Pixel< FT >::const_iterator = uint8_t const *

Itérateur constant sur les données d'un pixel.

◆ iterator

template<PixelFormat FT>
using castor::Pixel< FT >::iterator = uint8_t *

Itérateur sur les données d'un pixel.

Documentation des constructeurs et destructeur

◆ Pixel() [1/6]

template<PixelFormat FT>
castor::Pixel< FT >::Pixel ( bool init = false)
explicit

Constructeur.

Paramètres
[in]initDit si on initialise les données

◆ Pixel() [2/6]

template<PixelFormat FT>
castor::Pixel< FT >::Pixel ( uint8_t * components)
explicit

Constructeur.

Remarques
Le Pixel ne gère pas ses données
Paramètres
[in]componentsInitialise les données à celles-ci

◆ Pixel() [3/6]

template<PixelFormat FT>
castor::Pixel< FT >::Pixel ( Pixel< FT > const & pxl)

Constructeur par copie.

Paramètres
[in]pxlL'objet Pixel à copier

◆ Pixel() [4/6]

template<PixelFormat FT>
castor::Pixel< FT >::Pixel ( Pixel< FT > && pxl)
noexcept

Constructeur par déplacement.

Paramètres
[in]pxlL'objet Pixel à déplacer

◆ Pixel() [5/6]

template<PixelFormat FT>
template<PixelFormat FU>
castor::Pixel< FT >::Pixel ( Array< uint8_t, PixelDefinitionsT< FU >::Size > const & components)
explicit

Constructeur.

Remarques
Le Pixel gère ses données
Paramètres
[in]componentsInitialise les données à celles-ci

◆ Pixel() [6/6]

template<PixelFormat FT>
template<PixelFormat FU>
castor::Pixel< FT >::Pixel ( Pixel< FU > const & pxl)
explicit

Constructeur.

Paramètres
[in]pxlL'objet Pixel à copier

◆ ~Pixel()

template<PixelFormat FT>
castor::Pixel< FT >::~Pixel ( )
noexcept

Destructeur.

Documentation des fonctions membres

◆ begin() [1/2]

template<PixelFormat FT>
iterator castor::Pixel< FT >::begin ( )
inline

Récupère un itérateur sur le premier élément.

Renvoie
L'itérateur

◆ begin() [2/2]

template<PixelFormat FT>
const_iterator castor::Pixel< FT >::begin ( ) const
inline

Récupère un itérateur constant sur le premier élément.

Renvoie
L'itérateur

◆ clear()

template<PixelFormat FT>
void castor::Pixel< FT >::clear ( )
noexcept

Désalloue les composantes de ce pixel.

◆ constPtr()

template<PixelFormat FT>
component_const_ptr castor::Pixel< FT >::constPtr ( ) const
inline

Récupère le pointeur sur les données constantes.

Renvoie
Les données

◆ end() [1/2]

template<PixelFormat FT>
iterator castor::Pixel< FT >::end ( )
inline

Récupère un itérateur sur le dernier élément.

Renvoie
L'itérateur

◆ end() [2/2]

template<PixelFormat FT>
const_iterator castor::Pixel< FT >::end ( ) const
inline

Récupère un itérateur constant sur le dernier élément.

Renvoie
L'itérateur

◆ getFormat()

template<PixelFormat FT>
static PixelFormat castor::Pixel< FT >::getFormat ( )
inlinestatic

Récupère le format du pixel.

Renvoie
Le format du pixel

◆ getSize()

template<PixelFormat FT>
static uint32_t castor::Pixel< FT >::getSize ( )
inlinestatic

Récupère la taille du pixel.

Renvoie
La taille

◆ link()

template<PixelFormat FT>
void castor::Pixel< FT >::link ( uint8_t * components)
noexcept

Lie les données de ce pixel à celles données en paramètre.

Remarques
Le pixel perd la responsabilité de ses données

◆ mul()

template<PixelFormat FT>
template<PixelFormat FU>
Pixel< FU > castor::Pixel< FT >::mul ( Pixel< FU > const & px) const

Fonction de multiplication.

Paramètres
[in]pxLe pixel à multiplier
Renvoie
Le résultat de la multiplication

◆ operator*=()

template<PixelFormat FT>
template<PixelFormat FU>
Pixel & castor::Pixel< FT >::operator*= ( Pixel< FU > const & px)

◆ operator+=()

template<PixelFormat FT>
template<PixelFormat FU>
Pixel & castor::Pixel< FT >::operator+= ( Pixel< FU > const & px)

◆ operator-=()

template<PixelFormat FT>
template<PixelFormat FU>
Pixel & castor::Pixel< FT >::operator-= ( Pixel< FU > const & px)

◆ operator/=()

template<PixelFormat FT>
template<PixelFormat FU>
Pixel & castor::Pixel< FT >::operator/= ( Pixel< FU > const & px)

◆ operator=() [1/3]

template<PixelFormat FT>
Pixel & castor::Pixel< FT >::operator= ( Pixel< FT > && pxl)
noexcept

Opérateur d'affectation par copie.

Paramètres
[in]pxlL'objet Pixel à copier
Renvoie
Une référence sur cet objet Pixel

◆ operator=() [2/3]

template<PixelFormat FT>
Pixel & castor::Pixel< FT >::operator= ( Pixel< FT > const & pxl)

Opérateur d'affectation par déplacement.

Paramètres
[in]pxlL'objet Pixel à déplacer
Renvoie
Une référence sur cet objet Pixel

◆ operator=() [3/3]

template<PixelFormat FT>
template<PixelFormat FU>
Pixel & castor::Pixel< FT >::operator= ( Pixel< FU > const & pxl)

Opérateur d'affectation par copie.

Paramètres
[in]pxlL'objet Pixel à copier
Renvoie
Une référence sur cet objet Pixel

◆ operator[]() [1/2]

template<PixelFormat FT>
component_ref castor::Pixel< FT >::operator[] ( uint8_t index)
inline

Récupère la donnée à l'index donné

Remarques
Aucun check n'est fait, s'il y a une erreur d'index, attendez-vous à un crash
Renvoie
Une référence sur la donnée à l'index voulu

◆ operator[]() [2/2]

template<PixelFormat FT>
component_const_ref castor::Pixel< FT >::operator[] ( uint8_t index) const
inline

Récupère la donnée à l'index donné

Remarques
Aucun check n'est fait, s'il y a une erreur d'index, attendez-vous à un crash
Renvoie
Une référence constante sur la donnée à l'index voulu

◆ ptr()

template<PixelFormat FT>
component_ptr castor::Pixel< FT >::ptr ( )
inline

Récupère le pointeur sur les données.

Renvoie
Les données

◆ set() [1/3]

template<PixelFormat FT>
template<PixelFormat FU>
void castor::Pixel< FT >::set ( Array< uint8_t, PixelDefinitionsT< FU >::Size > const & components)

Convertit les données et les copie dans les composantes de ce pixel.

Paramètres
[in]componentsLes données à convertir

◆ set() [2/3]

template<PixelFormat FT>
template<PixelFormat FU>
void castor::Pixel< FT >::set ( Pixel< FU > const & px)

Convertit le pixel et le copie dans les composantes de ce pixel.

Paramètres
[in]pxLe pixel à convertir

◆ set() [3/3]

template<PixelFormat FT>
template<PixelFormat FU>
void castor::Pixel< FT >::set ( uint8_t const * components)

Convertit les données et les copie dans les composantes de ce pixel.

Paramètres
[in]componentsLes données à convertir

◆ sum()

template<PixelFormat FT>
template<typename U >
void castor::Pixel< FT >::sum ( U & result) const

Calcule la somme de toutes les composantes.

Paramètres
[out]resultReçoit la somme

◆ unlink()

template<PixelFormat FT>
void castor::Pixel< FT >::unlink ( )
noexcept

Délie les données de ce pixel de celles données précédemment.

Remarques
Le pixel regagne la responsabilité de ses données

La documentation de cette classe a été générée à partir des fichiers suivants :