![]() |
ufe
1.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
|
Singleton class to manage UFE scenes. More...
#include <scene.h>
Public Types | |
typedef std::shared_ptr< Scene > | Ptr |
Public Member Functions | |
virtual | ~Scene () |
Destructor. More... | |
Scene (const Scene &)=delete | |
Cannot copy the scene singleton. More... | |
Scene & | operator= (const Scene &)=delete |
Cannot assign the scene singleton. More... | |
Static Public Member Functions | |
static Scene & | instance () |
static void | initializeInstance (const Ptr &instance) |
static void | notifyObjectAdd (const ObjectAdd ¬ification) |
Add object Subject interface. More... | |
static bool | addObjectAddObserver (const Observer::Ptr &obs) |
Add object Subject interface. More... | |
static bool | removeObjectAddObserver (const Observer::Ptr &obs) |
Add object Subject interface. More... | |
static bool | hasObjectAddObserver (const Observer::Ptr &obs) |
Add object Subject interface. More... | |
static void | notifyObjectDelete (const ObjectDelete ¬ification) |
Delete object Subject interface. More... | |
static bool | addObjectDeleteObserver (const Observer::Ptr &obs) |
Delete object Subject interface. More... | |
static bool | removeObjectDeleteObserver (const Observer::Ptr &obs) |
Delete object Subject interface. More... | |
static bool | hasObjectDeleteObserver (const Observer::Ptr &obs) |
Delete object Subject interface. More... | |
static void | notifyObjectPathChange (const ObjectPathChange ¬ification) |
Path change object Subject interface. More... | |
static bool | addObjectPathChangeObserver (const Observer::Ptr &obs) |
Path change object Subject interface. More... | |
static bool | removeObjectPathChangeObserver (const Observer::Ptr &obs) |
Path change object Subject interface. More... | |
static bool | hasObjectPathChangeObserver (const Observer::Ptr &obs) |
Path change object Subject interface. More... | |
Protected Member Functions | |
Scene () | |
Only derived classes can create a scene. More... | |
virtual void | postNotifyObjectAdd (const ObjectAdd ¬ification) |
virtual void | postNotifyObjectDelete (const ObjectDelete ¬ification) |
virtual void | postNotifyObjectPathChange (const ObjectPathChange ¬ification) |
Private Attributes | |
Subject | fAddObject |
Subject | fDeleteObject |
Subject | fPathChangeObject |
Singleton class to manage UFE scenes.
This singleton class can be thought of as a "container" of scene objects, and so is responsible notifications which affect its objects.
It also has post-notification hooks, which are indented to be implemented by the DCC app.
The application must provide the scene singleton, and initialize it in UFE with the initializeInstance() call. There is no Python binding for initializing the instance, which must therefore be done in C++.
typedef std::shared_ptr<Scene> Ufe::Scene::Ptr |
|
virtual |
Destructor.
|
delete |
Cannot copy the scene singleton.
|
protected |
Only derived classes can create a scene.
|
static |
Add object Subject interface.
|
static |
Delete object Subject interface.
|
static |
|
static |
Add object Subject interface.
|
static |
Delete object Subject interface.
|
static |
|
static |
Initialize the scene singleton. The application should call this once, on startup, to initialize, and to clean up once on shut down, with a null pointer.
instance | The scene instance. |
std::invalid_argument | if the scene instance is initialized with a non-null pointer more than once. |
|
static |
|
static |
Add object Subject interface.
|
static |
Delete object Subject interface.
|
static |
|
protectedvirtual |
notifyObjectAdd() hook method, called after observer notification. Implementation in this class is empty.
notification | Object add notification for the added object. |
|
protectedvirtual |
notifyObjectDelete() hook method, called after observer notification. Implementation in this class is empty.
notification | Object delete notification for the deleted object. |
|
protectedvirtual |
notifyObjectPathChange() hook method, called after observer notification. Implementation in this class is empty.
notification | Object path change notification for the object whose path was changed. |
|
static |
Add object Subject interface.
|
static |
Delete object Subject interface.
|
static |
|
private |
|
private |
|
private |