internal override void parseJObject(JObject obj)
{
base.parseJObject(obj);
JArray array = obj.GetValue("ShapeOfProduct", StringComparison.InvariantCultureIgnoreCase) as JArray;
if (array != null)
{
foreach (JObject jobj in array)
{
IfcProduct product = mDatabase.parseJObject<IfcProduct>(jobj);
if (product != null)
mShapeOfProduct.Add(product);
}
}
array = obj.GetValue("HasShapeAspects", StringComparison.InvariantCultureIgnoreCase) as JArray;
if (array != null)
{
List<IfcShapeAspect> aspects = mDatabase.extractJArray<IfcShapeAspect>(array);
for (int icounter = 0; icounter < aspects.Count; icounter++)
aspects[icounter].PartOfProductDefinitionShape = this;
}
}