ezEngine  Release 25.03
ezDocumentNodeManager Class Referenceabstract
Inheritance diagram for ezDocumentNodeManager:

Classes

struct  NodeInternal
 

Public Types

enum  CanConnectResult {
  CanConnectResult::ConnectNever, CanConnectResult::Connect1to1, CanConnectResult::Connect1toN, CanConnectResult::ConnectNto1,
  CanConnectResult::ConnectNtoN
}
 

Public Member Functions

virtual void GetNodeCreationTemplates (ezDynamicArray< ezNodeCreationTemplate > &out_templates) const
 For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu. More...
 
virtual const ezRTTIGetConnectionType () const
 
ezVec2 GetNodePos (const ezDocumentObject *pObject) const
 
const ezConnectionGetConnection (const ezDocumentObject *pObject) const
 
const ezConnectionGetConnectionIfExists (const ezDocumentObject *pObject) const
 
const ezPinGetInputPinByName (const ezDocumentObject *pObject, ezStringView sName) const
 
const ezPinGetOutputPinByName (const ezDocumentObject *pObject, ezStringView sName) const
 
ezArrayPtr< const ezUniquePtr< const ezPin > > GetInputPins (const ezDocumentObject *pObject) const
 
ezArrayPtr< const ezUniquePtr< const ezPin > > 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 ezConnection *const > GetConnections (const ezPin &pin) const
 
bool HasConnections (const ezPin &pin) const
 
bool IsConnected (const ezPin &source, const ezPin &target) const
 
ezStatus CanConnect (const ezRTTI *pObjectType, const ezPin &source, const ezPin &target, CanConnectResult &ref_result) const
 
ezStatus CanDisconnect (const ezConnection *pConnection) const
 
ezStatus CanDisconnect (const ezDocumentObject *pObject) const
 
ezStatus CanMoveNode (const ezDocumentObject *pObject, const ezVec2 &vPos) const
 
void Connect (const ezDocumentObject *pObject, const ezPin &source, const ezPin &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)
 
ezDocumentObjectCreateObject (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 ezDocumentObjectGetRootObject () const
 
ezDocumentObjectGetRootObject ()
 
const ezDocumentObjectGetObject (const ezUuid &guid) const
 
ezDocumentObjectGetObject (const ezUuid &guid)
 
const ezDocumentGetDocument () const
 
ezDocumentGetDocument ()
 
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::StorageSwapStorage (ezSharedPtr< ezDocumentObjectManager::Storage > pNewStorage)
 
ezSharedPtr< ezDocumentObjectManager::StorageGetStorage ()
 

Public Attributes

ezEvent< const ezDocumentNodeManagerEvent & > 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 ezPin &source, const ezPin &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 ezPin *&out_pSourcePin, const ezPin *&out_pTargetPin) const
 
virtual void GetDynamicPinNames (const ezDocumentObject *pObject, ezStringView sPropertyName, ezStringView sPinName, ezDynamicArray< ezString > &out_Names) const
 
virtual bool TryRecreatePins (const ezDocumentObject *pObject)
 

Member Enumeration Documentation

◆ CanConnectResult

Enumerator
ConnectNever 

Pins can't be connected.

Connect1to1 

Output pin can have 1 outgoing connection, Input pin can have 1 incoming connection.

Connect1toN 

Output pin can have 1 outgoing connection, Input pin can have N incoming connections.

ConnectNto1 

Output pin can have N outgoing connections, Input pin can have 1 incoming connection.

ConnectNtoN 

Output pin can have N outgoing connections, Input pin can have N incoming connections.

Member Function Documentation

◆ GetNodeCreationTemplates()

void ezDocumentNodeManager::GetNodeCreationTemplates ( ezDynamicArray< ezNodeCreationTemplate > &  out_templates) const
virtual

For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu.

See also
ezNodeCreationTemplate

Reimplemented in ezVisualScriptNodeManager, and ezVisualShaderNodeManager.


The documentation for this class was generated from the following files: