Plasma Engine  2.0
Loading...
Searching...
No Matches
plVisualShaderNodeManager Class Reference
Inheritance diagram for plVisualShaderNodeManager:

Public Member Functions

virtual bool InternalIsNode (const plDocumentObject *pObject) const override
 
virtual void InternalCreatePins (const plDocumentObject *pObject, NodeInternal &ref_node) override
 
virtual void GetNodeCreationTemplates (plDynamicArray< plNodeCreationTemplate > &out_templates) const override
 For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu.
 
virtual plStatus InternalCanConnect (const plPin &source, const plPin &target, CanConnectResult &out_result) const override
 
- Public Member Functions inherited from plDocumentNodeManager
virtual const plRTTIGetConnectionType () const
 
plVec2 GetNodePos (const plDocumentObject *pObject) const
 
const plConnectionGetConnection (const plDocumentObject *pObject) const
 
const plConnectionGetConnectionIfExists (const plDocumentObject *pObject) const
 
const plPinGetInputPinByName (const plDocumentObject *pObject, plStringView sName) const
 
const plPinGetOutputPinByName (const plDocumentObject *pObject, plStringView sName) const
 
plArrayPtr< const plUniquePtr< const plPin > > GetInputPins (const plDocumentObject *pObject) const
 
plArrayPtr< const plUniquePtr< const plPin > > GetOutputPins (const plDocumentObject *pObject) const
 
bool IsNode (const plDocumentObject *pObject) const
 
bool IsConnection (const plDocumentObject *pObject) const
 
bool IsDynamicPinProperty (const plDocumentObject *pObject, const plAbstractProperty *pProp) const
 
plArrayPtr< const plConnection *const > GetConnections (const plPin &pin) const
 
bool HasConnections (const plPin &pin) const
 
bool IsConnected (const plPin &source, const plPin &target) const
 
plStatus CanConnect (const plRTTI *pObjectType, const plPin &source, const plPin &target, CanConnectResult &ref_result) const
 
plStatus CanDisconnect (const plConnection *pConnection) const
 
plStatus CanDisconnect (const plDocumentObject *pObject) const
 
plStatus CanMoveNode (const plDocumentObject *pObject, const plVec2 &vPos) const
 
void Connect (const plDocumentObject *pObject, const plPin &source, const plPin &target)
 
void Disconnect (const plDocumentObject *pObject)
 
void MoveNode (const plDocumentObject *pObject, const plVec2 &vPos)
 
void AttachMetaDataBeforeSaving (plAbstractObjectGraph &ref_graph) const
 
void RestoreMetaDataAfterLoading (const plAbstractObjectGraph &graph, bool bUndoable)
 
void GetMetaDataHash (const plDocumentObject *pObject, plUInt64 &inout_uiHash) const
 
bool CopySelectedObjects (plAbstractObjectGraph &out_objectGraph) const
 
bool PasteObjects (const plArrayPtr< plDocument::PasteInfo > &info, const plAbstractObjectGraph &objectGraph, const plVec2 &vPickedPosition, bool bAllowPickedPosition)
 
- Public Member Functions inherited from plDocumentObjectManager
 plDocumentObjectManager (const plRTTI *pRootType=plDocumentRoot::GetStaticRTTI())
 
void SetDocument (plDocument *pDocument)
 
plDocumentObjectCreateObject (const plRTTI *pRtti, plUuid guid=plUuid())
 
void DestroyObject (plDocumentObject *pObject)
 
virtual void DestroyAllObjects ()
 
virtual void GetCreateableTypes (plHybridArray< const plRTTI *, 32 > &ref_types) const
 
void PatchEmbeddedClassObjects (const plDocumentObject *pObject) const
 
const plDocumentObjectGetRootObject () const
 
plDocumentObjectGetRootObject ()
 
const plDocumentObjectGetObject (const plUuid &guid) const
 
plDocumentObjectGetObject (const plUuid &guid)
 
const plDocumentGetDocument () const
 
plDocumentGetDocument ()
 
plStatus SetValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &newValue, plVariant index=plVariant())
 
plStatus InsertValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &newValue, plVariant index=plVariant())
 
plStatus RemoveValue (plDocumentObject *pObject, plStringView sProperty, plVariant index=plVariant())
 
plStatus MoveValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &oldIndex, const plVariant &newIndex)
 
void AddObject (plDocumentObject *pObject, plDocumentObject *pParent, plStringView sParentProperty, plVariant index)
 
