31 lines
868 B
C++
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__
|