internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "RelatedObjects") == 0) { foreach (XmlNode node in child.ChildNodes) { IfcObjectDefinition od = mDatabase.ParseXml <IfcObjectDefinition>(node as XmlElement); if (od != null) { RelatedObjects.Add(od); } } } } if (xml.HasAttribute("RelatedObjectsType")) { if (!Enum.TryParse <IfcObjectTypeEnum>(xml.Attributes["GlobalId"].Value, true, out mRelatedObjectsType)) { mRelatedObjectsType = IfcObjectTypeEnum.NOTDEFINED; } } }
internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "RelatingLibrary") == 0) { if (child.HasChildNodes) { RelatingLibrary = mDatabase.ParseXml <IfcLibrarySelect>(child.ChildNodes[0] as XmlElement); } else { RelatingLibrary = mDatabase.ParseXml <IfcLibrarySelect>(child as XmlElement); } } if (string.Compare(name, "RelatedObjects") == 0) { foreach (XmlNode n in child.ChildNodes) { RelatedObjects.Add(mDatabase.ParseXml <IfcDefinitionSelect>(n as XmlElement)); } } } }
public override string WhereRule() { string baseErr = base.WhereRule(); if (RelatedObjects.Contains(RelatingActor)) { baseErr += "WR1 RelAssignsToActor: The RelatingActor shall not be contained in the List of RelatedObjects."; } return(baseErr); }
internal override void parseJObject(JObject obj) { base.parseJObject(obj); JObject jobj = obj.GetValue("RelatingObject", StringComparison.InvariantCultureIgnoreCase) as JObject; if (jobj != null) { RelatingObject = mDatabase.ParseJObject <IfcObjectDefinition>(jobj); } RelatedObjects.AddRange(mDatabase.extractJArray <IfcObjectDefinition>(obj.GetValue("RelatedObjects", StringComparison.InvariantCultureIgnoreCase) as JArray)); }
public override string WhereRule() { if (RelatedObjects.Count(r => r.GetType() == RelatingObject.GetType()) != RelatedObjects.Count) { return ("WR1 RelNests : The type of the RelatingObject shall always be the same as the type of each RelatedObject, i.e. the RelatingObject and all RelatedObject's are of the same type.\n"); } else { return(""); } }
internal override void parseJObject(JObject obj) { base.parseJObject(obj); RelatedObjects.AddRange(mDatabase.extractJArray <IfcObjectDefinition>(obj.GetValue("RelatedObjects", StringComparison.InvariantCultureIgnoreCase) as JArray)); JToken token = obj.GetValue("RelatedObjectsType", StringComparison.InvariantCultureIgnoreCase); if (token != null) { if (!Enum.TryParse <IfcObjectTypeEnum>(token.Value <string>(), true, out mRelatedObjectsType)) { mRelatedObjectsType = IfcObjectTypeEnum.NOTDEFINED; } } }
public override string GetStepParameters() { var parameters = new List <string>(); parameters.Add(GlobalId != null ? GlobalId.ToStepValue() : "$"); parameters.Add(OwnerHistory != null ? OwnerHistory.ToStepValue() : "$"); parameters.Add(Name != null ? Name.ToStepValue() : "$"); parameters.Add(Description != null ? Description.ToStepValue() : "$"); parameters.Add(RelatedObjects != null ? RelatedObjects.ToStepValue() : "$"); parameters.Add(RelatingPropertyDefinition != null ? RelatingPropertyDefinition.ToStepValue() : "$"); return(string.Join(", ", parameters.ToArray())); }
protected override void setJSON(JObject obj, BaseClassIfc host, SetJsonOptions options) { base.setJSON(obj, host, options); JArray array = new JArray(); if (!RelatedObjects.Contains(host)) { foreach (IfcObjectDefinition od in RelatedObjects) { array.Add(od.getJson(this, options)); } obj["RelatedObjects"] = array; } }
public override string WhereRule() { string baseErr = base.WhereRule(); if (RelatedObjects.Where(o => o is IfcFeatureElementSubtraction || o is IfcVirtualElement).Count() > 0) { baseErr += "WR21 RelAssociatesMaterial: The material information must not be associated to a substraction feature (such as an opening) or to a virtual element."; } if (RelatedObjects.Where(o => !(o is IfcProduct || o is IfcTypeProduct)).Count() > 0) { baseErr += "WR22 RelAssociatesMaterial: The material information, using MaterialSelect should be associated to a product occurrence."; } return(baseErr); }
internal override void parseJObject(JObject obj) { base.parseJObject(obj); JArray array = obj.GetValue("RelatedObjects", StringComparison.InvariantCultureIgnoreCase) as JArray; if (array != null) { RelatedObjects.AddRange(mDatabase.extractJArray <IfcObject>(array)); } JObject jobj = obj.GetValue("RelatingType", StringComparison.InvariantCultureIgnoreCase) as JObject; if (jobj != null) { RelatingType = extractObject <IfcTypeObject>(jobj); } }
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary <int, XmlElement> processed) { base.SetXML(xml, host, processed); List <IfcDefinitionSelect> related = RelatedObjects.ToList(); if (related.Count == 1 && related[0] == host) { return; } XmlElement element = xml.OwnerDocument.CreateElement("RelatedObjects", mDatabase.mXmlNamespace); xml.AppendChild(element); foreach (IfcDefinitionSelect r in related) { element.AppendChild(mDatabase[r.Index].GetXML(xml.OwnerDocument, "", this, processed)); } }
/// <summary> /// Tests the express where-clause specified in param 'clause' /// </summary> /// <param name="clause">The express clause to test</param> /// <returns>true if the clause is satisfied.</returns> public bool ValidateClause(IfcRelAssociatesClause clause) { var retVal = false; try { switch (clause) { case IfcRelAssociatesClause.WR21: retVal = Functions.SIZEOF(RelatedObjects.Where(temp => !((Functions.TYPEOF(temp).Contains("IFC2X3.IFCOBJECTDEFINITION")) || (Functions.TYPEOF(temp).Contains("IFC2X3.IFCPROPERTYDEFINITION"))))) == 0; break; } } catch (Exception ex) { var log = Validation.ValidationLogging.CreateLogger <Xbim.Ifc2x3.Kernel.IfcRelAssociates>(); log?.LogError(string.Format("Exception thrown evaluating where-clause 'IfcRelAssociates.{0}' for #{1}.", clause, EntityLabel), ex); } return(retVal); }
/// <summary> /// Tests the express where-clause specified in param 'clause' /// </summary> /// <param name="clause">The express clause to test</param> /// <returns>true if the clause is satisfied.</returns> public bool ValidateClause(IfcRelAggregatesClause clause) { var retVal = false; try { switch (clause) { case IfcRelAggregatesClause.NoSelfReference: retVal = Functions.SIZEOF(RelatedObjects.Where(Temp => Object.ReferenceEquals(RelatingObject, Temp))) == 0; break; } } catch (Exception ex) { var log = Validation.ValidationLogging.CreateLogger <Xbim.Ifc4.Kernel.IfcRelAggregates>(); log?.LogError(string.Format("Exception thrown evaluating where-clause 'IfcRelAggregates.{0}' for #{1}.", clause, EntityLabel), ex); } return(retVal); }
internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "RelatedObjects") == 0) { foreach (XmlNode cn in child.ChildNodes) { IfcDefinitionSelect o = mDatabase.ParseXml <IfcDefinitionSelect>(cn as XmlElement); if (o != null) { RelatedObjects.Add(o); } } } } }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (obj == this) { return(true); } return(obj is SearchCatalogObjectsResponse other && ((Context == null && other.Context == null) || (Context?.Equals(other.Context) == true)) && ((Errors == null && other.Errors == null) || (Errors?.Equals(other.Errors) == true)) && ((Cursor == null && other.Cursor == null) || (Cursor?.Equals(other.Cursor) == true)) && ((Objects == null && other.Objects == null) || (Objects?.Equals(other.Objects) == true)) && ((RelatedObjects == null && other.RelatedObjects == null) || (RelatedObjects?.Equals(other.RelatedObjects) == true)) && ((LatestTime == null && other.LatestTime == null) || (LatestTime?.Equals(other.LatestTime) == true))); }
internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "RelatedObjects") == 0) { foreach (XmlNode cn in child.ChildNodes) { IfcObjectDefinition od = mDatabase.ParseXml <IfcObjectDefinition>(cn as XmlElement); if (od != null) { RelatedObjects.Add(od); } } } else if (string.Compare(name, "RelatingPropertyDefinition") == 0) { RelatingPropertyDefinition = mDatabase.ParseXml <IfcPropertySetDefinition>(child as XmlElement); } } }
public override int GetHashCode() { int hashCode = -544883463; if (Context != null) { hashCode += Context.GetHashCode(); } if (Errors != null) { hashCode += Errors.GetHashCode(); } if (Cursor != null) { hashCode += Cursor.GetHashCode(); } if (Objects != null) { hashCode += Objects.GetHashCode(); } if (RelatedObjects != null) { hashCode += RelatedObjects.GetHashCode(); } if (LatestTime != null) { hashCode += LatestTime.GetHashCode(); } return(hashCode); }
internal override void parseJObject(JObject obj) { base.parseJObject(obj); mDatabase.extractJArray <IfcObjectDefinition>(obj.GetValue("RelatedObjects", StringComparison.InvariantCultureIgnoreCase) as JArray).ForEach(x => RelatedObjects.Add(x)); RelatingPropertyDefinition = mDatabase.ParseJObject <IfcPropertySetDefinition>(obj.GetValue("RelatingPropertyDefinition", StringComparison.InvariantCultureIgnoreCase) as JObject); }
internal override void parseJObject(JObject obj) { base.parseJObject(obj); RelatedObjects.AddRange(mDatabase.extractJArray <IfcDefinitionSelect>(obj.GetValue("RelatedObjects", StringComparison.InvariantCultureIgnoreCase) as JArray)); }