Пример #1
0
        private void AddModifier(HB.Radiance.IModifier newModifier)
        {
            if (newModifier == null)
            {
                return;
            }
            var newItem = CheckObjName(newModifier);

            this._userData.Insert(0, new ModifierViewData(newItem));
            this._allData = _userData.Concat(_systemData).Distinct(_viewDataComparer).ToList();
            ResetDataCollection();
        }
        public SubModifierSetViewModel(ref ModelRadianceProperties libSource, string cName, Action <HoneybeeSchema.IIDdBase> setAction) : base(setAction)
        {
            HoneybeeSchema.Radiance.IModifier c = null;
            if (!string.IsNullOrEmpty(cName))
            {
                // check in-model lib source before system lib
                c = libSource.ModifierList.FirstOrDefault(_ => _.Identifier == cName);
                c = c ?? SystemRadianceLib.ModifierList.FirstOrDefault(_ => _.Identifier == cName);
            }

            this.SetPropetyObj(c);

            _libSource = libSource;
        }
        public static HoneybeeSchema.Radiance.IModifier EditModifier(HoneybeeSchema.Radiance.IModifier modifier, bool locked = false, Control parent = default)
        {
            var dup = modifier.Duplicate();

            HoneybeeSchema.Radiance.IModifier dialog_rc = null;
            switch (dup)
            {
            case Plastic obj:
                dialog_rc = new Dialog_Modifier <Plastic>(obj, locked).ShowModal(parent);
                break;

            case Glass obj:
                dialog_rc = new Dialog_Modifier <Glass>(obj, locked).ShowModal(parent);
                break;

            case Trans obj:
                dialog_rc = new Dialog_Modifier <Trans>(obj, locked).ShowModal(parent);
                break;

            case Metal obj:
                dialog_rc = new Dialog_Modifier <Metal>(obj, locked).ShowModal(parent);
                break;

            case Mirror obj:
                dialog_rc = new Dialog_Modifier <Mirror>(obj, locked).ShowModal(parent);
                break;

            case Glow obj:
                dialog_rc = new Dialog_Modifier <Glow>(obj, locked).ShowModal(parent);
                break;

            case Light obj:
                dialog_rc = new Dialog_Modifier <Light>(obj, locked).ShowModal(parent);
                break;

            case BSDF obj:
                dialog_rc = new Dialog_Modifier <BSDF>(obj, locked).ShowModal(parent);
                break;

            default:
                break;
            }

            return(dialog_rc);
        }