void HighlightBcData(IGH_Param param) { bool highlight = param.Attributes.Selected && !_bcSelection.Contains(param); bool dehighlight = !param.Attributes.Selected && _bcSelection.Contains(param); foreach (var bcRef in param.VolatileData.AllData(true).OfType <Types.IGH_BcGeometricGoo>()) { if (highlight) { DatabaseUtils.Highlight(bcRef.Reference, true); } else if (dehighlight) { DatabaseUtils.Highlight(bcRef.Reference, false); } } if (highlight) { _bcSelection.Add(param); } else if (dehighlight) { _bcSelection.Remove(param); } }
void UnhighlightBcData() { foreach (var param in _bcSelection) { foreach (var bcRef in param.VolatileData.AllData(true).OfType <Types.IGH_BcGeometricGoo>()) { DatabaseUtils.Highlight(bcRef.Reference, false); } } _bcSelection.Clear(); }