Beispiel #1
0
        /// <summary>
        /// Un-registers local parameters.
        /// </summary>
        /// <param name="parameters">Input local parameters.</param>
        public void UnregisterLocalParameters(InputData.PDDL.Parameters parameters)
        {
            parameters.ForEach(parameter => Unregister(parameter.ParameterName));

            // if a full block was processed, we can reset the ID to zero
            if (NameWithArgToId.Count == 0)
            {
                NextFreeId = 0;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Constructs the object from the input data.
        /// </summary>
        /// <param name="parameters">PDDL parameters definition.</param>
        /// <param name="idManager">ID manager.</param>
        public Parameters(InputData.PDDL.Parameters parameters, IdManager idManager)
        {
            foreach (var parameter in parameters)
            {
                int parameterNameId = idManager.Variables.GetId(parameter.ParameterName);

                List <int> typeNamesIDs = new List <int>();
                foreach (var typeName in parameter.TypeNames)
                {
                    typeNamesIDs.Add(idManager.Types.GetId(typeName));
                }

                Add(new Parameter(parameterNameId, typeNamesIDs, idManager));
            }
        }
Beispiel #3
0
 /// <summary>
 /// Registers local parameters.
 /// </summary>
 /// <param name="parameters">Input local parameters.</param>
 public void RegisterLocalParameters(InputData.PDDL.Parameters parameters)
 {
     parameters.ForEach(parameter => Register(parameter.ParameterName));
 }