13 std::lock_guard<std::mutex> tLock(
mMutex);
14 ins =
pInstance.load(std::memory_order_relaxed);
17 pInstance.store(ins, std::memory_order_release);
45 return std::make_shared<SceneGraph>();
static std::atomic< SceneGraphFactory * > pInstance
std::shared_ptr< SceneGraph > createNewScene()
Create a new SceneGraph.
std::shared_ptr< SceneGraph > createDefaultScene()
static SceneGraphFactory * instance()
void pushScene(std::shared_ptr< SceneGraph > scn)
SceneGraphFactory()=default
std::stack< std::shared_ptr< SceneGraph > > mSceneGraphs
SceneGraphCreator mDefaultCreator
void setDefaultCreator(SceneGraphCreator creator)
std::shared_ptr< SceneGraph > active()
This is an implementation of AdditiveCCD based on peridyno.
std::function< std::shared_ptr< SceneGraph >()> SceneGraphCreator