public void ClearCache(object model) { if (model != null) { Model3DCache.Remove(model); } }
private Model3D CreateFromDictionary(IDictionary source) { if (source == null) { #pragma warning disable CS8603 // Possible null reference return. return(null); #pragma warning restore CS8603 // Possible null reference return. } if (cache && Model3DCache.ContainsKey(source)) { return(Model3DCache[source]); } Model3DGroup?model3DGroup = new Model3DGroup { Transform = GetTransform3D(source) }; Model3D?primaryModel = GetPrimaryModel3D(source); if (primaryModel != null) { model3DGroup.Children.Add(primaryModel); } foreach (object?key in source.Keys) { #pragma warning disable CS8604 // Possible null reference argument. if (source[key] is IDictionary child_dictionary && !Ignore(child_dictionary)) #pragma warning restore CS8604 // Possible null reference argument. { //var child_model = Create(typeof(Model3D), child_dictionary) as Model3D; Model3D?child_model = CreateFromDictionary(child_dictionary); if (child_model != null) { model3DGroup.Children.Add(child_model); } } } if (model3DGroup.Children.Count > 0) { if (cache) { Model3DCache.Add(source, model3DGroup); } return(model3DGroup); } #pragma warning disable CS8603 // Possible null reference return. return(null); #pragma warning restore CS8603 // Possible null reference return. }
public void ClearCache() { Model3DCache.Clear(); namedCache.Clear(); }