Skip to content

Workspace::TransformationBase

#include "GUI/Workspace/Nodes/TransformationBase.h"

Inherits from Workspace::CoreNode, Workspace::Node, IVisitable, DIWNE::Node, DIWNE::DiwneObject, std::enable_shared_from_this< DiwneObject >

Inherited by Workspace::Transformation< T >

Public Functions

Name
TransformationBase(DIWNE::Diwne & diwne, Ptr< Core::Node > nodebase)
virtual voidaccept(NodeVisitor & visitor) override
virtual boolafterContent() override
virtual boolallowDrawing() override<br>Decision maker whether object should be drawn (not outside of window for example)
virtual boolbeforeBegin() override
virtual boolbeforeContent() override
virtual voiddeleteAction() override
virtual booldrawDataFull()
virtual booldrawDataSetValues()
virtual booldrawDataSetValues_InsideTablebuilder(std::vector< std::string > const & labels, std::vector< float * > const & local_data, bool & value_changed)
virtual booldrawDataSetValuesTable_builder(std::string const cornerLabel, std::vector< std::string > const & columnLabels, std::vector< std::string > const & rowLabels, std::vector< float * > const & local_data, bool & value_changed, int & index_of_change)
virtual voiddrawMenuDelete() override
virtual voiddrawMenuLevelOfDetail() override =0
virtual voiddrawMenuSetDataMap()<br>{return true;}; // todo = 0
voiddrawMenuStorevalues()
std::vector< ImVec2 >getInteractionPointsWithSequence()
Ptr< Core::Node >getNodebaseSequence()
boolgetRemoveFromSequence() const
boolisInSequence()
virtual boolisMatrixValid() =0<br>helper function used for decision about showing the corrupted transform flag in topContent().
virtual intmaxLengthOfData() override
virtual boolmiddleContent() override
virtual voidpopupContent() override<br>Content of popup menu raise on this object.
voidsetRemoveFromSequence(bool value)
virtual booltopContent() override
virtual voidupdateSizes() override

Public Attributes

Name
DIWNE::IDaboveSequence
WPtr< Sequence >m_parentSequence
boolm_removeFromSequence
floatm_topOversizeSpace

Additional inherited members

Public Functions inherited from Workspace::CoreNode

Name
CoreNode(DIWNE::Diwne & diwne, Ptr< Core::Node > nodebase)
~CoreNode() override
booldrawDataLabel()
voiddrawMenuDuplicate()
voiddrawMenuSetEditable()
voiddrawMenuSetPrecision()
floatgetDataItemsWidth()
FloatPopupMode &getFloatPopupMode()
boolgetIsLabelBeingEdited()
LevelOfDetailgetLevelOfDetail()
Ptr< Core::Node > constgetNodebase() const
intgetNumberOfVisibleDecimal()
virtual boolprocessDrag() override
virtual boolprocessSelect() override
virtual boolprocessUnselect() override
voidsetFloatPopupMode(FloatPopupMode mode)
LevelOfDetailsetLevelOfDetail(LevelOfDetail levelOfDetail)
virtual voidsetNumberOfVisibleDecimal(int value)
virtual floatupdateDataItemsWidth()
voiddrawMenuLevelOfDetail_builder(Ptr< CoreNode > node, std::vector< LevelOfDetail > const & levels_of_detail)

Protected Attributes inherited from Workspace::CoreNode

Name
floatm_dataItemsWidth
FloatPopupModem_floatPopupMode
floatm_headerMinWidth <br>Can be used to specify the minimum header width of the node.
boolm_isFirstDraw
boolm_isLabelBeingEdited
LevelOfDetailm_levelOfDetail
Ptr< Core::Node > constm_nodebase <br>reference to Core
intm_numberOfVisibleDecimal <br>number of decimal places used while display floats in the workspace

Public Functions inherited from Workspace::Node

Name
Node(DIWNE::Diwne & diwne, DIWNE::ID id, std::string const topLabel ="Header", std::string const middleLabel ="Content")
virtual~Node()<br>Default destructor.
virtual boolbottomContent() override
virtual boolbypassFocusForInteractionAction() override
boolgetDuplicateNode() const
std::stringgetMiddleLabel()
boolgetRemoveFromWorkspace() const
std::stringgetTopLabel()
virtual boolleftContent() override
virtual boolrightContent() override
voidsetDuplicateNode(bool value)
voidsetMiddleLabel(std::string label)
voidsetRemoveFromWorkspace(bool value)
voidsetTopLabel(std::string label)

Public Attributes inherited from Workspace::Node

