Castor3D  0.11.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::MaterialCache

Collection de matériaux, avec des fonctions additionnelles. Plus de détails...

Graphe d'héritage de castor3d::MaterialCache:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::MaterialCache:
Collaboration graph
[légende]

Types publics

using MyCacheType = CacheBase< Material, castor::String >
 
using MyCacheTraits = typename MyCacheType::MyCacheTraits
 
using Element = typename MyCacheType::Element
 
using Key = typename MyCacheType::Key
 
using Collection = typename MyCacheType::Collection
 
using LockType = typename MyCacheType::LockType
 
using ElementPtr = typename MyCacheType::ElementPtr
 
using Producer = typename MyCacheType::Producer
 
using Initialiser = typename MyCacheType::Initialiser
 
using Cleaner = typename MyCacheType::Cleaner
 
using Merger = typename MyCacheType::Merger
 
- Types publics hérités de castor3d::CacheBase< Material, castor::String >
using MyCacheType = CacheBase< Material, castor::String >
 
using MyCacheTraits = CacheTraits< Material, castor::String >
 
using Element = Material
 
using Key = castor::String
 
using Collection = castor::Collection< Element, Key >
 
using LockType = std::unique_lock< Collection >
 
using ElementPtr = std::shared_ptr< Element >
 
using Producer = typename MyCacheTraits::Producer
 
using Merger = typename MyCacheTraits::Merger
 
using Initialiser = ElementInitialiser< Element >
 
using Cleaner = ElementCleaner< Element >
 

Fonctions membres publiques

 MaterialCache (Engine &engine, Producer &&produce, Initialiser &&initialise, Cleaner &&clean, Merger &&merge)
 Constructeur. Plus de détails...
 
 ~MaterialCache ()
 Destructeur. Plus de détails...
 
C3D_API void initialise (RenderDevice const &device, MaterialType type)
 Initialise le matériau par défaut. Plus de détails...
 
C3D_API void cleanup ()
 Met tous les éléments à nettoyer. Plus de détails...
 
C3D_API void clear ()
 Supprime le matériau par défaut, vide la collection. Plus de détails...
 
C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
C3D_API void update (GpuUpdater &updater)
 Met à jour la passe de rendu, au niveau GPU. Plus de détails...
 
C3D_API MaterialSPtr add (Key const &name, MaterialSPtr element)
 Retire un élément à partir d'un nom. Plus de détails...
 
C3D_API MaterialSPtr add (Key const &name, MaterialType type)
 Crée un élément. Plus de détails...
 
C3D_API void getNames (castor::StringArray &names)
 Remplit la liste des noms de tous les matériaux. Plus de détails...
 
MaterialSPtr getDefaultMaterial () const
 Récupère le matériau par défaut. Plus de détails...
 
PassBuffer const & getPassBuffer () const
 
TextureConfigurationBuffer const & getTextureBuffer () const
 
- Fonctions membres publiques hérités de castor3d::CacheBase< Material, castor::String >
 CacheBase (Engine &engine, Producer &&produce, Initialiser &&initialise, Cleaner &&clean, Merger &&merge)
 Constructeur. Plus de détails...
 
 ~CacheBase ()
 Destructeur. Plus de détails...
 
void cleanup ()
 Met tous les éléments à nettoyer. Plus de détails...
 
void clear ()
 Vide la collection. Plus de détails...
 
bool isEmpty () const
 
ElementPtr create (Key const &name, Parameters &&... parameters)
 Crée un élément. Plus de détails...
 
ElementPtr add (Key const &name, ElementPtr element)
 Retire un élément à partir d'un nom. Plus de détails...
 
ElementPtr add (Key const &name, Parameters &&... parameters)
 Crée un élément. Plus de détails...
 
void remove (Key const &name)
 Retire un élément à partir d'un nom. Plus de détails...
 
void mergeInto (MyCacheType &destination)
 
void forEach (FuncType func) const
 Applique une fonction à tous les éléments de ce cache. Plus de détails...
 
void forEach (FuncType func)
 Applique une fonction à tous les éléments de ce cache. Plus de détails...
 
