Plasma Engine  2.0
Loading...
Searching...
No Matches
RenderPipelineAsset.h
1#pragma once
2
3#include <EditorFramework/Assets/AssetDocument.h>
4#include <ToolsFoundation/NodeObject/DocumentNodeManager.h>
5
7{
8public:
9 virtual bool InternalIsNode(const plDocumentObject* pObject) const override;
10 virtual void InternalCreatePins(const plDocumentObject* pObject, NodeInternal& ref_node) override;
11 virtual void GetCreateableTypes(plHybridArray<const plRTTI*, 32>& ref_types) const override;
12
13 virtual plStatus InternalCanConnect(const plPin& source, const plPin& target, CanConnectResult& out_result) const override;
14};
15
17{
18 PL_ADD_DYNAMIC_REFLECTION(plRenderPipelineAssetDocument, plAssetDocument);
19
20public:
23
24protected:
25 virtual plTransformStatus InternalTransformAsset(const char* szTargetFile, plStringView sOutputTag, const plPlatformProfile* pAssetProfile,
26 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
27 virtual plTransformStatus InternalTransformAsset(plStreamWriter& stream, plStringView sOutputTag, const plPlatformProfile* pAssetProfile,
28 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
29
30 virtual void GetSupportedMimeTypesForPasting(plHybridArray<plString, 4>& out_MimeTypes) const override;
31 virtual bool CopySelectedObjects(plAbstractObjectGraph& out_objectGraph, plStringBuilder& out_MimeType) const override;
32 virtual bool Paste(
33 const plArrayPtr<PasteInfo>& info, const plAbstractObjectGraph& objectGraph, bool bAllowPickedPosition, plStringView sMimeType) override;
34
35 virtual void InternalGetMetaDataHash(const plDocumentObject* pObject, plUInt64& inout_uiHash) const override;
36 virtual void AttachMetaDataBeforeSaving(plAbstractObjectGraph& graph) const override;
37 virtual void RestoreMetaDataAfterLoading(const plAbstractObjectGraph& graph, bool bUndoable) override;
38};
Definition AbstractObjectGraph.h:115
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition AssetDocument.h:42
Simple class to handle asset file headers (the very first bytes in all transformed asset files)
Definition AssetFileHeader.h:8
Definition DocumentNodeManager.h:141
CanConnectResult
Definition DocumentNodeManager.h:165
Definition DocumentObjectBase.h:11
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition DocumentNodeManager.h:59
Definition PlatformProfile.h:25
Definition RenderPipelineAsset.h:17
virtual plTransformStatus InternalTransformAsset(const char *szTargetFile, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) override
Only override this function, if the transformed file for the given szOutputTag must be written from a...
Definition RenderPipelineAsset.cpp:105
virtual void GetSupportedMimeTypesForPasting(plHybridArray< plString, 4 > &out_MimeTypes) const override
Whether this document supports pasting the given mime format into it.
Definition RenderPipelineAsset.cpp:139
virtual void InternalGetMetaDataHash(const plDocumentObject *pObject, plUInt64 &inout_uiHash) const override
Computes the hash for transform relevant meta data of the given document object and combines it with ...
Definition RenderPipelineAsset.cpp:117
virtual bool CopySelectedObjects(plAbstractObjectGraph &out_objectGraph, plStringBuilder &out_MimeType) const override
Creates the abstract graph of data to be copied and returns the mime type for the clipboard to identi...
Definition RenderPipelineAsset.cpp:144
Definition RenderPipelineAsset.h:7
Interface for binary out (write) streams.
Definition Stream.h:107
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition DocumentNodeManager.h:210
An plResult with an additional message for the reason of failure.
Definition Status.h:12
Definition Declarations.h:114