std::unique_ptr< ObjectCache< ElementType, KeyType > > | Castor3D::MakeObjectCache (Engine &p_engine, Scene &p_scene, SceneNodeSPtr p_rootNode, SceneNodeSPtr p_rootCameraNode, SceneNodeSPtr p_rootObjectNode, typename ObjectCacheTraits< ElementType, KeyType >::Producer &&p_produce, ElementInitialiser< ElementType > &&p_initialise=[](std::shared_ptr< ElementType >){}, ElementCleaner< ElementType > &&p_clean=[](std::shared_ptr< ElementType >){}, typename ObjectCacheTraits< ElementType, KeyType >::Merger &&p_merge=[](ObjectCacheBase< ElementType, KeyType > const &, Castor::Collection< ElementType, KeyType > &, std::shared_ptr< ElementType >, SceneNodeSPtr, SceneNodeSPtr){}, ElementAttacher< ElementType > &&p_attach=[](std::shared_ptr< ElementType >, SceneNodeSPtr, SceneNodeSPtr, SceneNodeSPtr, SceneNodeSPtr){}, ElementDetacher< ElementType > &&p_detach=[](std::shared_ptr< ElementType >){}) |