![]() |
ezEngine Release 26.3
|
#include <VisualGraphObjectManager.h>

Classes | |
| struct | NodeInternal |
Public Types | |
| enum class | CanConnectResult { ConnectNever , Connect1to1 , Connect1toN , ConnectNto1 , ConnectNtoN } |
| Specifies how many connections are allowed for a pair of pins. More... | |
Public Member Functions | |
| virtual void | GetNodeCreationTemplates (ezDynamicArray< ezVisualGraphNodeDesc > &out_templates) const |
| For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu. | |
| virtual const ezRTTI * | GetConnectionType () const |
| ezVec2 | GetNodePos (const ezDocumentObject *pObject) const |
| const ezVisualGraphConnection & | GetConnection (const ezDocumentObject *pObject) const |
| const ezVisualGraphConnection * | GetConnectionIfExists (const ezDocumentObject *pObject) const |
| const ezVisualGraphPin * | GetInputPinByName (const ezDocumentObject *pObject, ezStringView sName) const |
| const ezVisualGraphPin * | GetOutputPinByName (const ezDocumentObject *pObject, ezStringView sName) const |
| ezArrayPtr< const ezUniquePtr< const ezVisualGraphPin > > | GetInputPins (const ezDocumentObject *pObject) const |
| ezArrayPtr< const ezUniquePtr< const ezVisualGraphPin > > | GetOutputPins (const ezDocumentObject *pObject) const |
| bool | IsNode (const ezDocumentObject *pObject) const |
| bool | IsConnection (const ezDocumentObject *pObject) const |
| bool | IsDynamicPinProperty (const ezDocumentObject *pObject, const ezAbstractProperty *pProp) const |
| ezArrayPtr< const ezVisualGraphConnection *const > | GetConnections (const ezVisualGraphPin &pin) const |
| bool | HasConnections (const ezVisualGraphPin &pin) const |
| bool | IsConnected (const ezVisualGraphPin &source, const ezVisualGraphPin &target) const |
| ezStatus | CanConnect (const ezRTTI *pObjectType, const ezVisualGraphPin &source, const ezVisualGraphPin &target, CanConnectResult &ref_result) const |
| ezStatus | CanDisconnect (const ezVisualGraphConnection *pConnection) const |
| ezStatus | CanDisconnect (const ezDocumentObject *pObject) const |
| ezStatus | CanMoveNode (const ezDocumentObject *pObject, const ezVec2 &vPos) const |
| void | Connect (const ezDocumentObject *pObject, const ezVisualGraphPin &source, const ezVisualGraphPin &target) |
| void | Disconnect (const ezDocumentObject *pObject) |
| void | MoveNode (const ezDocumentObject *pObject, const ezVec2 &vPos) |
| void | AttachMetaDataBeforeSaving (ezAbstractObjectGraph &ref_graph) const |
| void | RestoreMetaDataAfterLoading (const ezAbstractObjectGraph &graph, bool bUndoable) |
| void | GetMetaDataHash (const ezDocumentObject *pObject, ezUInt64 &inout_uiHash) const |
| bool | CopySelectedObjects (ezAbstractObjectGraph &out_objectGraph) const |
| bool | PasteObjects (const ezArrayPtr< ezDocument::PasteInfo > &info, const ezAbstractObjectGraph &objectGraph, const ezVec2 &vPickedPosition, bool bAllowPickedPosition) |
Public Member Functions inherited from ezDocumentObjectManager | |
| ezDocumentObjectManager (const ezRTTI *pRootType=ezDocumentRoot::GetStaticRTTI()) | |
| void | SetDocument (ezDocument *pDocument) |
| ezDocumentObject * | CreateObject (const ezRTTI *pRtti, ezUuid guid=ezUuid()) |
| void | DestroyObject (ezDocumentObject *pObject) |
| virtual void | DestroyAllObjects () |
| virtual void | GetCreateableTypes (ezHybridArray< const ezRTTI *, 32 > &ref_types) const |
| void | PatchEmbeddedClassObjects (const ezDocumentObject *pObject) const |
| const ezDocumentObject * | GetRootObject () const |
| ezDocumentObject * | GetRootObject () |
| const ezDocumentObject * | GetObject (const ezUuid &guid) const |
| ezDocumentObject * | GetObject (const ezUuid &guid) |
| const ezDocument * | GetDocument () const |
| ezDocument * | GetDocument () |
| ezStatus | SetValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &newValue, ezVariant index=ezVariant()) |
| ezStatus | InsertValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &newValue, ezVariant index=ezVariant()) |
| ezStatus | RemoveValue (ezDocumentObject *pObject, ezStringView sProperty, ezVariant index=ezVariant()) |
| ezStatus | MoveValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &oldIndex, const ezVariant &newIndex) |
| void | AddObject (ezDocumentObject *pObject, ezDocumentObject *pParent, ezStringView sParentProperty, ezVariant index) |
| void | RemoveObject (ezDocumentObject *pObject) |
| void | MoveObject (ezDocumentObject *pObject, ezDocumentObject *pNewParent, ezStringView sParentProperty, ezVariant index) |
| ezStatus | CanAdd (const ezRTTI *pRtti, const ezDocumentObject *pParent, ezStringView sParentProperty, const ezVariant &index) const |
| ezStatus | CanRemove (const ezDocumentObject *pObject) const |
| ezStatus | CanMove (const ezDocumentObject *pObject, const ezDocumentObject *pNewParent, ezStringView sParentProperty, const ezVariant &index) const |
| ezStatus | CanSelect (const ezDocumentObject *pObject) const |
| bool | IsUnderRootProperty (ezStringView sRootProperty, const ezDocumentObject *pObject) const |
| bool | IsUnderRootProperty (ezStringView sRootProperty, const ezDocumentObject *pParent, ezStringView sParentProperty) const |
| bool | IsTemporary (const ezDocumentObject *pObject) const |
| bool | IsTemporary (const ezDocumentObject *pParent, ezStringView sParentProperty) const |
| ezSharedPtr< ezDocumentObjectManager::Storage > | SwapStorage (ezSharedPtr< ezDocumentObjectManager::Storage > pNewStorage) |
| ezSharedPtr< ezDocumentObjectManager::Storage > | GetStorage () |
Public Attributes | |
| ezEvent< const ezVisualGraphObjectManagerEvent & > | m_NodeEvents |
Public Attributes inherited from ezDocumentObjectManager | |
| ezCopyOnBroadcastEvent< const ezDocumentObjectStructureEvent & > | m_StructureEvents |
| ezCopyOnBroadcastEvent< const ezDocumentObjectPropertyEvent & > | m_PropertyEvents |
| ezEvent< const ezDocumentObjectEvent & > | m_ObjectEvents |
Protected Member Functions | |
| bool | CanReachNode (const ezDocumentObject *pSource, const ezDocumentObject *pTarget, ezSet< const ezDocumentObject * > &Visited) const |
| Tests whether pTarget can be reached from pSource by following the pin connections. | |
| bool | WouldConnectionCreateCircle (const ezVisualGraphPin &source, const ezVisualGraphPin &target) const |
| Returns true if adding a connection between the two pins would create a circular graph. | |
| ezResult | ResolveConnection (const ezUuid &sourceObject, const ezUuid &targetObject, ezStringView sourcePin, ezStringView targetPin, const ezVisualGraphPin *&out_pSourcePin, const ezVisualGraphPin *&out_pTargetPin) const |
| virtual void | GetDynamicPinNames (const ezDocumentObject *pObject, ezStringView sPropertyName, ezStringView sPinName, ezDynamicArray< ezString > &out_Names) const |
| virtual bool | TryRecreatePins (const ezDocumentObject *pObject) |
Document object manager for node-based visual graphs.
This base class manages the document-side representation of visual graphs, including nodes, pins, and connections. It handles node creation, pin management, connection validation, and provides events for graph changes. Derive from this class to implement specific graph types such as visual shaders, state machines, or visual scripts. The visual representation is handled separately by ezQtVisualGraphScene.
|
strong |
Specifies how many connections are allowed for a pair of pins.
|
virtual |
For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu.
Reimplemented in ezVisualShaderNodeManager, and ezVisualScriptNodeManager.