1#line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.11-windows/ufe/include/pathSubject.h"
40 typedef std::shared_ptr<PathSubject>
Ptr;
44 using Subject::addObserver;
45 using Subject::removeObserver;
86 template<
bool ADD_OBSERVER>
96 template<
bool ADD_OBSERVER>
103 class SceneChangedObserver;
std::shared_ptr< Observer > Ptr
Identify an object or 3D path in the scene.
Helper to make a Path observable.
void removeObserver(const Path &path)
void addObservers(const Path &path, const Path &endAncestor)
void rename(const Path &oldPath, const Path &newPath)
const AddObserverFcn _addObserverFcn
const RemoveObserverFcn _removeObserverFcn
std::function< bool(const Path &Path, const Observer::Ptr &obs)> RemoveObserverFcn
Callable function to remove an observer from a Path.
std::shared_ptr< PathSubject > Ptr
void objectDelete(const Path &path)
~PathSubject() override
Destructor.
std::function< bool(const SceneItem::Ptr &item, const Observer::Ptr &obs)> AddObserverFcn
Callable function to add an observer to a SceneItem.
void addObserver(const Path &path)
const Observer::Ptr _sceneChangedObserver
void reparent(const Path &oldPath, const Path &newPath)
void addRemoveObserverHelper(const Path &path)
void addRemoveObserversHelper(Path path, const Path &endAncestor)
PathSubject(const Path &path, AddObserverFcn addObserverFcn, RemoveObserverFcn removeObserverFcn)
void removeObservers(const Path &path, const Path &endAncestor)
const Observer::Ptr _forwardingObserver
std::shared_ptr< SceneItem > Ptr
Observer pattern Subject class.
Path path(const std::string &pathString)
Definition of macros for symbol visibility.