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< Light, castor::String >

Cache de Light. Plus de détails...

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

Types publics

using MyObjectCache = ObjectCacheBase< Light, 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< Light, 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 initialise ()
 Initialise la texture de lumières. Plus de détails...
 
C3D_API void cleanup ()
 Met tous les éléments à nettoyer. Plus de détails...
 
C3D_API ElementPtr add (Key const &name, ElementPtr element)
 Ajoute un objet. Plus de détails...
 
C3D_API ElementPtr add (Key const &name, SceneNode &parent, LightType type)
 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...
 
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 ashes::Buffer< castor::Point4f > const & getBuffer () const
 
C3D_API ashes::BufferView const & getView () const
 
uint32_t getLightsCount (LightType type) const
 Récupère le nombre de lumières du type donné. Plus de détails...
 
LightsArray getLights (LightType type) const
 Récupère les lumières du type donné. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::ObjectCacheBase< Light, 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< Light, castor::String >
OnChanged onChanged
 
- Types protégés hérités de castor3d::ObjectCacheBase< Light, castor::String >
using MyObjectCacheType = ObjectCacheBase< Light, castor::String >
 
using MyObjectCacheTraits = ObjectCacheTraits< Light, castor::String >
 
using Element = Light
 
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< Light, 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< Light, 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< Light, castor::String >

Cache de Light.

Auteur
Sylvain DOREMUS
Date
29/01/2016
Version
0.8.0

Documentation des définitions de type membres

◆ Attacher

using castor3d::ObjectCache< Light, castor::String >::Attacher = typename MyObjectCacheType::Attacher

◆ Cleaner

using castor3d::ObjectCache< Light, castor::String >::Cleaner = typename MyObjectCacheType::Cleaner

◆ Collection

◆ Detacher

using castor3d::ObjectCache< Light, castor::String >::Detacher = typename MyObjectCacheType::Detacher

◆ Element

using castor3d::ObjectCache< Light, castor::String >::Element = typename MyObjectCacheType::Element

◆ ElementPtr

◆ Initialiser

◆ Key

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

◆ LockType

using castor3d::ObjectCache< Light, castor::String >::LockType = typename MyObjectCacheType::LockType

◆ Merger

using castor3d::ObjectCache< Light, castor::String >::Merger = typename MyObjectCacheType::Merger

◆ MyObjectCache

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

◆ MyObjectCacheTraits

◆ Producer

using castor3d::ObjectCache< Light, castor::String >::Producer = typename MyObjectCacheType::Producer

Documentation des constructeurs et destructeur

◆ ObjectCache()

C3D_API castor3d::ObjectCache< Light, 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()

C3D_API castor3d::ObjectCache< Light, castor::String >::~ObjectCache ( )

Destructeur.

Documentation des fonctions membres

◆ add() [1/2]

C3D_API ElementPtr castor3d::ObjectCache< Light, castor::String >::add ( Key const &  name,
ElementPtr  element 
)

Ajoute un objet.

Paramètres
[in]nameLe nom d'objet.
[in]elementL'objet.
Renvoie
L'objet ajouté, ou celui existant.

◆ add() [2/2]

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

Crée un objet.

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

◆ cleanup()

C3D_API void castor3d::ObjectCache< Light, castor::String >::cleanup ( )

Met tous les éléments à nettoyer.

◆ getBuffer()

C3D_API ashes::Buffer< castor::Point4f > const& castor3d::ObjectCache< Light, castor::String >::getBuffer ( ) const
inline
Renvoie
Le tampon de la texture.

◆ getLights()

LightsArray castor3d::ObjectCache< Light, castor::String >::getLights ( LightType  type) const
inline

Récupère les lumières du type donné.

Paramètres
[in]typeLe type de lumière.
Renvoie
Les lumières.

◆ getLightsCount()

uint32_t castor3d::ObjectCache< Light, castor::String >::getLightsCount ( LightType  type) const
inline

Récupère le nombre de lumières du type donné.

Paramètres
[in]typeLe type de lumière.
Renvoie
Le compte.

◆ getView()

C3D_API ashes::BufferView const& castor3d::ObjectCache< Light, castor::String >::getView ( ) const
inline
Renvoie
La vue de la texture.

◆ initialise()

C3D_API void castor3d::ObjectCache< Light, castor::String >::initialise ( )

Initialise la texture de lumières.

◆ remove()

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

Retire un objet à partir d'un nom.

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

◆ update() [1/2]

C3D_API void castor3d::ObjectCache< Light, castor::String >::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::ObjectCache< Light, castor::String >::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 :