Skip to content

Workspace::WorkspaceDiwne

#include "GUI/Workspace/WorkspaceDiwne.h"

Inherits from DIWNE::Diwne, DIWNE::DiwneObject, std::enable_shared_from_this< DiwneObject >

Public Functions

Name
WorkspaceDiwne(DIWNE::SettingsDiwne * settingsDiwne)
~WorkspaceDiwne() override
template <class T &gt; <br>autoaddNodeToPosition(ImVec2 const position =ImVec2(0, 0), bool shiftToLeftByNodeWidth =false)
template <class T &gt; <br>autoaddNodeToPositionOfPopup()
template <typename T &gt; <br>voidaddTypeConstructorNode()
virtual boolafterContent() override
virtual boolafterEnd() override
virtual boolbeforeBegin() override
virtual boolbeforeContent() override
virtual ImVec2bypassDiwneGetSelectionRectangleSize() override
virtual ImVec2bypassDiwneGetSelectionRectangleStartPosition() override
virtual boolbypassDragAction() override
virtual boolbypassHoldAction() override
virtual boolbypassSelectionRectangleAction() override
virtual boolbypassUnholdAction() override
virtual boolbypassZoomAction() override
virtual voidclear() override<br>Clear all nodes from the node editor.
virtual boolcontent() override
voidcopySelectedNodes()
voidcutSelectedNodes()
voiddeleteCallback()
voiddeselectNodes()
voiddeselectWorkspaceNode(Ptr< CoreNode > transform)
voiddetectRotationTransformAndSetFloatMode(auto node)
voidduplicateClickedNode()
voidduplicateSelectedNodes()
virtual boolfinalize() override
std::vector< Ptr< CoreNode > >getAllCameras()
std::vector< Ptr< CoreNode > >getAllInputFreeModel()
std::vector< Ptr< CoreNode > >getAllInputFreeSequence()
std::vector< Ptr< Model > >getAllModels()
const std::vector< Ptr< CoreNode > > &getAllNodes() const
std::vector< Ptr< CoreNode > >getAllNodesInnerIncluded()
template <typename T &gt; <br>Result< Ptr< T >, Error >getNode(Core::ID id) const<br>O(N) where N is workspace nodes count.
ImRectgetOverNodesRectangleDiwne(std::vector< Ptr< CoreNode >> nodes)
std::vector< Ptr< CoreNode > >getSelectedNodes()
std::vector< Ptr< CoreNode > >getSelectedNodesInnerIncluded()
std::vector< Ptr< Model > >getSequenceModels(Ptr< Sequence > seq)
WorkspaceDiwneActiongetWorkspaceDiwneAction()
WorkspaceDiwneActiongetWorkspaceDiwneAction_previousFrame()
WorkspaceDiwneActiongetWorkspaceDiwneActionActive() const
voidinvertSelection()
boolisNodeLabelBeingEdited()
voidmanipulatorStartCheck3D()
voidpasteSelectedNodes()
virtual voidpopupContent() override<br>Content of popup menu raise on this object.
boolprocessCreateAndPlugTypeConstructor()<br>For a given input, create appropriate constructor box and plug it to this input.
voidprocessDragAllSelectedNodes()
voidprocessTrackingMove()
virtual boolprocessZoom() override
voidselectAll()
virtual voidsetWorkAreaZoom(float val =1) override
voidsetWorkspaceDiwneAction(WorkspaceDiwneAction wda)
voidshiftInteractingNodeToEnd()
voidshiftNodesToBegin(std::vector< Ptr< CoreNode >> const & nodesToShift)
voidshiftNodesToEnd(std::vector< Ptr< CoreNode >> const & nodesToShift)
voidtoggleSelectedNodesVisibility()
voidtrackingInit(Ptr< Sequence > sequence, std::vector< Ptr< Model >> models, bool isRightToLeft)
voidtrackingJaggedLeft()
voidtrackingJaggedRight()
voidtrackingModeSwitch()
voidtrackingSmoothLeft()
voidtrackingSmoothRight()
voidtrackingSwitch()
voidtrackingSwitchOff()
voidtrackingSwitchOn(Ptr< Sequence > sequence =nullptr, bool isRightToLeft =true)
voidzoomToAll()
voidzoomToRectangle(ImRect const & rect)
voidzoomToSelected()

