![]() |
ufe
2.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
|
Abstract base class for 3D object interface. More...
#include <object3d.h>
Public Types | |
| typedef std::shared_ptr< Object3d > | Ptr |
Public Member Functions | |
| Object3d () | |
| Constructor. More... | |
| Object3d (const Object3d &)=default | |
| Default copy constructor. More... | |
| virtual | ~Object3d () |
| Destructor. More... | |
| virtual SceneItem::Ptr | sceneItem () const =0 |
| Scene item accessor. More... | |
| virtual BBox3d | boundingBox () const =0 |
| virtual bool | visibility () const =0 |
| virtual void | setVisibility (bool vis)=0 |
| Set the visibility state of the object. More... | |
| virtual Ufe::UndoableCommand::Ptr | setVisibleCmd (bool vis)=0 |
| Create an undoable visible command. More... | |
Static Public Member Functions | |
| static Ptr | object3d (const SceneItem::Ptr &item) |
| static bool | addObserver (const Observer::Ptr &obs) |
| static bool | removeObserver (const Observer::Ptr &obs) |
| static std::size_t | nbObservers () |
| static bool | hasObserver (const Observer::Ptr &obs) |
| static void | notify (const Notification ¬if) |
Abstract base class for 3D object interface.
This base class defines the interface that run-times can implement to provide basic 3D object behavior. 3D objects have visibility, and have 3D space bounds.
To avoid the memory-consuming "one proxy object per scene object" approach, Object3d interface objects should be obtained and used within a local scope, and not stored. Object3d interfaces should be considered stateless, and can be bound to new selection items.
Definition at line 38 of file object3d.h.
| typedef std::shared_ptr<Object3d> Ufe::Object3d::Ptr |
Definition at line 41 of file object3d.h.
| Ufe::Object3d::Object3d | ( | ) |
Constructor.
|
default |
Default copy constructor.
|
virtual |
Destructor.
|
static |
|
pure virtual |
Return the local space, axis-aligned 3D extents of the object.
|
static |
|
static |
Number of observers for Object3d changes on any item in the scene (global observers).
|
static |
Notify all global observers. The order in which observers are notified is unspecified. If no observer exists, does nothing.
| notif | The Object3d notification to send. |
|
static |
|
static |
|
pure virtual |
Scene item accessor.
|
pure virtual |
Set the visibility state of the object.
|
pure virtual |
Create an undoable visible command.
|
pure virtual |
Return the visibility state of the object.