Files
2025-05-13 02:46:21 +03:00

31 lines
868 B
C++

#ifndef IShaderGraphNodePort_h__
#define IShaderGraphNodePort_h__
#include "IShaderTypes.h"
#include <vector>
namespace LifeGraphics
{
class IShaderGraphNode;
class IShaderGraphNodePort
{
public:
void MakeLink(IShaderGraphNodePort* input, IShaderGraphNodePort* output);
IShaderGraphNodePort* GetLink(size_t id);
size_t GetLinkCount();
bool IsLinkExists(IShaderGraphNodePort* target);
void BreakLink();
IShaderGraphNodePort(IShaderGraphNode* parent);
IShaderGraphNode* Parent;
String Name;
String Value;
IShaderDataType DataType;
private:
void RemoveLink(IShaderGraphNodePort* target);
typedef std::vector<IShaderGraphNodePort*> LinkCollecton;
typedef std::vector<IShaderGraphNodePort*>::iterator LinkCollectonItr;
LinkCollecton links;
};
}
#endif // IShaderGraphNodePort_h__