Files
alexei lebedev 2815323fbc [mutable] Moved the Mutable plugin out of Experimental status into Beta.
#jira UE-223488
#rb jordi.rovira
#tests Editor
#rnx

#virtualized

[CL 36035608 by alexei lebedev in ue5-main branch]
2024-09-05 07:16:19 -04:00

71 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MuR/Ptr.h"
#include "MuR/RefCounted.h"
#include "MuT/Node.h"
#include "MuT/NodeImage.h"
namespace mu
{
// Forward definitions
class NodeBool;
class NodeImageConditional;
typedef Ptr<NodeImageConditional> NodeImageConditionalPtr;
typedef Ptr<const NodeImageConditional> NodeImageConditionalPtrConst;
//! This node selects an output image from a set of input images based on a parameter.
//! \ingroup model
class MUTABLETOOLS_API NodeImageConditional : public NodeImage
{
public:
NodeImageConditional();
//-----------------------------------------------------------------------------------------
// Node Interface
//-----------------------------------------------------------------------------------------
const FNodeType* GetType() const override;
static const FNodeType* GetStaticType();
//-----------------------------------------------------------------------------------------
// Own Interface
//-----------------------------------------------------------------------------------------
//! Get the node generating the parameter used to select the option.
NodeBool* GetParameter() const;
void SetParameter( NodeBool* );
//! Get the node generating the option image when the parameters is true.
NodeImage* GetOptionTrue() const;
void SetOptionTrue( NodeImage* );
NodeImage* GetOptionFalse() const;
void SetOptionFalse( NodeImage* );
//-----------------------------------------------------------------------------------------
// Interface pattern
//-----------------------------------------------------------------------------------------
class Private;
Private* GetPrivate() const;
protected:
//! Forbidden. Manage with the Ptr<> template.
~NodeImageConditional();
private:
Private* m_pD;
};
}