Public Attributes

Name
Memento *copiedNodes
ImDrawListSplitterm_channelSplitter
std::unordered_map< Core::ID, CoreNode * >m_coreIdMap <br>A map connecting Core node id's with equivalent gui nodes.
std::vector< CoreLink >m_linksCameraToSequence
std::vector< CoreLink * >m_linksToDraw
boolm_reconnectCameraToSequence
boolm_trackingFromLeft
boolm_updateDataItemsWidth <br>Indicates a change in zoom level this frame.
ViewportHighlightResolverm_viewportHighlightResolver
Vp::Entity *m_viewportLastSelectedEntity
boolm_viewportSelectionChanged
std::vector< Ptr< CoreNode > >m_workspaceCoreNodes <br>All WorkspaceNodes.
WorkspaceDiwneActionm_workspaceDiwneAction
WorkspaceDiwneActionm_workspaceDiwneActionPreviousFrame
boolsmoothTracking
floattimeUntilNextTrack
Core::MatrixTracker *tracking

Friends

Name
voidSequence::moveNodeToWorkspace(Ptr< CoreNode > node)

Additional inherited members

Public Functions inherited from DIWNE::Diwne

Name
Diwne(DIWNE::SettingsDiwne * settingsDiwne)<br>Default constructor.
virtual~Diwne()<br>Default destructor.
voidAddBezierCurveDiwne(const ImVec2 & p1, const ImVec2 & p2, const ImVec2 & p3, const ImVec2 & p4, ImVec4 col, float thickness, int num_segments =0) const<br>Draw Bezier (not Bezier really) curve to window ImDrawList.
voidAddRectDiwne(const ImVec2 & p_min, const ImVec2 & p_max, ImVec4 col, float rounding =0.0f, ImDrawFlags rounding_corners =ImDrawFlags_RoundCornersAll, float thickness =1.0f) const<br>Draw rectangle to window ImDrawlist.
voidAddRectFilledDiwne(const ImVec2 & p_min, const ImVec2 & p_max, ImVec4 col, float rounding =0.0f, ImDrawFlags rounding_corners =ImDrawFlags_RoundCornersAll) const<br>Draw filled rectangle to window ImDrawlist.
virtual boolafterContentDiwne() override
virtual boolafterEndDiwne() override
virtual boolallowDrawing() override<br>Decision maker whether object should be drawn (not outside of window for example)
virtual boolallowProcessFocused()
virtual boolallowProcessSelectionRectangle()
virtual boolallowProcessZoom()
boolapplyZoomScaling()<br>Modifies the current ImGuiStyle and Font depending on the current diwne zoom level.
floatapplyZoomScalingToFont(ImFont * font, ImFont * largeFont =nullptr)<br>Modifies the current Font depending on the current diwne zoom level.
virtual boolbeforeBeginDiwne() override
virtual voidbegin() override
boolblockRaisePopup()
virtual ImVec2bypassDiwneGetPopupNewPositionAction()
virtual boolbypassDiwneSetPopupPositionAction()
virtual ImVec2bypassGetMouseDelta()
virtual ImVec2bypassGetMouseDragDelta0()
virtual ImVec2bypassGetMouseDragDelta1()
virtual ImVec2bypassGetMouseDragDelta2()
virtual ImVec2bypassGetMousePos()
virtual floatbypassGetMouseWheel()
virtual floatbypassGetZoomDelta()
virtual boolbypassIsItemActive()
virtual boolbypassIsItemClicked0()
virtual boolbypassIsItemClicked1()
virtual boolbypassIsItemClicked2()
virtual boolbypassIsMouseClicked0()
virtual boolbypassIsMouseClicked1()
virtual boolbypassIsMouseClicked2()
virtual boolbypassIsMouseDown0()
virtual boolbypassIsMouseDown1()
virtual boolbypassIsMouseDown2()
virtual boolbypassIsMouseDragging0()
virtual boolbypassIsMouseDragging1()
virtual boolbypassIsMouseDragging2()
virtual boolbypassIsMouseReleased0()
virtual boolbypassIsMouseReleased1()
virtual boolbypassIsMouseReleased2()
virtual ImVec2bypassMouseClickedPos0()
virtual ImVec2bypassMouseClickedPos1()
virtual ImVec2bypassMouseClickedPos2()
ImVec2diwne2screen(const ImVec2 & point) const
ImVec2diwne2screen_noZoom(const ImVec2 & point) const
ImVec2diwne2workArea(const ImVec2 & point) const
ImVec2diwne2workArea_noZoom(const ImVec2 & point) const
voidDrawIcon(DIWNE::IconType bgIconType, ImColor bgShapeColor, ImColor bgInnerColor, DIWNE::IconType fgIconType, ImColor fgShapeColor, ImColor fgInnerColor, ImVec2 size, ImVec4 padding, bool filled, ImVec2 thickness =ImVec2(1, 1), float rounding =0) const<br>Draw an Icon combined from two parts (foreground and background) to the window ImDrawList filled with a ShapeColor.
voidDrawIconCircle(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const<br>Draw a circle icon.
voidDrawIconCross(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float shapeThickness =2, float innerThickness =1) const
voidDrawIconFastForward(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconGrabDownLeft(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconGrabDownRight(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconHyphen(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =3.0f) const
voidDrawIconPause(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, ImVec2 thickness =ImVec2(1, 1), float rounding =0) const
voidDrawIconRectangle(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, ImVec2 thickness =ImVec2(1, 1), float rounding =0) const
voidDrawIconRewind(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconSkipBack(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconSkipBack2(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconSkipForward(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconSkipForward2(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconTriangleDownLeft(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconTriangleDownRight(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconTriangleLeft(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidDrawIconTriangleRight(ImDrawList * idl, ImColor shapeColor, ImColor innerColor, ImVec2 topLeft, ImVec2 bottomRight, bool filled, float thickness =1) const
voidEmptyButton(ImVec2 size, ImColor color, float rounding)<br>Just the shape of the button, no interaction.
virtual voidend() override
boolensureZoomScaling(bool active)<br>Ensure that zoom scaling is active or not based on a passed parameter.
virtual boolfinalizeDiwne() override
DiwneActiongetDiwneAction() const
DiwneActiongetDiwneActionActive() const
DiwneActiongetDiwneActionPreviousFrame() const
virtual DIWNE::DiwneActiongetDragActionType() const
DIWNE::Link &getHelperLink()
virtual DIWNE::DiwneActiongetHoldActionType() const
template <typename T &gt; <br>std::shared_ptr< T >getLastActiveNode()
template <typename T &gt; <br>std::shared_ptr< T >getLastActivePin()
boolgetNodesSelectionChanged()
ImVec2 const &getPopupPosition() const
virtual ImRectgetRectDiwne() const override
ImRectgetSelectionRectangleDiwne()
virtual DIWNE::DiwneActiongetTouchActionType() const
ImRectgetWorkAreaDiwne() const<br>Update position and size of work area on screen and on diwne.
ImRectgetWorkAreaScreen() const
floatgetWorkAreaZoom() const
boolIconButton(DIWNE::IconType bgIconType, ImColor bgShapeColor, ImColor bgInnerColor, DIWNE::IconType fgIconType, ImColor fgShapeColor, ImColor fgInnerColor, ImVec2 size, ImVec4 padding, bool filled, std::string const id) const
boolIconButton(DIWNE::IconType bgIconType, ImColor bgShapeColor, ImColor bgInnerColor, ImVec2 size, ImVec4 padding, bool filled, std::string const id) const
virtual boolinitializeDiwne() override
virtual boolprocessDiwneSelectionRectangle()
virtual boolprocessDiwneZoom()
virtual boolprocessDrag() override
virtual boolprocessInteractions() override
virtual boolprocessInteractionsDiwne() override
boolrestoreZoomScaling()<br>Restores the current ImGuiStyle and Font back to its state before applyZoomScaling() was last called.
voidrestoreZoomScalingToFont(ImFont * font, float originalScale)
ImVec2screen2diwne(const ImVec2 & point) const
ImVec2screen2diwne_noZoom(const ImVec2 & point) const
ImVec2screen2workArea(const ImVec2 & point) const
voidsetDiwneAction(DiwneAction action)
template <typename T &gt; <br>voidsetLastActiveNode(std::shared_ptr< T > node)
template <typename T &gt; <br>voidsetLastActivePin(std::shared_ptr< T > pin)
voidsetNodesSelectionChanged(bool value)
voidsetPopupPosition(ImVec2 position)
voidsetWorkAreaDiwne(ImRect rect)
ImVec2transformFromDiwneToImGui(const ImVec2 & point) const
ImVec4transformFromDiwneToImGui(const ImVec4 & point) const
ImVec2transformFromImGuiToDiwne(const ImVec2 & point) const
ImVec4transformFromImGuiToDiwne(const ImVec4 & point) const
voidtranslateWorkAreaDiwne(ImVec2 const & distance)
voidtranslateWorkAreaDiwneZoomed(ImVec2 const & distance)
voidupdateWorkAreaRectangles()
ImVec2workArea2diwne(const ImVec2 & point) const
ImVec2workArea2diwne_noZoom(const ImVec2 & point) const
ImVec2workArea2screen(const ImVec2 & point) const

Public Attributes inherited from DIWNE::Diwne

Name
boolm_allowUnselectingNodes <br>for example when holding ctrl nodes not going unselected when sleection rect get out of them
boolm_diwneDebug
boolm_objectFocused <br>only one object can be focused
boolm_popupDrawn <br>not draw popup two times
boolm_takeSnap
boolm_tooltipDrawn <br>not draw tooltip two times
DIWNE::SettingsDiwne *mp_settingsDiwne

Protected Attributes inherited from DIWNE::Diwne

Name
DiwneActionm_diwneAction
DiwneActionm_diwneAction_previousFrame
boolm_drawing
DIWNE::Linkm_helperLink
boolm_nodesSelectionChanged
ImVec2m_popupPosition
ImRectm_selectionRectangeDiwne
ImColorm_selectionRectangeFullColor
ImColorm_selectionRectangeTouchColor
ImDrawListSplitterm_splitter <br>Every nodes should be draw to its own channel.
ImRectm_workAreaDiwne <br>Rectangle of work area on diwne.
ImRectm_workAreaScreen <br>Rectangle of work area on screen.
floatm_workAreaZoom <br>Workspace zoom factor.
floatm_zoomOriginalFontScale <br>For restore value after this window is done.
ImGuiStylem_zoomOriginalStyle
boolm_zoomScalingApplied
std::shared_ptr< DIWNE::Node >mp_lastActiveNode
std::shared_ptr< DIWNE::Pin >mp_lastActivePin

Public Functions inherited from DIWNE::DiwneObject

Name
DiwneObject(DIWNE::Diwne & diwne, DIWNE::ID id, std::string const labelDiwne)<br>Constructor.
virtual~DiwneObject() =default
virtual boolafterContentDiwne()
virtual boolafterEndDiwne()
virtual boolallowDrawing()<br>Decision maker whether object should be drawn (not outside of window for example)
virtual boolallowInteraction()<br>Decision maker whether object can interact (not include content elements)
virtual boolallowProcessDrag()
virtual boolallowProcessFocused()
virtual boolallowProcessFocusedForInteraction()
virtual boolallowProcessHold()
virtual boolallowProcessRaisePopup()
virtual boolallowProcessSelect()
virtual boolallowProcessUnhold()
virtual boolallowProcessUnselect()
virtual boolbeforeBeginDiwne()
virtual boolbeforeContentDiwne()
virtual voidbegin() =0
virtual boolbypassFocusAction()
virtual boolbypassFocusForInteractionAction()
virtual boolbypassRaisePopupAction()
virtual boolbypassSelectAction()
virtual boolbypassTouchAction()
virtual boolbypassUnselectAction()
virtual boolcontentDiwne()
virtual booldrawDiwne(DrawMode drawMode =DrawMode::Interacting)<br>Main function for drawing object and deal with interactions.
virtual voidend() =0
virtual boolfinalizeDiwne()
virtual DIWNE::DiwneActiongetDragActionType() const =0
virtual DIWNE::DiwneActiongetHoldActionType() const =0
DIWNE::ID constgetIdDiwne() const
virtual ImRectgetRectDiwne() const =0
virtual boolgetSelectable()
virtual boolgetSelected() const<br>Getter of selection state.
virtual DIWNE::DiwneActiongetTouchActionType() const =0
virtual boolinitialize()
virtual boolinitializeDiwne()
virtual boolinteractionBeginInLastDraw()
virtual boolinteractionEndInLastDraw()
virtual boolprocessDrag()
boolprocessDragDiwne()
virtual boolprocessFocused()
boolprocessFocusedDiwne()
virtual boolprocessFocusedForInteraction()
boolprocessFocusedForInteractionDiwne()
virtual boolprocessHold()
boolprocessHoldDiwne()
virtual boolprocessInteractions()
virtual boolprocessInteractionsAlways()
virtual boolprocessInteractionsDiwne()
virtual boolprocessRaisePopupDiwne()
virtual boolprocessSelect()
boolprocessSelectDiwne()
virtual boolprocessShowPopupDiwne()
virtual boolprocessUnhold()
boolprocessUnholdDiwne()
virtual boolprocessUnselect()
boolprocessUnselectDiwne()
virtual voidsetSelectable(bool const selectable)
virtual boolsetSelected(bool const selected)
voidshowTooltipLabel(std::string const & label, ImColor const && color)<br>Show a colored text for example for immediate hints.
virtual voidupdateSizes()

Public Attributes inherited from DIWNE::DiwneObject

Name
DIWNE::Diwne &diwne
DrawModem_drawMode
boolm_focused
boolm_focusedForInteraction
DIWNE::ID constm_idDiwne
boolm_inner_interaction_happen
boolm_inner_interaction_happen_previous_draw
boolm_isActive
boolm_isDragged
boolm_isHeld
std::string constm_labelDiwne
std::string constm_popupIDDiwne
boolm_selectable
boolm_selected

Public Functions Documentation

function WorkspaceDiwne

cpp
WorkspaceDiwne(
    DIWNE::SettingsDiwne * settingsDiwne
)
WorkspaceDiwne(
    DIWNE::SettingsDiwne * settingsDiwne
)

function ~WorkspaceDiwne

cpp
~WorkspaceDiwne() override
~WorkspaceDiwne() override

function addNodeToPosition

cpp
template <class T >
inline auto addNodeToPosition(
    ImVec2 const position =ImVec2(0, 0),
    bool shiftToLeftByNodeWidth =false
)
template <class T >
inline auto addNodeToPosition(
    ImVec2 const position =ImVec2(0, 0),
    bool shiftToLeftByNodeWidth =false
)

function addNodeToPositionOfPopup

cpp
template <class T >
inline auto addNodeToPositionOfPopup()
template <class T >
inline auto addNodeToPositionOfPopup()

function addTypeConstructorNode

cpp
template <typename T >
inline void addTypeConstructorNode()
template <typename T >
inline void addTypeConstructorNode()

function afterContent

cpp
virtual bool afterContent() override
virtual bool afterContent() override

Reimplements: DIWNE::DiwneObject::afterContent

is called as last inside object

function afterEnd

cpp
virtual bool afterEnd() override
virtual bool afterEnd() override

Reimplements: DIWNE::DiwneObject::afterEnd

is called after closing object, sizes are updated already

function beforeBegin

cpp
virtual bool beforeBegin() override
virtual bool beforeBegin() override

Reimplements: DIWNE::DiwneObject::beforeBegin

is called before begin of object drawing (but after allowDrawing() decision)

function beforeContent

cpp
virtual bool beforeContent() override
virtual bool beforeContent() override

Reimplements: DIWNE::DiwneObject::beforeContent

is called first inside of object

function bypassDiwneGetSelectionRectangleSize

cpp
virtual ImVec2 bypassDiwneGetSelectionRectangleSize() override
virtual ImVec2 bypassDiwneGetSelectionRectangleSize() override

Reimplements: DIWNE::Diwne::bypassDiwneGetSelectionRectangleSize

function bypassDiwneGetSelectionRectangleStartPosition

cpp
virtual ImVec2 bypassDiwneGetSelectionRectangleStartPosition() override
virtual ImVec2 bypassDiwneGetSelectionRectangleStartPosition() override

Reimplements: DIWNE::Diwne::bypassDiwneGetSelectionRectangleStartPosition

function bypassDragAction

cpp
virtual bool bypassDragAction() override
virtual bool bypassDragAction() override

Reimplements: DIWNE::DiwneObject::bypassDragAction

action used for dragging object

function bypassHoldAction

cpp
virtual bool bypassHoldAction() override
virtual bool bypassHoldAction() override

Reimplements: DIWNE::DiwneObject::bypassHoldAction

action used for holding object (check only if object is not held)

function bypassSelectionRectangleAction

cpp
virtual bool bypassSelectionRectangleAction() override
virtual bool bypassSelectionRectangleAction() override

Reimplements: DIWNE::Diwne::bypassSelectionRectangleAction

function bypassUnholdAction

cpp
virtual bool bypassUnholdAction() override
virtual bool bypassUnholdAction() override

Reimplements: DIWNE::DiwneObject::bypassUnholdAction

action used for unholding object (check only if object is held)

function bypassZoomAction

cpp
virtual bool bypassZoomAction() override
virtual bool bypassZoomAction() override

Reimplements: DIWNE::Diwne::bypassZoomAction

function clear

cpp
virtual void clear() override
virtual void clear() override

Clear all nodes from the node editor.

Reimplements: DIWNE::Diwne::clear

function content

cpp
virtual bool content() override
virtual bool content() override

Reimplements: DIWNE::DiwneObject::content

content of object

TodoCannot draw with empty workspace -> m_channelSplitter.Split(ImGui::GetWindowDrawList(), node_count ); exception.

Todosee #111, wrongly computed m_takeSnap value.

function copySelectedNodes

cpp
void copySelectedNodes()
void copySelectedNodes()

function cutSelectedNodes

cpp
void cutSelectedNodes()
void cutSelectedNodes()

function deleteCallback

cpp
void deleteCallback()
void deleteCallback()

function deselectNodes

cpp
void deselectNodes()
void deselectNodes()

function deselectWorkspaceNode

cpp
void deselectWorkspaceNode(
    Ptr< CoreNode > transform
)
void deselectWorkspaceNode(
    Ptr< CoreNode > transform
)

function detectRotationTransformAndSetFloatMode

cpp
inline void detectRotationTransformAndSetFloatMode(
    auto node
)
inline void detectRotationTransformAndSetFloatMode(
    auto node
)

function duplicateClickedNode

cpp
void duplicateClickedNode()
void duplicateClickedNode()

function duplicateSelectedNodes

cpp
void duplicateSelectedNodes()
void duplicateSelectedNodes()

function finalize

cpp
virtual bool finalize() override
virtual bool finalize() override

Reimplements: DIWNE::DiwneObject::finalize

is called every time in drawDiwne() do any finalization of your object here

function getAllCameras

cpp
std::vector< Ptr< CoreNode > > getAllCameras()
std::vector< Ptr< CoreNode > > getAllCameras()

function getAllInputFreeModel

cpp
std::vector< Ptr< CoreNode > > getAllInputFreeModel()
std::vector< Ptr< CoreNode > > getAllInputFreeModel()

function getAllInputFreeSequence

cpp
std::vector< Ptr< CoreNode > > getAllInputFreeSequence()
std::vector< Ptr< CoreNode > > getAllInputFreeSequence()

function getAllModels

cpp
std::vector< Ptr< Model > > getAllModels()
std::vector< Ptr< Model > > getAllModels()

function getAllNodes

cpp
inline const std::vector< Ptr< CoreNode > > & getAllNodes() const
inline const std::vector< Ptr< CoreNode > > & getAllNodes() const

function getAllNodesInnerIncluded

cpp
std::vector< Ptr< CoreNode > > getAllNodesInnerIncluded()
std::vector< Ptr< CoreNode > > getAllNodesInnerIncluded()

function getNode

cpp
template <typename T >
Result< Ptr< T >, Error > getNode(
    Core::ID id
) const
template <typename T >
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

cpp
ImRect getOverNodesRectangleDiwne(
    std::vector< Ptr< CoreNode >> nodes
)
ImRect getOverNodesRectangleDiwne(
    std::vector< Ptr< CoreNode >> nodes
)

function getSelectedNodes

cpp
std::vector< Ptr< CoreNode > > getSelectedNodes()
std::vector< Ptr< CoreNode > > getSelectedNodes()

function getSelectedNodesInnerIncluded

cpp
std::vector< Ptr< CoreNode > > getSelectedNodesInnerIncluded()
std::vector< Ptr< CoreNode > > getSelectedNodesInnerIncluded()

function getSequenceModels

cpp
std::vector< Ptr< Model > > getSequenceModels(
    Ptr< Sequence > seq
)
std::vector< Ptr< Model > > getSequenceModels(
    Ptr< Sequence > seq
)

function getWorkspaceDiwneAction

cpp
inline WorkspaceDiwneAction getWorkspaceDiwneAction()
inline WorkspaceDiwneAction getWorkspaceDiwneAction()

function getWorkspaceDiwneAction_previousFrame

cpp
inline WorkspaceDiwneAction getWorkspaceDiwneAction_previousFrame()
inline WorkspaceDiwneAction getWorkspaceDiwneAction_previousFrame()

function getWorkspaceDiwneActionActive

cpp
inline WorkspaceDiwneAction getWorkspaceDiwneActionActive() const
inline WorkspaceDiwneAction getWorkspaceDiwneActionActive() const

function invertSelection

cpp
void invertSelection()
void invertSelection()

function isNodeLabelBeingEdited

cpp
bool isNodeLabelBeingEdited()
bool isNodeLabelBeingEdited()

function manipulatorStartCheck3D

cpp
void manipulatorStartCheck3D()
void manipulatorStartCheck3D()

function pasteSelectedNodes

cpp
void pasteSelectedNodes()
void pasteSelectedNodes()

function popupContent

cpp
virtual void popupContent() override
virtual void popupContent() override

Content of popup menu raise on this object.

Reimplements: DIWNE::DiwneObject::popupContent

function processCreateAndPlugTypeConstructor

cpp
bool processCreateAndPlugTypeConstructor()
bool processCreateAndPlugTypeConstructor()

For a given input, create appropriate constructor box and plug it to this input.

Return: true if successful (input was not a Ptr)

function processDragAllSelectedNodes

cpp
void processDragAllSelectedNodes()
void processDragAllSelectedNodes()

function processTrackingMove

cpp
void processTrackingMove()
void processTrackingMove()

function processZoom

cpp
virtual bool processZoom() override
virtual bool processZoom() override

Reimplements: DIWNE::Diwne::processZoom

function selectAll

cpp
void selectAll()
void selectAll()

function setWorkAreaZoom

cpp
virtual void setWorkAreaZoom(
    float val =1
) override
virtual void setWorkAreaZoom(
    float val =1
) override

Reimplements: DIWNE::Diwne::setWorkAreaZoom

function setWorkspaceDiwneAction

cpp
inline void setWorkspaceDiwneAction(
    WorkspaceDiwneAction wda
)
inline void setWorkspaceDiwneAction(
    WorkspaceDiwneAction wda
)

function shiftInteractingNodeToEnd

cpp
void shiftInteractingNodeToEnd()
void shiftInteractingNodeToEnd()

function shiftNodesToBegin

cpp
void shiftNodesToBegin(
    std::vector< Ptr< CoreNode >> const & nodesToShift
)
void shiftNodesToBegin(
    std::vector< Ptr< CoreNode >> const & nodesToShift
)

function shiftNodesToEnd

cpp
void shiftNodesToEnd(
    std::vector< Ptr< CoreNode >> const & nodesToShift
)
void shiftNodesToEnd(
    std::vector< Ptr< CoreNode >> const & nodesToShift
)

function toggleSelectedNodesVisibility

cpp
void toggleSelectedNodesVisibility()
void toggleSelectedNodesVisibility()

function trackingInit

cpp
void trackingInit(
    Ptr< Sequence > sequence,
    std::vector< Ptr< Model >> models,
    bool isRightToLeft
)
void trackingInit(
    Ptr< Sequence > sequence,
    std::vector< Ptr< Model >> models,
    bool isRightToLeft
)

Precondition: sequence is not null.

function trackingJaggedLeft

cpp
void trackingJaggedLeft()
void trackingJaggedLeft()

function trackingJaggedRight

cpp
void trackingJaggedRight()
void trackingJaggedRight()

function trackingModeSwitch

cpp
void trackingModeSwitch()
void trackingModeSwitch()

function trackingSmoothLeft

cpp
void trackingSmoothLeft()
void trackingSmoothLeft()

function trackingSmoothRight

cpp
void trackingSmoothRight()
void trackingSmoothRight()

function trackingSwitch

cpp
void trackingSwitch()
void trackingSwitch()

function trackingSwitchOff

cpp
void trackingSwitchOff()
void trackingSwitchOff()

function trackingSwitchOn

cpp
void trackingSwitchOn(
    Ptr< Sequence > sequence =nullptr,
    bool isRightToLeft =true
)
void trackingSwitchOn(
    Ptr< Sequence > sequence =nullptr,
    bool isRightToLeft =true
)

function zoomToAll

cpp
void zoomToAll()
void zoomToAll()

function zoomToRectangle

cpp
void zoomToRectangle(
    ImRect const & rect
)
void zoomToRectangle(
    ImRect const & rect
)

function zoomToSelected

cpp
void zoomToSelected()
void zoomToSelected()

Public Attributes Documentation

variable copiedNodes

cpp
Memento * copiedNodes = nullptr;
Memento * copiedNodes = nullptr;

variable m_channelSplitter

cpp
ImDrawListSplitter m_channelSplitter;
ImDrawListSplitter m_channelSplitter;

variable m_coreIdMap

cpp
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_linksCameraToSequence

cpp
std::vector< CoreLink > m_linksCameraToSequence;
std::vector< CoreLink > m_linksCameraToSequence;

variable m_linksToDraw

cpp
std::vector< CoreLink * > m_linksToDraw;
std::vector< CoreLink * > m_linksToDraw;

variable m_reconnectCameraToSequence

cpp
bool m_reconnectCameraToSequence;
bool m_reconnectCameraToSequence;

variable m_trackingFromLeft

cpp
bool m_trackingFromLeft;
bool m_trackingFromLeft;

variable m_updateDataItemsWidth

cpp
bool m_updateDataItemsWidth;
bool m_updateDataItemsWidth;

Indicates a change in zoom level this frame.

variable m_viewportHighlightResolver

cpp
ViewportHighlightResolver m_viewportHighlightResolver;
ViewportHighlightResolver m_viewportHighlightResolver;

variable m_viewportLastSelectedEntity

cpp
Vp::Entity * m_viewportLastSelectedEntity {nullptr};
Vp::Entity * m_viewportLastSelectedEntity {nullptr};

variable m_viewportSelectionChanged

cpp
bool m_viewportSelectionChanged {false};
bool m_viewportSelectionChanged {false};

variable m_workspaceCoreNodes

cpp
std::vector< Ptr< CoreNode > > m_workspaceCoreNodes;
std::vector< Ptr< CoreNode > > m_workspaceCoreNodes;

All WorkspaceNodes.

Note: Nodes inside Sequences are not directly in this vector (they are in Sequence)

variable m_workspaceDiwneAction

cpp
WorkspaceDiwneAction m_workspaceDiwneAction;
WorkspaceDiwneAction m_workspaceDiwneAction;

variable m_workspaceDiwneActionPreviousFrame

cpp
WorkspaceDiwneAction m_workspaceDiwneActionPreviousFrame;
WorkspaceDiwneAction m_workspaceDiwneActionPreviousFrame;

variable smoothTracking

cpp
bool smoothTracking;
bool smoothTracking;

variable timeUntilNextTrack

cpp
float timeUntilNextTrack = 0;
float timeUntilNextTrack = 0;

variable tracking

cpp
Core::MatrixTracker * tracking;
Core::MatrixTracker * tracking;

Friends

friend Sequence::moveNodeToWorkspace

cpp
friend void Sequence::moveNodeToWorkspace(
    Ptr< CoreNode > node
);
friend void Sequence::moveNodeToWorkspace(
    Ptr< CoreNode > node
);

Updated on 2024-11-06 at 20:16:53 +0000