Name
boolm_duplicateNode
boolm_removeFromWorkspaceWindow

Protected Attributes inherited from Workspace::Node

Name
std::stringm_middleLabel
std::stringm_topLabel

Public Functions inherited from DIWNE::Node

Name
Node(DIWNE::Diwne & diwne, DIWNE::ID id, std::string const labelDiwne ="DiwneNode")<br>Default constructor.
virtual~Node()<br>Default destructor.
virtual boolafterEndDiwne() override
virtual boolbeforeBeginDiwne() override
virtual voidbegin() override
virtual boolbottomContent()
boolbottomContentDiwne()
virtual boolcontent() override
voiddeleteActionDiwne()
template <typename T &gt; <br>booldrawNodeDiwne(DrawModeNodePosition nodePosMode =DrawModeNodePosition::OnItsPosition, DrawMode drawMode =DrawMode::Interacting)
virtual voidend() override
virtual DIWNE::DiwneActiongetDragActionType() const
virtual DIWNE::DiwneActiongetHoldActionType() const
DIWNE::ID constgetId() const
ImVec2getNodePositionDiwne() const
ImRectgetNodeRectDiwne() const
ImVec2getNodeRectSizeDiwne() const
virtual ImRectgetRectDiwne() const override
boolgetRender() const
virtual DIWNE::DiwneActiongetTouchActionType() const
virtual boolleftContent()
boolleftContentDiwne()
boolmiddleContentDiwne()
Node &operator=(const Node & other)<br>Assignment operator.
virtual boolprocessDrag() override
virtual boolprocessSelect() override
virtual boolprocessUnselect() override
virtual boolrightContent()
boolrightContentDiwne()
voidsetNodePositionDiwne(ImVec2 const & position)
voidsetRender(bool render)
virtual boolsetSelected(const bool selected) override
booltopContentDiwne()
voidtranslateNodePositionDiwne(ImVec2 const amount)

Public Attributes inherited from DIWNE::Node

Name
boolm_drawAnyway

Protected Attributes inherited from DIWNE::Node

Name
ImRectm_bottomRectDiwne
floatm_centerDummySpace <br>indent value to center the middle part
ImRectm_leftRectDiwne
ImRectm_middleRectDiwne
ImVec2m_nodePositionDiwne
DrawModeNodePositionm_nodePosMode
boolm_render <br>used to hide nodes in tutorial scenes (action "toggleNodeWorkspaceVisibility")
ImRectm_rightRectDiwne
boolm_toDelete <br>Set to true after node delete action.
ImRectm_topRectDiwne <br>Rectangle of parts of node in diwne, are computed every frame based on node content and m_nodePositionDiwne.

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 boolafterEnd()
virtual boolafterEndDiwne()
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 boolbypassDragAction()
virtual boolbypassFocusAction()
virtual boolbypassFocusForInteractionAction()
virtual boolbypassHoldAction()
virtual boolbypassRaisePopupAction()
virtual boolbypassSelectAction()
virtual boolbypassTouchAction()
virtual boolbypassUnholdAction()
virtual boolbypassUnselectAction()
virtual boolcontent()
virtual boolcontentDiwne()
virtual booldrawDiwne(DrawMode drawMode =DrawMode::Interacting)<br>Main function for drawing object and deal with interactions.
virtual voidend() =0
virtual boolfinalize()
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.

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 TransformationBase

cpp
TransformationBase(
    DIWNE::Diwne & diwne,
    Ptr< Core::Node > nodebase
)
TransformationBase(
    DIWNE::Diwne & diwne,
    Ptr< Core::Node > nodebase
)

function accept

cpp
inline virtual void accept(
    NodeVisitor & visitor
) override
inline virtual void accept(
    NodeVisitor & visitor
) override

Reimplements: IVisitable::accept

function afterContent

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

Reimplements: DIWNE::DiwneObject::afterContent

is called as last inside object

function allowDrawing

cpp
virtual bool allowDrawing() override
virtual bool allowDrawing() override

Decision maker whether object should be drawn (not outside of window for example)

Return: draw object on its position?

Reimplements: DIWNE::Node::allowDrawing

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: Workspace::Node::beforeContent

is called first inside of object

function deleteAction

cpp
virtual void deleteAction() override
virtual void deleteAction() override

Reimplements: Workspace::Node::deleteAction

function drawDataFull

cpp
virtual bool drawDataFull()
virtual bool drawDataFull()

Todosee #111

function drawDataSetValues

cpp
inline virtual bool drawDataSetValues()
inline virtual bool drawDataSetValues()

