コード例 #1
0
        bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
        {
            if(side == GH_ParameterSide.Input && !HiddenCodeInput && index == 0)
              m_inner_codeInput = Code;

              return true;
        }
コード例 #2
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     switch (side)
       {
     case GH_ParameterSide.Input:
       {
     return new Param_ScriptVariable
       {
         NickName = GH_ComponentParamServer.InventUniqueNickname("xyzuvwst", this.Params.Input),
         Name = NickName,
         Description = "Script variable " + NickName,
       };
       }
     case GH_ParameterSide.Output:
       {
     return new Param_GenericObject
       {
         NickName = GH_ComponentParamServer.InventUniqueNickname("abcdefghijklmn", this.Params.Output),
         Name = NickName,
         Description = "Script variable " + NickName,
       };
       }
     default:
       {
     return null;
       }
       }
 }
コード例 #3
0
 public bool CanInsertParameter(GH_ParameterSide side, int index)
 {
     if (side == GH_ParameterSide.Output)
     {
         return false;
     }
     return true;
 }
コード例 #4
0
        /**
         * CreateParameter: check if the name already exists on the left hand side. If it does, do not create it.
         * Create new parameters on the fly
         */
        public IGH_Param CreateParameter(GH_ParameterSide side, int index)
        {
            Param_String param = new Param_String();

            string name = "Label";
            string compareName = name;
            int iteration = 0;
            bool nameFound = false;

            while (nameFound == false)
            {
                bool NameExists = false;

                if (iteration > 0)
                {
                    compareName = name + "_" + iteration.ToString();
                }

                foreach (IGH_Param Input in this.Params.Input)
                {
                    if (Input.NickName == compareName)
                    {
                        NameExists = true;
                        break;
                    }
                }
                if (NameExists)
                {
                    iteration++;
                } else {
                    nameFound = true;
                }
            }

            param.NickName = compareName;

            return param;
        }
コード例 #5
0
        // https://www.grasshopper3d.com/forum/topics/how-to-register-input-output-params-dynamically-c-vs

        // La simple implémentation de l'interface signifie que vos composants seront correctement (dés) sérialisés
        // Sans cette interface, le composant suppose que le constructeur configure toutes les entrées et sorties et que la lecture des fichiers ne fonctionnera plus correctement.

        // Il est également important de toujours appeler Params.OnParametersChanged lorsque vous avez terminé d’apporter des modifications.

        // Cependant, vous n'êtes jamais censé faire cela depuis RunScript ou SolveInstance.
        // Des modifications de la topologie des composants et des modifications des fils ne peuvent être effectuées que lorsqu'une solution n'est pas en cours d'exécution.

        // Les paramètres de script prennent certaines mesures pour protéger les données pouvant être partagées entre plusieurs composants d'un fichier GH.
        // Les paramètres de script offrent également des mécanismes de transtypage aux types standard (bool, int, double, chaîne, Brep, Curve, Point3d, etc.) et aux modificateurs d'accès (item, liste, arborescence).

        public bool CanInsertParameter(GH_ParameterSide side, int index)
        {
            return(false);
        }
コード例 #6
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     return(null);
 }
コード例 #7
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
 {
     //Nothing to do here by the moment
     return true;
 }
コード例 #8
0
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index)
 {
     if (side == GH_ParameterSide.Input && Params.Input.Count < 10 && index == Params.Input.Count) return true;
     return false;
 }
コード例 #9
0
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     throw new NotImplementedException();
 }
コード例 #10
0
ファイル: Target.cs プロジェクト: visose/Robots
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) => false;
コード例 #11
0
ファイル: Components Filter.cs プロジェクト: ksteinfe/dyear
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     index_of_new_param = index;
     total_params_added++;
     if (total_params_added >= alpha.Length) total_params_added = 0;
     return new GHParam_DHr();
 }
コード例 #12
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) => false;
コード例 #13
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     // see above.
     return false;
 }
コード例 #14
0
ファイル: Components Filter.cs プロジェクト: ksteinfe/dyear
 public bool CanRemoveParameter(GH_ParameterSide side, int index)
 {
     if (index < min_params) return false;
     if ((side == GH_ParameterSide.Input) && (this.Params.Input.Count > min_params)) return true;
     return false;
 }
コード例 #15
0
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index)
 {
     // we want this to be false, because we don't want those pesky users adding their own parameters
     // (but what if a cluster is a variable-input one?)
     // well, we'll deal with that later.
     return false;
 }
コード例 #16
0
        IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index)
        {
            String ltr = GH_ComponentParamServer.InventUniqueNickname("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Params.Output);

            Param_Number param = new Param_Number {
                NickName = "t" + ltr,
                Name = "Variable" + ltr,
                Description = Name,
                Access = GH_ParamAccess.item
            };
            param.SetPersistentData(0.5);

            Param_Interval dparam = new Param_Interval {
                NickName = "d" + ltr,
                Name = "Domain" + ltr,
                Description = "Domain of Variable "+ltr,
                Access = GH_ParamAccess.item
            };
            dparam.SetPersistentData(new GH_Interval(new Interval(0.0,1.0)));
            Params.RegisterInputParam(dparam, Params.Input.Count);

            Param_Number oparam = new Param_Number {
                NickName = ltr,
                Name = "Variable" + ltr,
                Description = Name,
                Access = GH_ParamAccess.item
            };
            Params.RegisterOutputParam(oparam, Params.Input.Count);

            return param;
        }
コード例 #17
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     if (side == GH_ParameterSide.Input && Params.Input.Count > 2 && index%2==0) return true;
     return false;
 }
