Example #1
0
            public static ParamDefinition Create <T>(string name, string nickname, string description, object defaultValue, GH_ParamAccess access = GH_ParamAccess.item, bool optional = false, ParamVisibility relevance = ParamVisibility.Binding)
                where T : class, IGH_Param, new()
            {
                var param = new T()
                {
                    Name        = name,
                    NickName    = nickname,
                    Description = description,
                    Access      = access,
                    Optional    = optional
                };

                if (typeof(T).IsGenericSubclassOf(typeof(GH_PersistentParam <>)))
                {
                    dynamic persistentParam = param;
                    persistentParam.SetPersistentData(defaultValue);
                }

                return(new ParamDefinition(param, relevance));
            }
Example #2
0
            public static ParamDefinition Create <T>(string name, string nickname, string description = "", GH_ParamAccess access = GH_ParamAccess.item, bool optional = false, ParamVisibility relevance = ParamVisibility.Binding)
                where T : class, IGH_Param, new()
            {
                var param = new T()
                {
                    Name        = name,
                    NickName    = nickname,
                    Description = description,
                    Access      = access,
                    Optional    = optional
                };

                return(new ParamDefinition(param, relevance));
            }
Example #3
0
            public static ParamDefinition FromParam <T>(GH_PersistentParam <T> param, ParamVisibility relevance, object defaultValue)
                where T : class, IGH_Goo, new()
            {
                var def = new ParamDefinition(param, relevance);

                if (def.Param is GH_PersistentParam <T> persistentParam)
                {
                    var data = new T();
                    if (!data.CastFrom(defaultValue))
                    {
                        throw new InvalidCastException();
                    }

                    persistentParam.PersistentData.Append(data);
                }

                return(def);
            }
Example #4
0
 public static ParamDefinition FromParam(IGH_Param param, ParamVisibility relevance) =>
 new ParamDefinition(param, relevance);
Example #5
0
 internal ParamDefinition(IGH_Param param, ParamVisibility relevance)
 {
     Param     = param;
     Relevance = relevance;
 }
Example #6
0
 internal ParamDefinition(IGH_Param param)
 {
     Param     = param;
     Relevance = ParamVisibility.Binding;
 }