ezEngine  Release 25.03
ezVisualShaderNodeManager Class Reference
Inheritance diagram for ezVisualShaderNodeManager:

Public Member Functions

virtual bool InternalIsNode (const ezDocumentObject *pObject) const override
 
virtual void InternalCreatePins (const ezDocumentObject *pObject, NodeInternal &ref_node) override
 
virtual void GetNodeCreationTemplates (ezDynamicArray< ezNodeCreationTemplate > &out_templates) const override
 For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu. More...
 
virtual ezStatus InternalCanConnect (const ezPin &source, const ezPin &target, CanConnectResult &out_result) const override
 
- Public Member Functions inherited from ezDocumentNodeManager
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 ()
 

Private Member Functions

virtual ezStatus InternalCanAdd (const ezRTTI *pRtti, const ezDocumentObject *pParent, ezStringView sParentProperty, const ezVariant &index) const override
 

Additional Inherited Members

- Public Types inherited from ezDocumentNodeManager
enum  CanConnectResult {
  CanConnectResult::ConnectNever, CanConnectResult::Connect1to1, CanConnectResult::Connect1toN, CanConnectResult::ConnectNto1,
  CanConnectResult::ConnectNtoN
}
 
- Public Attributes inherited from ezDocumentNodeManager
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 inherited from ezDocumentNodeManager
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 Function Documentation

◆ GetNodeCreationTemplates()

void ezVisualShaderNodeManager::GetNodeCreationTemplates ( ezDynamicArray< ezNodeCreationTemplate > &  out_templates) const
overridevirtual

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

See also
ezNodeCreationTemplate

Reimplemented from ezDocumentNodeManager.

◆ InternalCanAdd()

ezStatus ezVisualShaderNodeManager::InternalCanAdd ( const ezRTTI pRtti,
const ezDocumentObject pParent,
ezStringView  sParentProperty,
const ezVariant index 
) const
overrideprivatevirtual
Todo:
This is an arbitrary limit and it does not count how many nodes reference the same texture

Reimplemented from ezDocumentObjectManager.


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