void RemoveObject (plDocumentObject *pObject)
 
void MoveObject (plDocumentObject *pObject, plDocumentObject *pNewParent, plStringView sParentProperty, plVariant index)
 
plStatus CanAdd (const plRTTI *pRtti, const plDocumentObject *pParent, plStringView sParentProperty, const plVariant &index) const
 
plStatus CanRemove (const plDocumentObject *pObject) const
 
plStatus CanMove (const plDocumentObject *pObject, const plDocumentObject *pNewParent, plStringView sParentProperty, const plVariant &index) const
 
plStatus CanSelect (const plDocumentObject *pObject) const
 
bool IsUnderRootProperty (plStringView sRootProperty, const plDocumentObject *pObject) const
 
bool IsUnderRootProperty (plStringView sRootProperty, const plDocumentObject *pParent, plStringView sParentProperty) const
 
bool IsTemporary (const plDocumentObject *pObject) const
 
bool IsTemporary (const plDocumentObject *pParent, plStringView sParentProperty) const
 
plSharedPtr< plDocumentObjectManager::StorageSwapStorage (plSharedPtr< plDocumentObjectManager::Storage > pNewStorage)
 
plSharedPtr< plDocumentObjectManager::StorageGetStorage ()
 

Private Member Functions

virtual plStatus InternalCanAdd (const plRTTI *pRtti, const plDocumentObject *pParent, plStringView sParentProperty, const plVariant &index) const override
 

Additional Inherited Members

- Public Types inherited from plDocumentNodeManager
enum class  CanConnectResult {
  ConnectNever , Connect1to1 , Connect1toN , ConnectNto1 ,
  ConnectNtoN
}
 
- Public Attributes inherited from plDocumentNodeManager
plEvent< const plDocumentNodeManagerEvent & > m_NodeEvents
 
- Public Attributes inherited from plDocumentObjectManager
plCopyOnBroadcastEvent< const plDocumentObjectStructureEvent & > m_StructureEvents
 
plCopyOnBroadcastEvent< const plDocumentObjectPropertyEvent & > m_PropertyEvents
 
plEvent< const plDocumentObjectEvent & > m_ObjectEvents
 
- Protected Member Functions inherited from plDocumentNodeManager
bool CanReachNode (const plDocumentObject *pSource, const plDocumentObject *pTarget, plSet< const plDocumentObject * > &Visited) const
 Tests whether pTarget can be reached from pSource by following the pin connections.
 
bool WouldConnectionCreateCircle (const plPin &source, const plPin &target) const
 Returns true if adding a connection between the two pins would create a circular graph.
 
plResult ResolveConnection (const plUuid &sourceObject, const plUuid &targetObject, plStringView sourcePin, plStringView targetPin, const plPin *&out_pSourcePin, const plPin *&out_pTargetPin) const
 
virtual void GetDynamicPinNames (const plDocumentObject *pObject, plStringView sPropertyName, plStringView sPinName, plDynamicArray< plString > &out_Names) const
 
virtual bool TryRecreatePins (const plDocumentObject *pObject)
 

Member Function Documentation

◆ GetNodeCreationTemplates()

void plVisualShaderNodeManager::GetNodeCreationTemplates ( plDynamicArray< plNodeCreationTemplate > & 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
plNodeCreationTemplate

Reimplemented from plDocumentNodeManager.

◆ InternalCanAdd()

plStatus plVisualShaderNodeManager::InternalCanAdd ( const plRTTI * pRtti,
const plDocumentObject * pParent,
plStringView sParentProperty,
const plVariant & index ) const
overrideprivatevirtual
Todo
This is an arbitrary limit and it does not count how many nodes reference the same texture

Reimplemented from plDocumentObjectManager.

◆ InternalCanConnect()

plStatus plVisualShaderNodeManager::InternalCanConnect ( const plPin & source,
const plPin & target,
CanConnectResult & out_result ) const
overridevirtual

Reimplemented from plDocumentNodeManager.

◆ InternalCreatePins()

void plVisualShaderNodeManager::InternalCreatePins ( const plDocumentObject * pObject,
NodeInternal & ref_node )
overridevirtual

Implements plDocumentNodeManager.

◆ InternalIsNode()

bool plVisualShaderNodeManager::InternalIsNode ( const plDocumentObject * pObject) const
overridevirtual

Reimplemented from plDocumentNodeManager.


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