Workspace::WorkspaceDiwne
#include "GUI/Workspace/WorkspaceDiwne.h"
Inherits from DIWNE::NodeEditor, DIWNE::DiwneObject, DIWNE::NodeContainer, std::enable_shared_from_this< DiwneObject >, DIWNE::INodeContainer
Public Functions
Name | |
---|---|
WorkspaceDiwne(const char * label, DIWNE::SettingsDiwne * settingsDiwne) | |
~WorkspaceDiwne() override | |
void | addMenu() |
template <class T > <br>auto | addNodeToPositionOfPopup() |
virtual void | begin(DIWNE::DrawInfo & context) override<br>First method to be called during object drawing. |
virtual void | content(DIWNE::DrawInfo & context) override<br>Called after begin() during drawing. |
void | copySelectedNodes() |
void | cutSelectedNodes() |
void | duplicateSelectedNodes() |
virtual void | end(DIWNE::DrawInfo & context) override<br>Called after content(). |
virtual void | finalize(DIWNE::DrawInfo & context) override<br>The final method to be called, gets called every frame and doesn't do any drawing. |
DIWNE::FilteredNodeRange< Camera > | getAllCameras() |
DIWNE::FilteredRecursiveNodeRange< CoreNode > | getAllCoreNodes() const<br>Gets all I3TCore nodes. |
DIWNE::FilteredNodeRange< Model > | getAllInputFreeModel() |
DIWNE::FilteredNodeRange< Sequence > | getAllInputFreeSequence() |
DIWNE::FilteredNodeRange< Model > | getAllModels() |
DIWNE::FilteredRecursiveNodeRange< ScriptingNode > | getAllScriptingNodes() |
DIWNE::FilteredRecursiveNodeRange< CoreNode > | getAllSelectedCoreNodes() const<br>Gets all I3TCore nodes that are selected. |
DIWNE::FilteredRecursiveNodeRange< CoreNode > | getAllSelectedCoreNodesWithoutNesting() const |
DIWNE::FilteredNodeRange< CoreNode > | getCoreNodes() const |
template <typename T > <br>Result< Ptr< T >, Error > | getNode(Core::ID id) const<br>O(N) where N is workspace nodes count. |
ImRect | getOverNodesRectangleDiwne(std::vector< Ptr< DIWNE::Node > > nodes) |
Core::MatrixTracker * | getTracker() const |
bool | isTracking() const |
bool | isTrackingFromLeft() const |
void | manipulatorStartCheck3D() |
virtual void | onDrag(DIWNE::DrawInfo & context, bool dragStart, bool dragEnd) override<br>This method gets called when the object is being dragged. |
virtual void | onPopup() override |
virtual void | onZoom() override |
void | pasteSelectedNodes() |
void | performLazyDuplication()<br>Duplicates nodes marked for duplication using Workspace::Node::setDuplicateNode() |
virtual void | popupContent(DIWNE::DrawInfo & context) override<br>Content of popup menu raised on this objec. |
virtual void | processInteractions(DIWNE::DrawInfo & context) override<br>Method for reacting to user input after the object is fully drawn and its dimensions are known. |
void | processTrackingInput() |
bool | replaceAndReplugNode(Ptr< CoreNodeWithPins > oldNode, Ptr< CoreNodeWithPins > newNode)<br>Replaces existing old node with a specified new node. |
void | startTracking(Sequence * sequence, bool trackFromLeft) |
void | stopTracking() |
void | toggleSelectedNodesVisibility() |
void | trackingJaggedLeft() |
void | trackingJaggedRight() |
void | trackingModeSwitch() |
void | trackingSmoothLeft() |
void | trackingSmoothRight() |
void | zoomToAll() |
void | zoomToRectangle(ImRect const & rect) |
void | zoomToSelected() |
Public Attributes
Name | |
---|---|
Memento * | copiedNodes |
ImDrawListSplitter | m_channelSplitter |
std::unordered_map< Core::ID, CoreNode * > | m_coreIdMap <br>A map connecting Core node id's with equivalent gui nodes. |
bool | m_highlightTrackedModels |
bool | m_smoothTracking |
ImVec2 | m_trackingCursorPos |
bool | m_updateDataItemsWidth <br>Indicates a change in zoom level this frame. |
ViewportHighlightResolver | m_viewportHighlightResolver |
Vp::Entity * | m_viewportLastSelectedEntity |
bool | m_viewportSelectionChanged |
bool | m_visualizeDepth |
Friends
Name | |
---|---|
void | Sequence::moveNodeToWorkspace(Ptr< CoreNode > node) |
Additional inherited members
Public Functions inherited from DIWNE::NodeEditor
Name | |
---|---|
NodeEditor(const char * label, SettingsDiwne * settingsDiwne)<br>Create a node editor instance. | |
~NodeEditor() override | |
void | addLink(std::shared_ptr< Link > link) |
void | addNode(const std::shared_ptr< Node > & node) |
void | addNode(const std::shared_ptr< Node > & node, const ImVec2 position, bool shiftToLeftByNodeWidth =false) |
virtual void | afterDraw(DrawInfo & context) override<br>Called last during drawing. |
virtual bool | allowZoom() |
void | bringLastActiveNodeToFront() |
void | bringMarkedNodesToFront() |
Canvas & | canvas() const<br>Get a reference to the canvas component of the node editor. |
virtual void | clear()<br>Clear all nodes from the node editor. |
template <class T ,typename... Args> <br>auto | createLink(Args &&... args)<br>Create a new link of type T and add it to the node editor. |
template <class T ,typename... Args> <br>auto | createNode(const ImVec2 position =ImVec2(0, 0), Args &&... args)<br>Creates a new node in the node editor of the specified type. |
template <class T > <br>auto | createNode(const ImVec2 position =ImVec2(0, 0), bool shiftToLeftByNodeWidth =false) |
void | deleteSelectedNodes() |
virtual void | deselectAllNodes() |
virtual void | draw(DrawMode drawMode =DrawMode_Interactive) override<br>Generic draw method meant to be used by external code. |
virtual RecursiveNodeRange | getAllNodesInnerIncluded() const |
float | getDpiScale() const |
template <typename T =Node> <br>std::shared_ptr< T > | getLastActiveNode() |
virtual NodeList & | getNodeList() override<br>Get a reference to the underlying owning vector of all nodes in the node editor. |
virtual NodeRange | getNodes() const override<br>Get a view of all nodes in the node editor which can be iterated over. |
bool | getNodesSelectionChanged() const |
const ImVec2 & | getPopupPosition() const<br>Get position of the last popup in screen coordinates. |
virtual FilteredNodeRange | getSelectedNodes() const |
virtual FilteredRecursiveNodeRange | getSelectedNodesInnerIncluded() const |
StyleOverride * | getStyleOverride() const =delete |
float | getZoom() const |
virtual void | initializeDiwne(DrawInfo & context) override |
NodeEditorInputAdapter & | input() const<br>Get a reference to the node editors input adapter. |
void | invertSelection() |
virtual bool | isJustPressedDiwne() override<br>Determine whether a key/s of interest was/were just pressed. |
virtual bool | isPressedDiwne() override<br>Determine whether a key/s of interest is/are pressed down over the object. |
virtual bool | isZoomingDiwne() |
virtual void | onDestroy(bool logEvent) override<br>Gets called the moment the object is marked for deletion by destroy(). |
virtual void | onReleased(bool justReleased, DrawInfo & context) override<br>Called when the object is not pressed. |
virtual bool | processPan()<br>Called by Canvas::setZoom() when the zoom level changes. |
virtual bool | processZoom() |
void | purgeAllNodes()<br>Erases objects marked for deletion or removal from the editor. |
void | selectAllNodes(bool deselectIfAllAreSelected =false)<br>Selects all nodes. |
void | setDpiScale(float dpiScale)<br>Set the node editor's dpi scale. Updates dpi scale of its style as well. |
template <class T ,typename... Args> <br>void | setInputAdapter(Args &&... args) |
void | setLastActiveNode(std::shared_ptr< Node > node) |
void | setNodesSelectionChanged(bool value) |
void | setPopupPosition(ImVec2 position)<br>Set position of the last popup in screen coordinates, used for placement of new nodes. |
void | setStyle(std::unique_ptr< StyleBase > && ptr) |
void | setStyleOverride(StyleOverride * styleOverride) =delete |
void | setZoom(float val) |
void | shiftNodesToBegin(const NodeList & nodesToShift) |
void | shiftNodesToEnd(const NodeList & nodesToShift) |
virtual Style & | style() const override<br>Get a reference to the editors style settings, which specify various colors and sizes much like ImStyle. |
StyleBase & | styleBase() const |
virtual void | updateLayout(DrawInfo & context) override<br>Updates object's m_rect, m_displayRect and any other object size variables. |
Protected Functions inherited from DIWNE::NodeEditor
Name | |
---|---|
virtual bool | isDraggedDiwne() override<br>Is the object being dragged? (usually by mouse or some key combo) |
void | purgeObjects()<br>Erases objects marked for deletion or removal from the editor. |
Public Attributes inherited from DIWNE::NodeEditor
Name | |
---|---|
InteractionState | interactionState <br>State of multi-frame user operations. |
std::vector< std::shared_ptr< Link > > | m_links <br>List of links, nodes are stored in NodeContainer superclass. |
bool | m_takeSnap <br>Indicates that a state change has occurred, can be used for undo/redo systems. |
SettingsDiwne * | mp_settingsDiwne |
Protected Attributes inherited from DIWNE::NodeEditor
Name | |
---|---|
std::unique_ptr< Canvas > | m_canvas |
std::unique_ptr< NodeEditorInputAdapter > | m_input |
bool | m_lastActiveNodeChanged |
bool | m_nodesSelectionChanged |
ImVec2 | m_popupPosition <br>Position of the last popup in screen coordinates. |
std::unique_ptr< StyleBase > | m_style |
std::weak_ptr< Node > | mp_lastActiveNode <br>Last node that requested focus (had a logical update) |
Public Functions inherited from DIWNE::DiwneObject
Name | |
---|---|
DiwneObject(DIWNE::NodeEditor & diwne, std::string labelDiwne) | |
virtual | ~DiwneObject() |
virtual void | afterDraw(DrawInfo & context)<br>Called last during drawing. |
virtual bool | allowDragStart() const<br>Determines whether a drag operation can start from this object. |
virtual bool | allowDrawing()<br>Decide whether the object should be drawn (when outside the window for example) |
virtual bool | allowHover() const<br>Determines whether the object can be hovered. |
virtual bool | allowInteraction() const<br>Decide whether the object should react to user input in general. |
virtual bool | allowPopup() const<br>Determines whether a popup can be raised over the object. |
virtual bool | allowPress(const DrawInfo & context) const<br>Determines whether the object can be pressed. |
virtual bool | allowSelectOnClick(const DrawInfo & context) const<br>Determines whether the object can be selected by clicking it (eg. |
template <typename T =DiwneObject> <br>T * | as()<br>Returns a raw pointer to itself casted to a type. |
virtual void | destroy(bool logEvent =true)<br>Marks the object for lazy destruction/deallocation and removal from any containers (like the node editor). |
virtual void | draw(DrawMode drawMode =DrawMode_Interactive)<br>Generic draw method meant to be used by external code. |
virtual void | drawDiwne(DrawInfo & context, DrawMode drawMode =DrawMode_Interactive)<br>Internal draw method. |
DrawInfo | drawDiwneEx(DrawInfo & context, DrawMode drawMode =DrawMode_Interactive) |
ImRect | getDisplayRect() const<br>Object's bounds aligned to current viewport pixel boundaries. |
ID | getId() const |
DiwneObject * | getParentObject() const |
ImVec2 | getPosition() const<br>Returns the top left corner of the object's rect. |
virtual ImRect | getRect() const<br>Rectangle bounds of the object in DIWNE coordinates (editor canvas coordinates). |
bool | getSelectable() |
virtual bool | getSelected() const<br>Whether the object is selected or not. |
StyleOverride * | getStyleOverride() const |
virtual void | initialize(DrawInfo & context)<br>First method to be called every frame. |
bool | isAnyParentSelected() |
bool | isChildObject() const |
bool | isChildOfObject(DiwneObject * parent) |
bool | isDestroyed() const |
bool | isDragging(DrawInfo & context)<br>Is this object the source of an active dragging operation? |
bool | isFixed() const<br>Fixed objects are ones rendered at a position determined by some other object. |
bool | isRendered() const |
bool | isToBeBroughtToFront() |
virtual void | onDestroy(bool logEvent)<br>Gets called the moment the object is marked for deletion by destroy(). |
virtual void | onHover(DrawInfo & context)<br>This method gets called when the object is hovered. |
virtual void | onPressed(bool justPressed, DrawInfo & context)<br>Called when the object is pressed, meaning a key is pressed over it. |
virtual void | onReleased(bool justReleased, DrawInfo & context)<br>Called when the object is not pressed. |
virtual void | onSelection(bool selected) |
void | openPopup()<br>Request to open the object's popup if possible. |
bool | operator!=(const DiwneObject & rhs) const |
bool | operator==(const DiwneObject & rhs) const |
void | setBringToFront(bool val)<br>Marks the object to be brought to front (be drawn first). |
void | setFixed(bool val) |
void | setForceDraw(bool val)<br>When true, makes the object automatically add the ForceDraw DrawMode flag. |
void | setParentObject(DiwneObject * parent) |
void | setPopupEnabled(bool val) |
void | setPosition(const ImVec2 & position)<br>Move the object's rect and any other associated positional data to the specified position. |
void | setRendered(bool val) |
void | setSelectable(bool selectable)<br>Whether the object can be selected. |
virtual bool | setSelected(bool selected)<br>Set the selection state of the object. |
void | setStyleOverride(StyleOverride * styleOverride)<br>Assign a StyleOverride object to this DiwneObject. |
void | setTooltip(const std::string & text) |
void | setTooltipEnabled(bool val) |
template <typename T =DiwneObject> <br>std::shared_ptr< T > | sharedPtr()<br>Returns a shared pointer to this object. |
void | showTooltip(const std::string & label, const ImColor && color, DrawInfo & context)<br>Immediately show a tooltip next to the mouse cursor with the specified text. |
void | showTooltip(const std::string & label, const std::string & desc, const ImColor && color, DrawInfo & context, float wrapWidth =35.f)<br>Immediately show a tooltip next to the mouse cursor with the specified text. |
void | stopDrag(DrawInfo & context)<br>End an active drag operation this object is a source of. |
virtual Style & | style() const<br>Get the style for this object. |
virtual void | tooltipContent(DrawInfo & context)<br>Content of the object's tooltip. |
virtual void | translate(const ImVec2 & vec)<br>Move the object's rect and any other associated positional data. |
virtual void | updateLayout(DrawInfo & context) =0<br>Updates object's m_rect, m_displayRect and any other object size variables. |
Protected Functions inherited from DIWNE::DiwneObject
Name | |
---|---|
virtual void | afterDrawDiwne(DrawInfo & context)<br>Updates layout, processes interactions and then calls the user afterDraw() method. |
virtual void | beginDiwne(DrawInfo & context) |
virtual void | endDiwne(DrawInfo & context) |
virtual void | finalizeDiwne(DrawInfo & context) |
virtual void | initializeDiwne(DrawInfo & context) |
virtual bool | isDraggedDiwne()<br>Is the object being dragged? (usually by mouse or some key combo) |
virtual bool | isHoveredDiwne()<br>Is the object being hovered? The default implementation mostly gets this information from ImGui::IsItemHovered() but the behavior can be changed or restricted. |
virtual bool | isJustPressedDiwne()<br>Determine whether a key/s of interest was/were just pressed. |
virtual bool | isPressedDiwne()<br>Determine whether a key/s of interest is/are pressed down over the object. |
virtual bool | popupShouldBeOpenedDiwne() const<br>Determine whether a popup should be opened, that is, by default, that right mouse button was pressed and isn't dragging. |
virtual void | processDragDiwne(DrawInfo & context) |
virtual void | processHoverDiwne(DrawInfo & context)<br>Processes whether the object is currently hovered. |
virtual void | processInteractionsDiwne(DrawInfo & context) |
virtual void | processPopupAndTooltipDiwne(DrawInfo & context)<br>Processes whether a popup should be opened over this object. |
virtual void | processPressAndReleaseDiwne(DrawInfo & context)<br>Processes whether the object is currently pressed (held) and further if it was just pressed or released. |
virtual bool | processSelectDiwne(DrawInfo & context)<br>Processes any interactions related to whether the object should be selected. |
virtual void | setInitialPositionDiwne()<br>Internal helper for setting the object's initial position. |
void | setSize(const ImVec2 & size) |
void | updateRectFromImGuiItem() |
Public Attributes inherited from DIWNE::DiwneObject
Name | |
---|---|
NodeEditor & | diwne <br>Reference to the NodeEditor instance (also named 'editor' in some classes) |
bool | m_deletable <br>Whether the object can be destroyed by the user. |
bool | m_destroy <br>Indicates the object is to be deleted (and deallocated) |
ImRect | m_displayRect <br>Rectangle bounds aligned with the last viewport. |
bool | m_draggable <br>Whether dragging of the object is allowed by default. |
DrawMode | m_drawMode <br>Read-only flag thats updated on each drawDiwne(). |
bool | m_drawnThisFrame <br>Read only flag indicating whether the object has been drawn this frame. |
bool | m_fixed <br>Whether the object can be moved by user operations. |
bool | m_forceHoverDiwne <br>Special flag that can be used to enforce hover state, used by pin drag assist. |
bool | m_hoverable <br>Whether hovering is enabled by default. |
bool | m_hovered <br>Is the object hovered (usually by the mouse or whatever isHoveredDiwne() tracks) |
bool | m_hoverRoot <br>Whether hovering this object should prevent other objects from hovering. |
ID | m_idDiwne <br>Unique numeric identifier of the object. |
bool | m_isDragged <br>Is the object dragged? Returns false immediately on drag end (unlike isDragging()). |
bool | m_isPressed <br>Is the object pressed down (held)? Requirement for dragging. |
bool | m_justHidden <br>Read only flag indicating that this object was drawn last frame, but not this one. |
bool | m_justPressed <br>Read only flag indicating the object was pressed this frame (eg. |
bool | m_justReleased <br>Read only flag indicating the object was released this frame (eg. |
std::string | m_labelDiwne <br>Unique string identifier, consists of <some string>:<m_idDiwne>. |
ImRect | m_rect <br>Rectangle bounds of the object in diwne coordinates. |
StyleOverride * | m_styleOverride <br>Style override to allow uniquely styled object types. |
Protected Attributes inherited from DIWNE::DiwneObject
Name | |
---|---|
unsigned long long | g_diwneIDCounter <br>Static unique ID generator, unique only for current application run. |
bool | m_bringToFront <br>Request the object's rendering order to be moved to the front above other objects. |
bool | m_forceDraw <br>Request the next draw of the object to have the ForceDraw DrawMode flag. |
bool | m_internalHover <br>Temporary storage for an internal ImGui::IsItemHovered() check Can be set in the end() method to determine if object is hovered if applicable. |
bool | m_openPopup <br>Request to open popup. |
bool | m_openTooltip <br>Request to open tooltip. |
DiwneObject * | m_parentObject <br>Sets the parent object of object, relevant in node container and hover hierarchy. |
bool | m_popupEnabled <br>Whether this object has popup enabled. |
std::string | m_popupLabelDiwne <br>ImGui popup identifier. |
bool | m_rendered <br>Whether the object should be drawn, this is a general flag that overrides behavior of the allowDrawing() method. |
bool | m_selectable <br>Should not be accessed directly. |
bool | m_selected <br>Should not be accessed directly. |
bool | m_tooltipEnabled <br>Whether this object has tooltip enabled. |
std::string | m_tooltipText |
Public Functions inherited from DIWNE::NodeContainer
Name | |
---|---|
NodeContainer(DiwneObject * owner)<br>Constructs the node container for a specific DiwneObject that it represents. | |
void | addNode(const std::shared_ptr< Node > & node)<br>Adds a node to the end of the list (O(1)) The new node has this container set as its parent. |
virtual void | addNodeAt(const std::shared_ptr< Node > & node, int index)<br>Adds a node at a specified index. |
virtual NodeList & | getNodeList() override<br>Returns the underlying std::vector node list of the container. |
virtual NodeRange | getNodes() const override<br>Returns a iterable range to the nodes of this container. |
void | purgeNodes()<br>Erases objects marked for deletion or removal from the container. |
bool | removeNode(const std::shared_ptr< Node > & node)<br>Removes a node from the container. |
virtual void | removeNodeAt(int index)<br>Removes a node at a specified index from the container. |
bool | replaceNode(const std::shared_ptr< Node > & oldNode, const std::shared_ptr< Node > & newNode)<br>Replaces an existing node with a new one. |
virtual void | replaceNodeAt(const std::shared_ptr< Node > & node, int index)<br>Replaces node at a specified index with a different one. |
Protected Functions inherited from DIWNE::NodeContainer
Name | |
---|---|
virtual void | onNodeAdd(Node * node, int index)<br>Called after a node is inserted into the container. |
virtual void | onNodeRemove(std::shared_ptr< Node > node, int index)<br>Called after a node is removed from the container. |
Protected Attributes inherited from DIWNE::NodeContainer
Name | |
---|---|
NodeList | m_nodes |
DiwneObject * | m_owner <br>Diwne object associated with this node container. |
Public Functions inherited from DIWNE::INodeContainer
Name | |
---|---|
virtual | ~INodeContainer() =default |
virtual NodeList & | getNodeList() =0 |
virtual NodeRange | getNodes() const =0 |
Public Functions Documentation
function WorkspaceDiwne
WorkspaceDiwne(
const char * label,
DIWNE::SettingsDiwne * settingsDiwne
)
WorkspaceDiwne(
const char * label,
DIWNE::SettingsDiwne * settingsDiwne
)
function ~WorkspaceDiwne
~WorkspaceDiwne() override
~WorkspaceDiwne() override
function addMenu
void addMenu()
void addMenu()
function addNodeToPositionOfPopup
template <class T >
inline auto addNodeToPositionOfPopup()
template <class T >
inline auto addNodeToPositionOfPopup()
function begin
virtual void begin(
DIWNE::DrawInfo & context
) override
virtual void begin(
DIWNE::DrawInfo & context
) override
First method to be called during object drawing.
Reimplements: DIWNE::NodeEditor::begin
Can be used to initialize drawing code.
function content
virtual void content(
DIWNE::DrawInfo & context
) override
virtual void content(
DIWNE::DrawInfo & context
) override
Called after begin() during drawing.
Reimplements: DIWNE::NodeEditor::content
Draws object content.
Todosee #111, wrongly computed m_takeSnap value.
function copySelectedNodes
void copySelectedNodes()
void copySelectedNodes()
function cutSelectedNodes
void cutSelectedNodes()
void cutSelectedNodes()
function duplicateSelectedNodes
void duplicateSelectedNodes()
void duplicateSelectedNodes()
function end
virtual void end(
DIWNE::DrawInfo & context
) override
virtual void end(
DIWNE::DrawInfo & context
) override
Called after content().
Reimplements: DIWNE::NodeEditor::end
Used to end content drawing.
function finalize
virtual void finalize(
DIWNE::DrawInfo & context
) override
virtual void finalize(
DIWNE::DrawInfo & context
) override
The final method to be called, gets called every frame and doesn't do any drawing.
Reimplements: DIWNE::DiwneObject::finalize
function getAllCameras
DIWNE::FilteredNodeRange< Camera > getAllCameras()
DIWNE::FilteredNodeRange< Camera > getAllCameras()
function getAllCoreNodes
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllCoreNodes() const
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllCoreNodes() const
function getAllInputFreeModel
DIWNE::FilteredNodeRange< Model > getAllInputFreeModel()
DIWNE::FilteredNodeRange< Model > getAllInputFreeModel()
function getAllInputFreeSequence
DIWNE::FilteredNodeRange< Sequence > getAllInputFreeSequence()
DIWNE::FilteredNodeRange< Sequence > getAllInputFreeSequence()
function getAllModels
DIWNE::FilteredNodeRange< Model > getAllModels()
DIWNE::FilteredNodeRange< Model > getAllModels()
function getAllScriptingNodes
DIWNE::FilteredRecursiveNodeRange< ScriptingNode > getAllScriptingNodes()
DIWNE::FilteredRecursiveNodeRange< ScriptingNode > getAllScriptingNodes()
function getAllSelectedCoreNodes
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllSelectedCoreNodes() const
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllSelectedCoreNodes() const
Gets all I3TCore nodes that are selected.
function getAllSelectedCoreNodesWithoutNesting
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllSelectedCoreNodesWithoutNesting() const
inline DIWNE::FilteredRecursiveNodeRange< CoreNode > getAllSelectedCoreNodesWithoutNesting() const
function getCoreNodes
inline DIWNE::FilteredNodeRange< CoreNode > getCoreNodes() const
inline DIWNE::FilteredNodeRange< CoreNode > getCoreNodes() const
function getNode
template <typename T >
inline Result< Ptr< T >, Error > getNode(
Core::ID id
) const
template <typename T >
inline Result< Ptr< T >, Error > getNode(
Core::ID id
) const
O(N) where N is workspace nodes count.
Parameters:
- id
Template Parameters:
- T
Return:
function getOverNodesRectangleDiwne
ImRect getOverNodesRectangleDiwne(
std::vector< Ptr< DIWNE::Node > > nodes
)
ImRect getOverNodesRectangleDiwne(
std::vector< Ptr< DIWNE::Node > > nodes
)
function getTracker
Core::MatrixTracker * getTracker() const
Core::MatrixTracker * getTracker() const
function isTracking
bool isTracking() const
bool isTracking() const
function isTrackingFromLeft
bool isTrackingFromLeft() const
bool isTrackingFromLeft() const
function manipulatorStartCheck3D
void manipulatorStartCheck3D()
void manipulatorStartCheck3D()
function onDrag
virtual void onDrag(
DIWNE::DrawInfo & context,
bool dragStart,
bool dragEnd
) override
virtual void onDrag(
DIWNE::DrawInfo & context,
bool dragStart,
bool dragEnd
) override
This method gets called when the object is being dragged.
Parameters:
- dragStart The drag has just started this frame.
- dragEnd The drag is ending this frame.
See: processDragDiwne(), processPressAndReleaseDiwne()
Reimplements: DIWNE::NodeEditor::onDrag
Drag begins when the object is pressed and isDraggedDiwne() returns true.
A call with dragStart true, should always be followed by a call with dragEnd true.
function onPopup
virtual void onPopup() override
virtual void onPopup() override
Reimplements: DIWNE::DiwneObject::onPopup
function onZoom
virtual void onZoom() override
virtual void onZoom() override
Reimplements: DIWNE::NodeEditor::onZoom
function pasteSelectedNodes
void pasteSelectedNodes()
void pasteSelectedNodes()
function performLazyDuplication
void performLazyDuplication()
void performLazyDuplication()
Duplicates nodes marked for duplication using Workspace::Node::setDuplicateNode()
function popupContent
virtual void popupContent(
DIWNE::DrawInfo & context
) override
virtual void popupContent(
DIWNE::DrawInfo & context
) override
Content of popup menu raised on this objec.
Reimplements: DIWNE::DiwneObject::popupContent
function processInteractions
virtual void processInteractions(
DIWNE::DrawInfo & context
) override
virtual void processInteractions(
DIWNE::DrawInfo & context
) override
Method for reacting to user input after the object is fully drawn and its dimensions are known.
Reimplements: DIWNE::NodeEditor::processInteractions
It is called after end() and updateLayout(), but before the afterDraw() lifecycle method. Internal interactions are processed right before.
function processTrackingInput
void processTrackingInput()
void processTrackingInput()
function replaceAndReplugNode
bool replaceAndReplugNode(
Ptr< CoreNodeWithPins > oldNode,
Ptr< CoreNodeWithPins > newNode
)
bool replaceAndReplugNode(
Ptr< CoreNodeWithPins > oldNode,
Ptr< CoreNodeWithPins > newNode
)
Replaces existing old node with a specified new node.
Return: True on complete sucess, false on failure or when some pins couldn't be reconnected.
Old node is destroyed and its link connections are replugged into the new node if possible. Attempts to reconnect input and output pins at corresponsing indices.
function startTracking
void startTracking(
Sequence * sequence,
bool trackFromLeft
)
void startTracking(
Sequence * sequence,
bool trackFromLeft
)
function stopTracking
void stopTracking()
void stopTracking()
function toggleSelectedNodesVisibility
void toggleSelectedNodesVisibility()
void toggleSelectedNodesVisibility()
function trackingJaggedLeft
void trackingJaggedLeft()
void trackingJaggedLeft()
function trackingJaggedRight
void trackingJaggedRight()
void trackingJaggedRight()
function trackingModeSwitch
void trackingModeSwitch()
void trackingModeSwitch()
function trackingSmoothLeft
void trackingSmoothLeft()
void trackingSmoothLeft()
function trackingSmoothRight
void trackingSmoothRight()
void trackingSmoothRight()
function zoomToAll
void zoomToAll()
void zoomToAll()
function zoomToRectangle
void zoomToRectangle(
ImRect const & rect
)
void zoomToRectangle(
ImRect const & rect
)
function zoomToSelected
void zoomToSelected()
void zoomToSelected()
Public Attributes Documentation
variable copiedNodes
Memento * copiedNodes = nullptr;
Memento * copiedNodes = nullptr;
variable m_channelSplitter
ImDrawListSplitter m_channelSplitter;
ImDrawListSplitter m_channelSplitter;
variable m_coreIdMap
std::unordered_map< Core::ID, CoreNode * > m_coreIdMap;
std::unordered_map< Core::ID, CoreNode * > m_coreIdMap;
A map connecting Core node id's with equivalent gui nodes.
Contains raw pointers as values so it can be populated in constructors.
variable m_highlightTrackedModels
bool m_highlightTrackedModels {true};
bool m_highlightTrackedModels {true};
variable m_smoothTracking
bool m_smoothTracking {true};
bool m_smoothTracking {true};
variable m_trackingCursorPos
ImVec2 m_trackingCursorPos;
ImVec2 m_trackingCursorPos;
variable m_updateDataItemsWidth
bool m_updateDataItemsWidth {false};
bool m_updateDataItemsWidth {false};
Indicates a change in zoom level this frame.
variable m_viewportHighlightResolver
ViewportHighlightResolver m_viewportHighlightResolver;
ViewportHighlightResolver m_viewportHighlightResolver;
variable m_viewportLastSelectedEntity
Vp::Entity * m_viewportLastSelectedEntity {nullptr};
Vp::Entity * m_viewportLastSelectedEntity {nullptr};
variable m_viewportSelectionChanged
bool m_viewportSelectionChanged {false};
bool m_viewportSelectionChanged {false};
variable m_visualizeDepth
bool m_visualizeDepth {false};
bool m_visualizeDepth {false};
Friends
friend Sequence::moveNodeToWorkspace
friend void Sequence::moveNodeToWorkspace(
Ptr< CoreNode > node
);
friend void Sequence::moveNodeToWorkspace(
Ptr< CoreNode > node
);
Updated on 2025-05-31 at 12:55:31 +0000