#include BEGIN_SHADER_NODE_NAMESPACE void Node::AddInput(bool mj,const UTF8String &n,const param::ParamType &pt) { param::InputParam *ip=new param::InputParam(mj,n,pt); input_params.Add(ip); input_params_by_name.Add(n,ip); } void Node::AddOutput(const UTF8String &n,const param::ParamType &pt) { param::OutputParam *op=new param::OutputParam(n,pt); output_params.Add(op); output_params_by_name.Add(n,op); } bool Node::JoinInput(const UTF8String ¶m_name,node::Node *n,param::OutputParam *op) { if(param_name.IsEmpty()||!n||op) return(false); if(!n->IsOutput(op)) return(false); param::InputParam *ip=GetInput(param_name); if(!ip) return(false); return ip->Join(n,op); } bool Node::IsOutput(param::OutputParam *op) { if(!op)return(false); return output_params.IsExist(op); } bool Node::Check() { const int count=input_params.GetCount(); param::InputParam **ip=input_params.GetData(); for(int i=0;iCheck()) return(false); else ++ip; return(true); } END_SHADER_NODE_NAMESPACE