/// <summary> /// Will read Configuration file if passed, or default COBieAttributesFilters.config /// </summary> /// <param name="configFileName">Full path/name for config file</param> /// <param name="import"></param> private void FiltersHelperInit(string configFileName = null, ImportSet import = ImportSet.All) { //set default var sourceFile = configFileName ?? RoleFilter.Unknown.ToResourceName(); var config = GetConfig(sourceFile); //IfcProduct and IfcTypeObject filters if (import == ImportSet.All || import == ImportSet.IfcFilters) { IfcProductFilter = new ObjectFilter(config.GetSection("IfcElementInclusion")); IfcTypeObjectFilter = new ObjectFilter(config.GetSection("IfcTypeInclusion")); IfcTypeObjectFilter.FillPreDefinedTypes(config.GetSection("IfcPreDefinedTypeFilter")); IfcAssemblyFilter = new ObjectFilter(config.GetSection("IfcAssemblyInclusion")); } //Property name filters if (import == ImportSet.All || import == ImportSet.PropertyFilters) { ZoneFilter = new PropertyFilter(config.GetSection("ZoneFilter")); TypeFilter = new PropertyFilter(config.GetSection("TypeFilter")); SpaceFilter = new PropertyFilter(config.GetSection("SpaceFilter")); FloorFilter = new PropertyFilter(config.GetSection("FloorFilter")); FacilityFilter = new PropertyFilter(config.GetSection("FacilityFilter")); SpareFilter = new PropertyFilter(config.GetSection("SpareFilter")); ComponentFilter = new PropertyFilter(config.GetSection("ComponentFilter")); CommonFilter = new PropertyFilter(config.GetSection("CommonFilter")); } // API restructure: // a call to File.Delete(config.FilePath); has been removed // it is strange for the configuration reading routine to delete a configuration file }