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); }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line = parser.Line; if (id == "groundAngle") { GroundAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "groundColor") { GroundColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else if (id == "backTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { BackTexture = node as X3DTextureNode; if (BackTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "bottomTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { BottomTexture = node as X3DTextureNode; if (BottomTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "frontTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { FrontTexture = node as X3DTextureNode; if (FrontTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "leftTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { LeftTexture = node as X3DTextureNode; if (LeftTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "rightTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { RightTexture = node as X3DTextureNode; if (RightTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "topTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { TopTexture = node as X3DTextureNode; if (TopTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } 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); }