コード例 #18
0
 public bool CanRemoveParameter(GH_ParameterSide side, int index) => side == GH_ParameterSide.Input && index != 0;
コード例 #19
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index) => null;
コード例 #20
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) => false;
コード例 #21
0
 public bool DestroyParameter(GH_ParameterSide side, int index) => true;
コード例 #22
0
 public bool CanRemoveParameter(GH_ParameterSide side, int index)
 {
     throw new NotImplementedException();
 }
コード例 #23
0
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, Int32 index)
 {
     return(false);
 }
コード例 #24
0
ファイル: Target.cs プロジェクト: visose/Robots
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) => false;
コード例 #25
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, Int32 index)
 {
     return(false);
 }
コード例 #26
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     //leave two inputs
     if (side == GH_ParameterSide.Input)
     {
         if (Params.Input.Count > 2)
             return true;
         else
             return false;
     }
     else
     {
         if (Params.Output.Count > 0)
             return true;
         else
             return false;
     }
 }
コード例 #27
0
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index)
 {
     return false;
 }
コード例 #28
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     return new Grasshopper.Kernel.Parameters.Param_GenericObject();
 }
コード例 #29
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
 {
     this.UpdateMetadata();
     return(true);
 }
コード例 #30
0
ファイル: 公共点.cs プロジェクト: zohozer/Vipers
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index)
 {
     return(side != GH_ParameterSide.Output);
 }
コード例 #31
0
 public bool CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return(side == GH_ParameterSide.Input && Params.Input.Count > 1);
 }
コード例 #32
0
 public bool CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return(false);
 }
コード例 #33
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     return(GetNewInputParameter());
 }
コード例 #34
0
 public bool CanInsertParameter(GH_ParameterSide side, int index) => side == GH_ParameterSide.Input && index != 0;
コード例 #35
0
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     Params.UnregisterOutputParameter(Params.Output[index]);
     return(true);
 }
コード例 #36
0
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     return(true);
 }
コード例 #37
0
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     return(side == GH_ParameterSide.Input);
 }
コード例 #38
0
 IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) => null;
コード例 #39
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     return(new Param_GenericObject());
 }
コード例 #40
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
 {
     //Nothing to do here by the moment
     return(true);
 }
コード例 #41
0
 public virtual bool CanInsertParameter(GH_ParameterSide side, int index)
 {
     return(side == GH_ParameterSide.Input);
 }
コード例 #42
0
 public IGH_Param CreateParameter(GH_ParameterSide side, int index)
 {
     throw new NotImplementedException();
 }
コード例 #43
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return((this as IGH_VariableParameterComponent).CanInsertParameter(side, index));
 }
コード例 #44
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
 {
     return(true);
 }
 /// <summary>
 /// This function will get called before an attempt is made to insert a parameter.
 /// Since this method is potentially called on Canvas redraws, it must be fast.
 /// </summary>
 /// <param name="side"> Parameter side (input or output). </param>
 /// <param name="index"> Insertion index of parameter. Index=0 means the parameter will be in the topmost spot. </param>
 /// <returns> Return True if your component supports a variable parameter at the given location. </returns>
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return(false);
 }
コード例 #46
0
ファイル: Target.cs プロジェクト: visose/Robots
 IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) => null;
 /// <summary>
 /// This function will be called when a new parameter is about to be inserted.
 /// You must provide a valid parameter or insertion will be skipped.
 /// You do not, repeat not, need to insert the parameter yourself.
 /// </summary>
 /// <param name="side"> Parameter side (input or output). </param>
 /// <param name="index"> Insertion index of parameter. Index=0 means the parameter will be in the topmost spot. </param>
 /// <returns> A valid IGH_Param instance to be inserted. In our case a null value. </returns>
 IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index)
 {
     return(null);
 }
コード例 #48
0
 bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index)
 {
     return true;
 }
コード例 #49
0
 public bool CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return side == GH_ParameterSide.Output;
 }
コード例 #50
0
        IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index)
        {
            Param_Number param = new Param_Number();
            param.Name = GH_ComponentParamServer.InventUniqueNickname("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Params.Input);
            param.NickName = param.Name;
            param.Description = "Param" + (Params.Output.Count + 1);
            param.SetPersistentData(0.0);

            return param;
        }
コード例 #51
0
 bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index)
 {
     return (this as IGH_VariableParameterComponent).CanInsertParameter(side, index);
 }
コード例 #52
0
 // allways allow the parameter to be destroyed.
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     return true;
 }
コード例 #53
0
 public bool DestroyParameter(GH_ParameterSide side, int index)
 {
     return side == GH_ParameterSide.Output;
 }
コード例 #54
0
 public bool CanInsertParameter(GH_ParameterSide side, int index)
 {
     return side == GH_ParameterSide.Output;
 }
コード例 #55
0
 bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index)
 {
     Params.UnregisterInputParameter(Params.Input[index + 1]);
     Params.UnregisterOutputParameter(Params.Output[index/2]);
     return true;
 }