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

Cache de BillboardList. Plus de détails...

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

Types publics

using MyObjectCache = ObjectCacheBase< BillboardList, castor::String >
 
using MyObjectCacheTraits = typename MyObjectCacheType::MyObjectCacheTraits
 
using Element = typename MyObjectCacheType::Element
 
using Key = typename MyObjectCacheType::Key
 
using Collection = typename MyObjectCacheType::Collection
 
using LockType = typename MyObjectCacheType::LockType
 
using ElementPtr = typename MyObjectCacheType::ElementPtr
 
using Producer = typename MyObjectCacheType::Producer
 
using Initialiser = typename MyObjectCacheType::Initialiser
 
using Cleaner = typename MyObjectCacheType::Cleaner
 
using Merger = typename MyObjectCacheType::Merger
 
using Attacher = typename MyObjectCacheType::Attacher
 
using Detacher = typename MyObjectCacheType::Detacher
 
- Types publics hérités de castor3d::ObjectCacheBase< BillboardList, castor::String >
using OnChangedFunction = std::function< void() >
 
using OnChanged = castor::Signal< OnChangedFunction >
 

Fonctions membres publiques

C3D_API ObjectCache (Engine &engine, Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{}, Attacher &&attach=Attacher{}, Detacher &&detach=Detacher{})
 Constructeur. Plus de détails...
 
C3D_API ~ObjectCache ()
 Destructeur. Plus de détails...
 
C3D_API void registerPass (SceneRenderPass const &renderPass)
 
C3D_API void unregisterPass (SceneRenderPass const *renderPass, uint32_t instanceMult)
 
C3D_API void initialise (RenderDevice const &device)
 Initialise les pools d'UBO. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Nettoie les pools d'UBO. Plus de détails...
 
C3D_API void clear ()
 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 ElementPtr add (Key const &name, SceneNode &parent)
 Crée un nouvel objet et l'ajoute à la collection. Plus de détails...
 
C3D_API void add (ElementPtr element)
 Ajoute un objet existant. Plus de détails...
 
C3D_API void remove (Key const &name)
 Retire un objet à partir d'un nom. Plus de détails...
 
BillboardUboPoolsgetUboPools () const
 
- Fonctions membres publiques hérités de castor3d::ObjectCacheBase< BillboardList, castor::String >
 ObjectCacheBase (Engine &engine, Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{}, Attacher &&attach=Attacher{}, Detacher &&detach=Detacher{})
 Constructeur. Plus de détails...
 
 ~ObjectCacheBase ()
 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 add (Key const &name, ElementPtr element)
 Ajoute un objet. Plus de détails...
 
ElementPtr add (Key const &name, SceneNode &parent, Parameters &&... parameters)
 Crée un objet. Plus de détails...
 
void remove (Key const &name)
 Retire un objet à partir d'un nom. Plus de détails...
 
