3#include <Foundation/Serialization/AbstractObjectGraph.h>
4#include <Foundation/Types/Status.h>
5#include <ToolsFoundation/Document/Document.h>
6#include <ToolsFoundation/Object/DocumentObjectManager.h>
17 BeforePinsDisonnected,
27 : m_EventType(eventType)
39 const plPin& GetSourcePin()
const {
return m_SourcePin; }
40 const plPin& GetTargetPin()
const {
return m_TargetPin; }
47 : m_SourcePin(sourcePin)
48 , m_TargetPin(targetPin)
53 const plPin& m_SourcePin;
54 const plPin& m_TargetPin;
86 Shape m_Shape = Shape::Default;
88 Type GetType()
const {
return m_Type; }
89 const char* GetName()
const {
return m_sName; }
117 const plRTTI* m_pType =
nullptr;
153 virtual const plRTTI* GetConnectionType()
const;
178 bool HasConnections(
const plPin& pin)
const;
179 bool IsConnected(
const plPin& source,
const plPin& target)
const;
181 plStatus CanConnect(
const plRTTI* pObjectType,
const plPin& source,
const plPin& target, CanConnectResult& ref_result)
const;
193 void GetMetaDataHash(
const plDocumentObject* pObject, plUInt64& inout_uiHash)
const;
202 bool WouldConnectionCreateCircle(
const plPin& source,
const plPin& target)
const;
220 virtual plStatus InternalCanConnect(
const plPin& source,
const plPin& target, CanConnectResult& out_Result)
const;
223 virtual void InternalCreatePins(
const plDocumentObject* pObject, NodeInternal& node) = 0;
Definition AbstractObjectGraph.h:115
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
A 8bit per channel unsigned normalized (values interpreted as 0-1) color storage format that represen...
Definition Color8UNorm.h:99
Definition DocumentNodeManager.h:37
Definition DocumentNodeManager.h:141
CanConnectResult
Definition DocumentNodeManager.h:165
Base class for all node connections. Derive from this class and overwrite plDocumentNodeManager::GetC...
Definition DocumentNodeManager.h:128
Definition DocumentObjectBase.h:11
Represents to content of a document. Every document has exactly one root object under which all objec...
Definition DocumentObjectManager.h:116
Definition DynamicArray.h:81
Definition HashTable.h:333
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition DocumentNodeManager.h:59
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
static constexpr plVec2Template< float > MakeZero()
Definition Vec2.h:49
Definition DocumentNodeManager.h:210
Definition DocumentNodeManager.h:12
Used by plDocumentObjectManager::m_ObjectEvents.
Definition DocumentObjectManager.h:100
Used by plDocumentObjectManager::m_PropertyEvents.
Definition DocumentObjectManager.h:77
Used by plDocumentObjectManager::m_StructureEvents.
Definition DocumentObjectManager.h:45
Describes a template that will be used to create new nodes. In most cases this only contains the type...
Definition DocumentNodeManager.h:116
Definition DocumentNodeManager.h:105
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
An plResult with an additional message for the reason of failure.
Definition Status.h:12