Castor3D  0.11.0
Multiplatform 3D engine
Classes | Types publics | Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe castor3d::Cache< AnimatedObjectGroup, castor::String >

Cache de AnimatedObjectGroup. Plus de détails...

Graphe d'héritage de castor3d::Cache< AnimatedObjectGroup, castor::String >:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::Cache< AnimatedObjectGroup, castor::String >:
Collaboration graph
[légende]

Classes

struct  MeshPoolsEntry
 
struct  SkeletonPoolsEntry
 

Types publics

using MyCache = CacheBase< AnimatedObjectGroup, 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< AnimatedObjectGroup, castor::String >
using MyCacheType = CacheBase< AnimatedObjectGroup, castor::String >
 
using MyCacheTraits = CacheTraits< AnimatedObjectGroup, castor::String >
 
using Element = AnimatedObjectGroup
 
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

C3D_API Cache (Engine &engine, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{})
 Constructeur. Plus de détails...
 
C3D_API ~Cache ()
 Destructeur. 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 uploadUbos (ashes::CommandBuffer const &commandBuffer)
 Met à jour les pools d'UBO en VRAM. Plus de détails...
 
C3D_API void cleanupUbos ()
 Nettoie les pools d'UBO. Plus de détails...
 
C3D_API MeshPoolsEntry getUbos (AnimatedMesh const &mesh) const
 L'entrée relative à l'AnimatedMesh donné. Plus de détails...
 
C3D_API SkeletonPoolsEntry getUbos (AnimatedSkeleton const &skeleton) const
 L'entrée relative à l'AnimatedSkeleton donné. Plus de détails...
 
C3D_API void clear (RenderDevice const &device)
 Vide la collection. Plus de détails...
 
C3D_API void add (ElementPtr element)
 Ajoute un objet. Plus de détails...
 
C3D_API ElementPtr add (Key const &name)
 Crée un objet. Plus de détails...
 
C3D_API void remove (Key const &name)
 Retire un objet à partir d'un nom. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::CacheBase< AnimatedObjectGroup, 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< AnimatedObjectGroup, 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< AnimatedObjectGroup, castor::String >
Enginem_engine
 
Collection m_elements
 
Producer m_produce
 
Initialiser m_initialise
 
Cleaner m_clean
 
Merger m_merge
 

Description détaillée

template<>
class castor3d::Cache< AnimatedObjectGroup, castor::String >

Cache de AnimatedObjectGroup.

Auteur
Sylvain DOREMUS
Date
29/01/2016
Version
0.8.0

Documentation des définitions de type membres

◆ Cleaner

using castor3d::Cache< AnimatedObjectGroup, castor::String >::Cleaner = typename MyCacheType::Cleaner

◆ Collection

◆ Element

using castor3d::Cache< AnimatedObjectGroup, castor::String >::Element = typename MyCacheType::Element

◆ ElementPtr

◆ Initialiser

◆ Key

using castor3d::Cache< AnimatedObjectGroup, castor::String >::Key = typename MyCacheType::Key

◆ LockType

using castor3d::Cache< AnimatedObjectGroup, castor::String >::LockType = typename MyCacheType::LockType

◆ Merger

using castor3d::Cache< AnimatedObjectGroup, castor::String >::Merger = typename MyCacheType::Merger

◆ MyCache

using castor3d::Cache< AnimatedObjectGroup, castor::String >::MyCache = CacheBase< AnimatedObjectGroup, castor::String >

◆ MyCacheTraits

◆ Producer

using castor3d::Cache< AnimatedObjectGroup, castor::String >::Producer = typename MyCacheType::Producer

Documentation des constructeurs et destructeur

◆ Cache()

C3D_API castor3d::Cache< AnimatedObjectGroup, castor::String >::Cache ( Engine engine,
Producer &&  produce,
Initialiser &&  initialise = Initialiser{},
Cleaner &&  clean = Cleaner{},
Merger &&  merge = Merger{} 
)

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.

◆ ~Cache()

Destructeur.

Documentation des fonctions membres

◆ add() [1/2]

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::add ( ElementPtr  element)

Ajoute un objet.

Paramètres
[in]elementL'objet.

◆ add() [2/2]

C3D_API ElementPtr castor3d::Cache< AnimatedObjectGroup, castor::String >::add ( Key const &  name)

Crée un objet.

Paramètres
[in]nameLe nom d'objet.
Renvoie
L'objet créé.

◆ cleanupUbos()

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::cleanupUbos ( )

Nettoie les pools d'UBO.

◆ clear()

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::clear ( RenderDevice const &  device)

Vide la collection.

Paramètres
[in]deviceLe device GPU.

◆ getUbos() [1/2]

C3D_API MeshPoolsEntry castor3d::Cache< AnimatedObjectGroup, castor::String >::getUbos ( AnimatedMesh const &  mesh) const

L'entrée relative à l'AnimatedMesh donné.

Paramètres
[in]meshLe mesh.

◆ getUbos() [2/2]

C3D_API SkeletonPoolsEntry castor3d::Cache< AnimatedObjectGroup, castor::String >::getUbos ( AnimatedSkeleton const &  skeleton) const

L'entrée relative à l'AnimatedSkeleton donné.

Paramètres
[in]skeletonLe squelette.

◆ remove()

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::remove ( Key const &  name)

Retire un objet à partir d'un nom.

Paramètres
[in]nameLe nom d'objet.

◆ update()

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::update ( CpuUpdater updater)

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

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

◆ uploadUbos()

C3D_API void castor3d::Cache< AnimatedObjectGroup, castor::String >::uploadUbos ( ashes::CommandBuffer const &  commandBuffer)

Met à jour les pools d'UBO en VRAM.

Paramètres
[in]commandBufferLe command buffer sur lequel les commandes de transfert sont enregistrées.

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