internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line = parser.Line; if (id == "children") { List <X3DNode> nodes = parser.ParseSFNodeOrMFNodeValue(); foreach (X3DNode node in nodes) { X3DChildNode child = node as X3DChildNode; if (child == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } else { Children.Add(child); } } } else if (id == "objectType") { if (wasObjectType) { ObjectType.AddRange(parser.ParseSFStringOrMFStringValue()); } else { ObjectType = parser.ParseSFStringOrMFStringValue(); } wasObjectType = true; } else if (id == "pickable") { Pickable = parser.ParseBoolValue(); } else if (id == "bboxCenter") { BBoxCenter = parser.ParseSFVec3fValue(); } else if (id == "bboxSize") { BBoxSize = parser.ParseSFVec3fValue(); } else { return(false); } return(true); }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line = parser.Line; if (id == "enabled") { Enabled = parser.ParseBoolValue(); } else if (id == "objectType") { if (wasObjectType) { ObjectType.AddRange(parser.ParseSFStringOrMFStringValue()); } else { ObjectType = parser.ParseSFStringOrMFStringValue(); } wasObjectType = true; } else if (id == "pickingGeometry") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { PickingGeometry = node as IX3DPointPickSensorPickingGeometry; if (PickingGeometry == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "pickTarget") { List <X3DNode> nodes = parser.ParseSFNodeOrMFNodeValue(); foreach (X3DNode node in nodes) { IX3DPickSensorNodePickTarget pt = node as IX3DPickSensorNodePickTarget; if (pt == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } else { PickTarget.Add(pt); } } } else if (id == "intersectionType") { IntersectionType = parser.ParseStringValue(); } else if (id == "sortOrder") { SortOrder = parser.ParseStringValue(); } else { return(false); } return(true); }