Reimplemented by: Workspace::Transformation::drawDataSetValues, Workspace::Transformation::drawDataSetValues, Workspace::Transformation::drawDataSetValues

function drawDataSetValues_InsideTablebuilder

cpp
virtual bool drawDataSetValues_InsideTablebuilder(
    std::vector< std::string > const & labels,
    std::vector< float * > const & local_data,
    bool & value_changed
)
virtual bool drawDataSetValues_InsideTablebuilder(
    std::vector< std::string > const & labels,
    std::vector< float * > const & local_data,
    bool & value_changed
)

function drawDataSetValuesTable_builder

cpp
virtual bool drawDataSetValuesTable_builder(
    std::string const cornerLabel,
    std::vector< std::string > const & columnLabels,
    std::vector< std::string > const & rowLabels,
    std::vector< float * > const & local_data,
    bool & value_changed,
    int & index_of_change
)
virtual bool drawDataSetValuesTable_builder(
    std::string const cornerLabel,
    std::vector< std::string > const & columnLabels,
    std::vector< std::string > const & rowLabels,
    std::vector< float * > const & local_data,
    bool & value_changed,
    int & index_of_change
)

function drawMenuDelete

cpp
virtual void drawMenuDelete() override
virtual void drawMenuDelete() override

Reimplements: Workspace::Node::drawMenuDelete

function drawMenuLevelOfDetail

cpp
virtual void drawMenuLevelOfDetail() override =0
virtual void drawMenuLevelOfDetail() override =0

Reimplements: Workspace::CoreNode::drawMenuLevelOfDetail

Reimplemented by: Workspace::Transformation::drawMenuLevelOfDetail

function drawMenuSetDataMap

cpp
virtual void drawMenuSetDataMap()
virtual void drawMenuSetDataMap()

{return true;}; // todo = 0

Reimplemented by: Workspace::Transformation::drawMenuSetDataMap, Workspace::Transformation::drawMenuSetDataMap, Workspace::Transformation::drawMenuSetDataMap, Workspace::Transformation::drawMenuSetDataMap, Workspace::Transformation::drawMenuSetDataMap, Workspace::Transformation::drawMenuSetDataMap

used for translate, axisAngle, lookAt, and perspective

function drawMenuStorevalues

cpp
void drawMenuStorevalues()
void drawMenuStorevalues()

function getInteractionPointsWithSequence

cpp
std::vector< ImVec2 > getInteractionPointsWithSequence()
std::vector< ImVec2 > getInteractionPointsWithSequence()

function getNodebaseSequence

cpp
Ptr< Core::Node > getNodebaseSequence()
Ptr< Core::Node > getNodebaseSequence()

function getRemoveFromSequence

cpp
inline bool getRemoveFromSequence() const
inline bool getRemoveFromSequence() const

function isInSequence

cpp
bool isInSequence()
bool isInSequence()

function isMatrixValid

cpp
virtual bool isMatrixValid() =0
virtual bool isMatrixValid() =0

helper function used for decision about showing the corrupted transform flag in topContent().

Return: Core::ETransformState:: Valid, Invalid, or Unknown

Reimplemented by: Workspace::Transformation::isMatrixValid

Overriden in WorkspaceTransformation_s.h

function maxLengthOfData

cpp
virtual int maxLengthOfData() override
virtual int maxLengthOfData() override

Reimplements: Workspace::CoreNode::maxLengthOfData

Reimplemented by: Workspace::Transformation::maxLengthOfData

function middleContent

cpp
virtual bool middleContent() override
virtual bool middleContent() override

Reimplements: Workspace::Node::middleContent

function popupContent

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

Content of popup menu raise on this object.

Reimplements: Workspace::CoreNode::popupContent

function setRemoveFromSequence

cpp
inline void setRemoveFromSequence(
    bool value
)
inline void setRemoveFromSequence(
    bool value
)

function topContent

cpp
virtual bool topContent() override
virtual bool topContent() override

Reimplements: Workspace::CoreNode::topContent

function updateSizes

cpp
virtual void updateSizes() override
virtual void updateSizes() override

Reimplements: DIWNE::Node::updateSizes

store object size and position after this frame

Public Attributes Documentation

variable aboveSequence

cpp
DIWNE::ID aboveSequence;
DIWNE::ID aboveSequence;

variable m_parentSequence

cpp
WPtr< Sequence > m_parentSequence {};
WPtr< Sequence > m_parentSequence {};

variable m_removeFromSequence

cpp
bool m_removeFromSequence;
bool m_removeFromSequence;

variable m_topOversizeSpace

cpp
float m_topOversizeSpace;
float m_topOversizeSpace;

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