本文整理汇总了C#中VRMLParser.PeekNextToken方法的典型用法代码示例。如果您正苦于以下问题:C# VRMLParser.PeekNextToken方法的具体用法?C# VRMLParser.PeekNextToken怎么用?C# VRMLParser.PeekNextToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VRMLParser
的用法示例。
在下文中一共展示了VRMLParser.PeekNextToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseNodeBodyElement
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 X3DShapeNode;
if(child==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
else Children.Add(child);
}
}
else if(id=="controlPoint")
{
object token=parser.PeekNextToken();
if(token is VRMLTokenIdKeywordOrFieldType)
{
X3DNode node=parser.ParseSFNodeValue();
if(node!=null)
{
ControlPoint=node as X3DCoordinateNode;
if(ControlPoint==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
}
}
else
{
x3dCoordinate coords=new x3dCoordinate();
coords.Point=parser.ParseSFVec3fOrMFVec3fValue();
ControlPoint=coords;
}
}
else if(id=="inputCoord")
{
List<X3DNode> nodes=parser.ParseSFNodeOrMFNodeValue();
foreach(X3DNode node in nodes)
{
X3DCoordinateNode coord=node as X3DCoordinateNode;
if(coord==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
else InputCoord.Add(coord);
}
}
else if(id=="inputTransform")
{
List<X3DNode> nodes=parser.ParseSFNodeOrMFNodeValue();
foreach(X3DNode node in nodes)
{
IX3DCoordinateDeformerInputTransform transf=node as IX3DCoordinateDeformerInputTransform;
if(transf==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
else InputTransform.Add(transf);
}
}
else if(id=="outputCoord")
{
List<X3DNode> nodes=parser.ParseSFNodeOrMFNodeValue();
foreach(X3DNode node in nodes)
{
X3DCoordinateNode coord=node as X3DCoordinateNode;
if(coord==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
else OutputCoord.Add(coord);
}
}
else if(id=="weight") Weight.AddRange(parser.ParseSFFloatOrMFFloatValue());
else if(id=="bboxCenter") BBoxCenter=parser.ParseSFVec3fValue();
else if(id=="bboxSize") BBoxSize=parser.ParseSFVec3fValue();
else if(id=="uDimension") UDimension=parser.ParseIntValue();
else if(id=="uKnot") UKnot.AddRange(parser.ParseSFFloatOrMFFloatValue());
else if(id=="uOrder") UOrder=parser.ParseIntValue();
else if(id=="vDimension") VDimension=parser.ParseIntValue();
else if(id=="vKnot") VKnot.AddRange(parser.ParseSFFloatOrMFFloatValue());
else if(id=="vOrder") VOrder=parser.ParseIntValue();
else if(id=="wDimension") WDimension=parser.ParseIntValue();
else if(id=="wKnot") WKnot.AddRange(parser.ParseSFFloatOrMFFloatValue());
else if(id=="wOrder") WOrder=parser.ParseIntValue();
else return false;
return true;
}