示例#1
0
        private void setdata(int i, ccl.ShaderNodes.Sockets.ISocket s, IGH_DataAccess DA)
        {
            switch (s)
            {
            case ccl.ShaderNodes.Sockets.ClosureSocket a:
            case ccl.ShaderNodes.Sockets.ColorSocket b:
                DA.SetData(i, Color.Gray);
                break;

            case ccl.ShaderNodes.Sockets.VectorSocket c:
            case ccl.ShaderNodes.Sockets.Float4Socket d:
                DA.SetData(i, Vector3d.Zero);
                break;

            case ccl.ShaderNodes.Sockets.FloatSocket e:
            case ccl.ShaderNodes.Sockets.IntSocket f:
                DA.SetData(i, 0.0);
                break;

            case ccl.ShaderNodes.Sockets.StringSocket g:
                DA.SetData(i, "");
                break;

            default:
                throw new InvalidCastException("Unknown socket type");
            }
        }
示例#2
0
        private void getdata(int i, ccl.ShaderNodes.Sockets.ISocket s, IGH_DataAccess DA)
        {
            switch (s)
            {
            case ccl.ShaderNodes.Sockets.ClosureSocket a:
                var clos = Utils.readColor(this, DA, i, "couldn't read closure");
                a.Value = clos as object;
                break;

            case ccl.ShaderNodes.Sockets.ColorSocket b:
                var col = Utils.readColor(this, DA, i, "couldn't read color");
                b.Value = Utils.float4FromColor(col);
                break;

            case ccl.ShaderNodes.Sockets.VectorSocket c:
                var vec = Utils.readVector(this, DA, i, "couldn't read vector");
                c.Value = Utils.float4FromVector(vec);
                break;

            case ccl.ShaderNodes.Sockets.Float4Socket d:
                var vecd = Utils.readVector(this, DA, i, "couldn't read vector");
                d.Value = Utils.float4FromVector(vecd);
                break;

            case ccl.ShaderNodes.Sockets.FloatSocket e:
                var fl = Utils.readFloat(this, DA, i, "couldn't read float");
                e.Value = fl;
                break;

            case ccl.ShaderNodes.Sockets.IntSocket f:
                var inr = Utils.readInt(this, DA, i, "couldn't read integer");
                f.Value = inr;
                break;

            case ccl.ShaderNodes.Sockets.StringSocket g:
                var str = Utils.readString(this, DA, i, "couldn't read string");
                g.Value = str;
                break;

            default:
                throw new InvalidCastException("Unknown socket type");
            }
        }