internal override bool ParseNodeBodyElement(string id, VRMLParser parser)
		{
			if(id=="name") Name=parser.ParseStringValue();
			else if(id=="reference") Reference=parser.ParseStringValue();
			else if(id=="value") Value.AddRange(parser.ParseSFBoolOrMFBoolValue());
			else return false;
			return true;
		}
Exemplo n.º 2
0
        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 == "name")
            {
                Name = parser.ParseStringValue();
            }
            else if (id == "visible")
            {
                Visible.AddRange(parser.ParseSFBoolOrMFBoolValue());
            }
            else if (id == "bboxCenter")
            {
                BBoxCenter = parser.ParseSFVec3fValue();
            }
            else if (id == "bboxSize")
            {
                BBoxSize = parser.ParseSFVec3fValue();
            }
            else
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        internal override bool ParseNodeBodyElement(string id, VRMLParser parser)
        {
            if (id == "key")
            {
                Key.AddRange(parser.ParseSFFloatOrMFFloatValue());
            }
            else if (id == "keyValue")
            {
                object token = parser.PeekNextToken();
                if (token is VRMLTokenString)
                {
                    string   values = parser.ParseStringValue();
                    string[] parts  = values.Split(new char[] { ' ', '\t', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);

                    foreach (string part in parts)
                    {
                        string l = part.ToLower();
                        if (l == "true")
                        {
                            KeyValue.Add(new SFBool(true));
                        }
                        else
                        {
                            KeyValue.Add(new SFBool(false));
                        }
                    }
                }
                else
                {
                    List <bool> values = parser.ParseSFBoolOrMFBoolValue();
                    foreach (bool value in values)
                    {
                        KeyValue.Add(new SFBool(value));
                    }
                }
            }
            else
            {
                return(false);
            }
            return(true);
        }
 internal override bool ParseNodeBodyElement(string id, VRMLParser parser)
 {
     if (id == "name")
     {
         Name = parser.ParseStringValue();
     }
     else if (id == "reference")
     {
         Reference = parser.ParseStringValue();
     }
     else if (id == "value")
     {
         Value.AddRange(parser.ParseSFBoolOrMFBoolValue());
     }
     else
     {
         return(false);
     }
     return(true);
 }
		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=="name") Name=parser.ParseStringValue();
			else if(id=="visible") Visible.AddRange(parser.ParseSFBoolOrMFBoolValue());
			else if(id=="bboxCenter") BBoxCenter=parser.ParseSFVec3fValue();
			else if(id=="bboxSize") BBoxSize=parser.ParseSFVec3fValue();
			else return false;
			return true;
		}