protected override void Process(IFCAnyHandle complexProperty) { base.Process(complexProperty); Name = IFCAnyHandleUtil.GetStringAttribute(complexProperty, "Name"); UsageName = IFCAnyHandleUtil.GetStringAttribute(complexProperty, "UsageName"); HashSet <IFCAnyHandle> properties = IFCAnyHandleUtil.GetValidAggregateInstanceAttribute <HashSet <IFCAnyHandle> >(complexProperty, "HasProperties"); foreach (IFCAnyHandle property in properties) { IFCProperty containedProperty = IFCProperty.ProcessIFCProperty(property); if (containedProperty != null) { IFCProperties[containedProperty.Name] = containedProperty; } } }
/// <summary> /// Processes an IFC property set. /// </summary> /// <param name="ifcPropertySet">The IfcPropertySet object.</param> protected override void Process(IFCAnyHandle ifcPropertySet) { base.Process(ifcPropertySet); HashSet <IFCAnyHandle> properties = IFCAnyHandleUtil.GetAggregateInstanceAttribute <HashSet <IFCAnyHandle> >(ifcPropertySet, "HasProperties"); if (properties != null) { foreach (IFCAnyHandle property in properties) { IFCProperty ifcProperty = IFCProperty.ProcessIFCProperty(property); if (ifcProperty != null) { IFCProperties[ifcProperty.Name] = ifcProperty; } } } else { Importer.TheLog.LogMissingRequiredAttributeError(ifcPropertySet, "HasProperties", false); } }