private Model3DGroup LoadModel(string path) { if (string.IsNullOrWhiteSpace(path)) { return(null); } if (!System.IO.Path.HasExtension(path) || !System.IO.File.Exists(path)) { return(null); } HelixToolkit.Wpf.IModelReader reader = null; string fileExtension = System.IO.Path.GetExtension(path).ToLower(); switch (fileExtension) { case ".3ds": reader = new HelixToolkit.Wpf.StudioReader(); break; case ".lwo": reader = new HelixToolkit.Wpf.LwoReader(); break; case ".obj": reader = new HelixToolkit.Wpf.ObjReader(); break; case ".objz": reader = new HelixToolkit.Wpf.ObjReader(); break; case ".stl": reader = new HelixToolkit.Wpf.StLReader(); break; case ".off": reader = new HelixToolkit.Wpf.OffReader(); break; default: return(null); } Model3DGroup model = reader.Read(path); if (_useTransparensy) { foreach (var mod in model.Children) { if (mod is GeometryModel3D) { ((GeometryModel3D)mod).Material = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF"))); ((GeometryModel3D)mod).BackMaterial = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF"))); } } } return(model); }
private Model3DGroup LoadModel(string path) { if (string.IsNullOrWhiteSpace(path)) { return null; } if (!System.IO.Path.HasExtension(path) || !System.IO.File.Exists(path)) { return null; } HelixToolkit.Wpf.IModelReader reader = null; string fileExtension = System.IO.Path.GetExtension(path).ToLower(); switch (fileExtension) { case ".3ds": reader = new HelixToolkit.Wpf.StudioReader(); break; case ".lwo": reader = new HelixToolkit.Wpf.LwoReader(); break; case ".obj": reader = new HelixToolkit.Wpf.ObjReader(); break; case ".objz": reader = new HelixToolkit.Wpf.ObjReader(); break; case ".stl": reader = new HelixToolkit.Wpf.StLReader(); break; case ".off": reader = new HelixToolkit.Wpf.OffReader(); break; default: return null; } Model3DGroup model = reader.Read(path); if (_useTransparensy) { foreach (var mod in model.Children) { if (mod is GeometryModel3D) { ((GeometryModel3D)mod).Material = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF"))); ((GeometryModel3D)mod).BackMaterial = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF"))); } } } return model; }