ufe 7.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
sceneItemOps.h
Go to the documentation of this file.
1#line 1 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.13-windows/ufe/include/sceneItemOps.h"
2#ifndef UFE_SCENEITEMOPS_H
3#define UFE_SCENEITEMOPS_H
4
5// ===========================================================================
6// Copyright 2025 Autodesk, Inc. All rights reserved.
7//
8// The use of this software is subject to the Autodesk Terms of Use or other
9// license agreement provided at the time of installation or download, or
10// which otherwise accompanies this software.
11// ===========================================================================
12
13#include "common/ufeExport.h"
14
15#include "sceneItem.h"
16#include "undoableCommand.h"
17
18#include <memory>
19
21
23
31
34
39};
40
42
51
54
59};
60
62
82{
83public:
84 typedef std::shared_ptr<SceneItemOps> Ptr;
85
93 static Ptr sceneItemOps(const SceneItem::Ptr& item);
94
98 SceneItemOps(const SceneItemOps&) = default;
100 virtual ~SceneItemOps();
101
103 virtual SceneItem::Ptr sceneItem() const = 0;
104
108
113
116 virtual bool deleteItem() = 0;
117
121
127
131
135
140 virtual Rename renameItemCmd(const PathComponent& newName) = 0;
141
145 virtual SceneItem::Ptr renameItem(const PathComponent& newName) = 0;
146};
147
148}
149
150#endif /* UFE_SCENEITEMOPS_H */
Constant string representation with fixed space and O(1) comparison.
Definition: pathComponent.h:35
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:45
Abstract base class for scene item operations interface.
Definition: sceneItemOps.h:82
virtual Rename renameItemCmd(const PathComponent &newName)=0
virtual SceneItemResultUndoableCommand::Ptr renameItemCmdNoExecute(const PathComponent &newName)=0
virtual SceneItemResultUndoableCommand::Ptr duplicateItemCmdNoExecute()=0
static Ptr sceneItemOps(const SceneItem::Ptr &item)
virtual SceneItem::Ptr duplicateItem()=0
virtual UndoableCommand::Ptr deleteItemCmdNoExecute()=0
SceneItemOps(const SceneItemOps &)=default
Default copy constructor.
virtual UndoableCommand::Ptr deleteItemCmd()=0
std::shared_ptr< SceneItemOps > Ptr
Definition: sceneItemOps.h:84
virtual Duplicate duplicateItemCmd()=0
virtual ~SceneItemOps()
Destructor.
virtual SceneItem::Ptr renameItem(const PathComponent &newName)=0
SceneItemOps()
Constructor.
virtual bool deleteItem()=0
virtual SceneItem::Ptr sceneItem() const =0
Scene item accessor.
std::shared_ptr< SceneItemResultUndoableCommand > Ptr
std::shared_ptr< UndoableCommand > Ptr
Result for undoable duplicate item.
Definition: sceneItemOps.h:28
Duplicate(const SceneItem::Ptr &, const UndoableCommand::Ptr &)
Construct.
SceneItem::Ptr item
Root of the duplicate hierarchy.
Definition: sceneItemOps.h:36
UndoableCommand::Ptr undoableCommand
Undoable command whose undo removes the duplicated object(s).
Definition: sceneItemOps.h:38
Duplicate()
Initialize the item and the undoable command to null.
Result for undoable rename item.
Definition: sceneItemOps.h:48
Rename(const SceneItem::Ptr &, const UndoableCommand::Ptr &)
Construct.
Rename()
Initialize the item and the undoable command to null.
SceneItem::Ptr item
Renamed item.
Definition: sceneItemOps.h:56
UndoableCommand::Ptr undoableCommand
Undoable command whose undo restores the original item's name.
Definition: sceneItemOps.h:58
#define UFE_NS_DEF
Definition: ufe.h:36
Definition of macros for symbol visibility.
#define UFE_SDK_DECL
Definition: ufeExport.h:35