uint32_t getObjectCount () const
 
EnginegetEngine () const
 
castor::String const & getObjectTypeName () const
 
bool has (Key const &name) const
 
ElementPtr find (Key const &name) const
 Cherche un élément par son nom. Plus de détails...
 
void lock () const
 Locke le mutex de la collection. Plus de détails...
 
void unlock () const
 Délocke le mutex de la collection. Plus de détails...
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor3d::CacheBase< Material, castor::String >
void doReportCreation (castor::String const &name)
 
void doReportDuplicate (castor::String const &name)
 
void doReportNull ()
 
- Attributs protégés hérités de castor3d::CacheBase< Material, castor::String >
Enginem_engine
 
Collection m_elements
 
Producer m_produce
 
Initialiser m_initialise
 
Cleaner m_clean
 
Merger m_merge
 

Description détaillée

Collection de matériaux, avec des fonctions additionnelles.

Auteur
Sylvain DOREMUS
Date
09/02/2010
Version
0.1

Documentation des définitions de type membres

◆ Cleaner

◆ Collection

◆ Element

◆ ElementPtr

◆ Initialiser

◆ Key

◆ LockType

◆ Merger

◆ MyCacheTraits

◆ MyCacheType

◆ Producer

Documentation des constructeurs et destructeur

◆ MaterialCache()

castor3d::MaterialCache::MaterialCache ( Engine engine,
Producer &&  produce,
Initialiser &&  initialise,
Cleaner &&  clean,
Merger &&  merge 
)
inline

Constructeur.

Paramètres
[in]engineLe moteur.
[in]produceLe créateur d'objet.
[in]initialiseL'initialiseur d'objet.
[in]cleanLe nettoyeur d'objet.
[in]mergeLe fusionneur de collection d'objets.

◆ ~MaterialCache()

castor3d::MaterialCache::~MaterialCache ( )
inline

Destructeur.

Documentation des fonctions membres

◆ add() [1/2]

C3D_API MaterialSPtr castor3d::MaterialCache::add ( Key const &  name,
MaterialSPtr  element 
)

Retire un élément à partir d'un nom.

Paramètres
[in]nameLe nom d'élément.
[in]elementL'élément.

◆ add() [2/2]

C3D_API MaterialSPtr castor3d::MaterialCache::add ( Key const &  name,
MaterialType  type 
)

Crée un élément.

Paramètres
[in]nameLe nom d'élément.
[in]typeLe type de matéeiau.
Renvoie
L'élément créé.

◆ cleanup()

C3D_API void castor3d::MaterialCache::cleanup ( )

Met tous les éléments à nettoyer.

◆ clear()

C3D_API void castor3d::MaterialCache::clear ( )

Supprime le matériau par défaut, vide la collection.

◆ getDefaultMaterial()

MaterialSPtr castor3d::MaterialCache::getDefaultMaterial ( ) const
inline

Récupère le matériau par défaut.

◆ getNames()

C3D_API void castor3d::MaterialCache::getNames ( castor::StringArray &  names)

Remplit la liste des noms de tous les matériaux.

Paramètres
[out]namesLa liste de noms

◆ getPassBuffer()

PassBuffer const& castor3d::MaterialCache::getPassBuffer ( ) const
inline
Renvoie
Le tampon de passes.

◆ getTextureBuffer()

TextureConfigurationBuffer const& castor3d::MaterialCache::getTextureBuffer ( ) const
inline
Renvoie
Le tampon de configurations de textures.

◆ initialise()

C3D_API void castor3d::MaterialCache::initialise ( RenderDevice const &  device,
MaterialType  type 
)

Initialise le matériau par défaut.

Paramètres
[in]deviceLe device GPU.
[in]typeLe type des matériaux.

◆ update() [1/2]

C3D_API void castor3d::MaterialCache::update ( CpuUpdater updater)

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

◆ update() [2/2]

C3D_API void castor3d::MaterialCache::update ( GpuUpdater updater)

Met à jour la passe de rendu, au niveau GPU.

Paramètres
[in,out]updaterLes données d'update.

La documentation de cette classe a été générée à partir du fichier suivant :