Castor3D 0.13.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques statiques | Liste de tous les membres
Référence du modèle de la structure castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >

#include <SceneModule.hpp>

Graphe d'héritage de castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >:
Inheritance graph
[légende]

Types publics

using ElementT = ObjT
 
using ElementKeyT = KeyT
 
using ElementPtrT = std::shared_ptr< ElementT >
 
using ElementObsT = std::weak_ptr< ElementT >
 
using ElementContT = std::unordered_map< KeyT, ElementPtrT >
 
using ElementCacheT = ObjectCacheBaseT< ElementT, KeyT >
 
using ElementInitialiserT = std::function< void(ElementT &) >
 
using ElementCleanerT = std::function< void(ElementT &) >
 
using ElementMergerT = std::function< void(ElementCacheT const &, ElementContT &, ElementPtrT, SceneNodeSPtr, SceneNodeSPtr) >
 
using ElementAttacherT = std::function< void(ElementT &, SceneNode &, SceneNodeSPtr, SceneNodeSPtr, SceneNodeSPtr) >
 
using ElementDetacherT = std::function< void(ElementT &) >
 

Fonctions membres publiques statiques

template<typename ... ParametersT>
static ElementPtrT makeElement (ElementCacheT const &cache, ElementKeyT const &key, ParametersT &&... params)
 
static ElementObsT makeElementObs (ElementPtrT const &element)
 
static bool areElementsEqual (ElementObsT const &lhs, ElementObsT const &rhs)
 
static bool areElementsEqual (ElementObsT const &lhs, ElementPtrT const &rhs)
 
static bool areElementsEqual (ElementPtrT const &lhs, ElementObsT const &rhs)
 
static bool areElementsEqual (ElementPtrT const &lhs, ElementPtrT const &rhs)
 
static bool isElementObsNull (ElementObsT const &element)
 

Description détaillée

template<typename ObjT, typename KeyT>
struct castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >

Structure d'aide à la création d'un castor3d::ObjectCacheTraitsT.

Remarques
Prédéfinit:
  • ElementT: Le type de ressource.
  • ElementPtrT: Le type de pointeur sur une ressource.
  • ElementObjT: Le type d'observateur sur une ressource.
  • ElementContT: Le type de conteneur de ressources.
  • ElementCacheT: Le type de base de cache de ressources.
  • ElementInitialiserT: Le prototype de la fonction pour initialiser une ressource.
  • ElementCleanerT: Le prototype de la fonction pour nettoyer une ressource.
  • ElementMergerT: Le prototype de la fonction pour fusionner un élément d'un cache dans un autre cache.
  • ElementAttacherT: Le prototype de la fonction pour attacher un élément d'un cache à un scene node.
  • ElementDetacherT: Le prototype de la fonction pour détacher un élément d'un cache d'un scene node.
  • static ElementPtrT makeElement( ElementKeyT const &, ParametersT && ... ): La fonction de création d'un élément.
Il ne reste donc ainsi qu'à définir:
  • Name: Le nom du type d'élément.

Documentation des définitions de type membres

◆ ElementAttacherT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementAttacherT = std::function< void( ElementT & , SceneNode & , SceneNodeSPtr , SceneNodeSPtr , SceneNodeSPtr ) >

◆ ElementCacheT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementCacheT = ObjectCacheBaseT< ElementT, KeyT >

◆ ElementCleanerT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementCleanerT = std::function< void( ElementT & ) >

◆ ElementContT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementContT = std::unordered_map< KeyT, ElementPtrT >

◆ ElementDetacherT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementDetacherT = std::function< void( ElementT & ) >

◆ ElementInitialiserT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementInitialiserT = std::function< void( ElementT & ) >

◆ ElementKeyT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementKeyT = KeyT

◆ ElementMergerT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementMergerT = std::function< void( ElementCacheT const & , ElementContT & , ElementPtrT , SceneNodeSPtr , SceneNodeSPtr ) >

◆ ElementObsT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementObsT = std::weak_ptr< ElementT >

◆ ElementPtrT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementPtrT = std::shared_ptr< ElementT >

◆ ElementT

template<typename ObjT , typename KeyT >
using castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::ElementT = ObjT

Documentation des fonctions membres

◆ areElementsEqual() [1/4]

template<typename ObjT , typename KeyT >
static bool castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::areElementsEqual ( ElementObsT const &  lhs,
ElementObsT const &  rhs 
)
inlinestatic

◆ areElementsEqual() [2/4]

template<typename ObjT , typename KeyT >
static bool castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::areElementsEqual ( ElementObsT const &  lhs,
ElementPtrT const &  rhs 
)
inlinestatic

◆ areElementsEqual() [3/4]

template<typename ObjT , typename KeyT >
static bool castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::areElementsEqual ( ElementPtrT const &  lhs,
ElementObsT const &  rhs 
)
inlinestatic

◆ areElementsEqual() [4/4]

template<typename ObjT , typename KeyT >
static bool castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::areElementsEqual ( ElementPtrT const &  lhs,
ElementPtrT const &  rhs 
)
inlinestatic

◆ isElementObsNull()

template<typename ObjT , typename KeyT >
static bool castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::isElementObsNull ( ElementObsT const &  element)
inlinestatic

◆ makeElement()

template<typename ObjT , typename KeyT >
template<typename ... ParametersT>
static ElementPtrT castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::makeElement ( ElementCacheT const &  cache,
ElementKeyT const &  key,
ParametersT &&...  params 
)
inlinestatic

◆ makeElementObs()

template<typename ObjT , typename KeyT >
static ElementObsT castor3d::ObjectCacheTraitsBaseT< ObjT, KeyT >::makeElementObs ( ElementPtrT const &  element)
inlinestatic

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