internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { if (id == "groundAngle") { GroundAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "groundColor") { GroundColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else if (id == "backUrl") { BackUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "bottomUrl") { BottomUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "frontUrl") { FrontUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "leftUrl") { LeftUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "rightUrl") { RightUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "topUrl") { TopUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "skyAngle") { SkyAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "skyColor") { if (wasSkyColor) { SkyColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else { SkyColor = parser.ParseSFColorOrMFColorValue(); } wasSkyColor = true; } else if (id == "transparency") { // since X3D Node Spec and VRML Classic Coding Spec disagree on the fieldType List <double> values = parser.ParseSFFloatOrMFFloatValue(); if (values.Count != 0) { Transparency = values[0]; } } else { return(false); } return(true); }
public override int GetHashCode() { return(2 * (Option == null ? 0 : Option.GetHashCode()) + 3 * (LeftUrl == null ? 0 : LeftUrl.GetHashCode()) + 5 * (RightUrl == null ? 0 : RightUrl.GetHashCode())); }