private static Material GetWpfMaterial(Xbim.Common.IModel model, int styleId) { var sStyle = model.Instances[styleId] as IIfcSurfaceStyle; var wpfMaterial = new WpfMaterial(); if (sStyle != null) { XbimTexture texture = XbimTexture.Create(sStyle); texture.DefinedObjectId = styleId; wpfMaterial.CreateMaterial(texture); return(wpfMaterial); } MaterialDictionary defaultMaterial = ModelDataProvider.DefaultMaterials; Material material; if (defaultMaterial.TryGetValue(model.GetType().Name, out material)) { return(material); } var color = new XbimColour("black", 1, 1, 1); wpfMaterial.CreateMaterial(color); return(wpfMaterial); }
public static XbimMaterialProvider GetDefaultMaterial(string typeName) { Material mat; IfcType elemType = IfcMetaData.IfcType(typeName.ToUpperInvariant()); while (elemType != null) { if (_defaultMaterials.TryGetValue(elemType.Type.Name, out mat)) { return(new XbimMaterialProvider(mat)); } elemType = elemType.IfcSuperType; } return(null); }
public static XbimMaterialProvider GetDefaultMaterial(IModel model, string typeName) { Material mat; var elemType = model.Metadata.ExpressType(typeName); while (elemType != null) { if (_defaultMaterials.TryGetValue(elemType.Type.Name, out mat)) { return(new XbimMaterialProvider(mat)); } elemType = elemType.SuperType; } return(null); }