void mergeInto (MyObjectCacheType &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
 
ScenegetScene () 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 ()
 Renvoie un itérateur sur le premier élément de la collection. Plus de détails...
 
auto begin () const
 Renvoie un itérateur constant sur le premier élément de la collection. Plus de détails...
 
auto end ()
 Renvoie un itérateur sur l'après dernier élément de la collection. Plus de détails...
 
auto end () const
 Renvoie un itérateur constant sur l'après dernier élément de la collection. Plus de détails...
 

Membres hérités additionnels

- Attributs publics hérités de castor3d::ObjectCacheBase< BillboardList, castor::String >
OnChanged onChanged
 
- Types protégés hérités de castor3d::ObjectCacheBase< BillboardList, castor::String >
using MyObjectCacheType = ObjectCacheBase< BillboardList, castor::String >
 
using MyObjectCacheTraits = ObjectCacheTraits< BillboardList, castor::String >
 
using Element = BillboardList
 
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 MyObjectCacheTraits::Producer
 
using Merger = typename MyObjectCacheTraits::Merger
 
using Initialiser = ElementInitialiser< Element >
 
using Cleaner = ElementCleaner< Element >
 
using Attacher = ElementAttacher< Element >
 
using Detacher = ElementDetacher< Element >
 
- Fonctions membres protégées hérités de castor3d::ObjectCacheBase< BillboardList, 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::ObjectCacheBase< BillboardList, castor::String >
Enginem_engine
 
Scenem_scene
 
SceneNodeWPtr m_rootNode
 
SceneNodeWPtr m_rootCameraNode
 
SceneNodeWPtr m_rootObjectNode
 
Collection m_elements
 
Producer m_produce
 
Initialiser m_initialise
 
Cleaner m_clean
 
Merger m_merge
 
Attacher m_attach
 
Detacher m_detach
 

Description détaillée

template<>
class castor3d::ObjectCache< BillboardList, castor::String >

Cache de BillboardList.

Auteur
Sylvain DOREMUS
Date
24/04/2018
Version
0.11.0

Documentation des définitions de type membres

◆ Attacher

◆ Cleaner

◆ Collection

◆ Detacher

◆ Element

◆ ElementPtr

◆ Initialiser

◆ Key

using castor3d::ObjectCache< BillboardList, castor::String >::Key = typename MyObjectCacheType::Key

◆ LockType

◆ Merger

◆ MyObjectCache

using castor3d::ObjectCache< BillboardList, castor::String >::MyObjectCache = ObjectCacheBase< BillboardList, castor::String >

◆ MyObjectCacheTraits

◆ Producer

Documentation des constructeurs et destructeur

◆ ObjectCache()

C3D_API castor3d::ObjectCache< BillboardList, castor::String >::ObjectCache ( Engine engine,
Scene scene,
SceneNodeSPtr  rootNode,
SceneNodeSPtr  rootCameraNode,
SceneNodeSPtr  rootObjectNode,
Producer &&  produce,
Initialiser &&  initialise = Initialiser{},
Cleaner &&  clean = Cleaner{},
Merger &&  merge = Merger{},
Attacher &&  attach = Attacher{},
Detacher &&  detach = Detacher{} 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]sceneLa scène.
[in]rootNodeLe noeud racine.
[in]rootCameraNodeLe noeud racine des caméras.
[in]rootObjectNodeLe noeud racine des objets.
[in]produceLe créateur d'objet.
[in]initialiseL'initialiseur d'objet.
[in]cleanLe nettoyeur d'objet.
[in]mergeLe fusionneur de collection d'objets.
[in]attachL'attacheur d'objet (à un noeud de scène).
[in]detachLe détacheur d'objet (d'un noeud de scène).

◆ ~ObjectCache()

Destructeur.

Documentation des fonctions membres

◆ add() [1/2]

C3D_API ElementPtr castor3d::ObjectCache< BillboardList, castor::String >::add ( Key const &  name,
SceneNode parent 
)

Crée un nouvel objet et l'ajoute à la collection.

Paramètres
[in]nameLe nom d'objet.
[in]parentLe noeud de scène parent.
Renvoie
L'objet créé.

◆ add() [2/2]

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::add ( ElementPtr  element)

Ajoute un objet existant.

Paramètres
[in]elementL'objet.

◆ cleanup()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::cleanup ( RenderDevice const &  device)

Nettoie les pools d'UBO.

Paramètres
[in]deviceLe device GPU.

◆ clear()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::clear ( )

Vide la collection.

◆ getUboPools()

BillboardUboPools& castor3d::ObjectCache< BillboardList, castor::String >::getUboPools ( ) const
inline

◆ initialise()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::initialise ( RenderDevice const &  device)

Initialise les pools d'UBO.

Paramètres
[in]deviceLe device GPU.

◆ registerPass()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::registerPass ( SceneRenderPass const &  renderPass)

◆ remove()

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

Retire un objet à partir d'un nom.

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

◆ unregisterPass()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::unregisterPass ( SceneRenderPass const *  renderPass,
uint32_t  instanceMult 
)

◆ update()

C3D_API void castor3d::ObjectCache< BillboardList, castor::String >::update ( CpuUpdater updater)

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

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

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