ufe  4.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
Ufe::SceneSegmentHandler Class Referenceabstract

Provides services that operate on a scene segment. This base class defines an interface that runtimes can implement to provide services for a scene segment. More...

#include <sceneSegmentHandler.h>

Public Types

typedef std::shared_ptr< SceneSegmentHandlerPtr
 

Public Member Functions

 SceneSegmentHandler ()
 Constructor. More...
 
 SceneSegmentHandler (const SceneSegmentHandler &)=default
 Default copy constructor. More...
 
virtual ~SceneSegmentHandler ()
 Destructor. More...
 
virtual bool isGateway_ (const Path &path) const =0
 
virtual Selection findGatewayItems_ (const Path &path) const =0
 
virtual Selection findGatewayItems_ (const Path &path, Rtid nestedRtid) const =0
 

Static Public Member Functions

static Ptr sceneSegmentHandler (Rtid)
 
static bool isGateway (const Path &path)
 
static Selection findGatewayItems (const Path &path)
 
static Selection findGatewayItems (const Path &path, Rtid nestedRtid)
 

Detailed Description

Provides services that operate on a scene segment. This base class defines an interface that runtimes can implement to provide services for a scene segment.

A scene segment is a group of related scene items which are all in the same runtime. A scene segment can be nested within another scene segment under a specific scene item. A scene item which nests a scene segment is called a gateway item. All the scene segments in the scene collectively form a tree.

A nested scene segment will typically belong to a different runtime. It is possible to have a runtime that defines paths with more than one path segment, all with the same runTimeId, to represent peculiarities of paths in its data model, in which case a nested scene segment would have the same runTimeId. This is not expected to be a common case.

When a scene item has children whose runTimeId differs from its own runTimeId, that scene item is a gateway node and those children are in a different scene segment. All of the children of a scene item have the same runTimeId.

When consecutive path segments in a path have a different runTimeIds, then by definition that is a boundary between scene segments. When consecutive path segments in a path have the same runTimeId, then it may or may not be a boundary between scene segments, at the discretion of the runtime.

Definition at line 42 of file sceneSegmentHandler.h.

Member Typedef Documentation

◆ Ptr

Definition at line 45 of file sceneSegmentHandler.h.

Constructor & Destructor Documentation

◆ SceneSegmentHandler() [1/2]

Ufe::SceneSegmentHandler::SceneSegmentHandler ( )

Constructor.

◆ SceneSegmentHandler() [2/2]

Ufe::SceneSegmentHandler::SceneSegmentHandler ( const SceneSegmentHandler )
default

Default copy constructor.

◆ ~SceneSegmentHandler()

virtual Ufe::SceneSegmentHandler::~SceneSegmentHandler ( )
virtual

Destructor.

Member Function Documentation

◆ findGatewayItems() [1/2]

static Selection Ufe::SceneSegmentHandler::findGatewayItems ( const Path path)
static

Find the gateway items which are descendants of path within path's scene segment. If path is a gateway node then search the scene segment which is an immediate child of path.

Parameters
pathPath to root of hierarchy under which gateway items should be found, but only in the path's scene segment.
Returns
Selection of all gateway items in path's scene segment.

◆ findGatewayItems() [2/2]

static Selection Ufe::SceneSegmentHandler::findGatewayItems ( const Path path,
Rtid  nestedRtid 
)
static

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pathPath to root of hierarchy under which gateway items should be found, but only in the path's scene segment.
nestedRtidFilter and return only those gateways whose nested scene segment runtime ID matches the argument.
Returns
Selection of all gateway items in path's scene segment.

◆ findGatewayItems_() [1/2]

virtual Selection Ufe::SceneSegmentHandler::findGatewayItems_ ( const Path path) const
pure virtual

Find the gateway items which are descendants of path within path's scene segment. If path is a gateway node then search the scene segment which is an immediate child of path.

Parameters
pathPath to root of hierarchy under which gateway items should be found, but only in the path's scene segment.
Returns
Selection of all gateway items in path's scene segment.

◆ findGatewayItems_() [2/2]

virtual Selection Ufe::SceneSegmentHandler::findGatewayItems_ ( const Path path,
Rtid  nestedRtid 
) const
pure virtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pathPath to root of hierarchy under which gateway items should be found, but only in the path's scene segment.
nestedRtidFilter and return only those gateways whose nested scene segment runtime ID matches the argument.
Returns
Selection of all gateway items in path's scene segment.

◆ isGateway()

static bool Ufe::SceneSegmentHandler::isGateway ( const Path path)
static
Parameters
pathThe path of interest
Returns
true if path is to a gateway item

◆ isGateway_()

virtual bool Ufe::SceneSegmentHandler::isGateway_ ( const Path path) const
pure virtual
Parameters
pathThe path of interest
Returns
true if path is to a gateway item

◆ sceneSegmentHandler()

static Ptr Ufe::SceneSegmentHandler::sceneSegmentHandler ( Rtid  )
static

Convenience method to retrieve the scene segment handler.


The documentation for this class was generated from the following file: