閑闪互动多媒体-厦门网站建设者 >> 技术文献 >> 虚拟现实 >> X3D教程:內容模型

X3D教程:內容模型

发布: 2007-9-22 11:35 |  作者: webmaster |  来源: 本站原创 |  查看: 354次

什么是内容模型?

  有些节点可以包含子节点,因而产生父节点子节点的关系,但这样的关系并不是可以任意建立的。例如,Shape节点可以包含一个Box节点以表示其几何:

<Shape>
 <Box/>
</Shape>

  但是Box节点却不能包含一个Shape节点。例如下面这个程序代码是不合法的。

<Box>
  <Shape/>
</Box>

  这种父节点子节点的关系一共可分为十类,并定义了十种内容模型,描述节点可以包含哪些节点作为子节点。ProtoInstance节点依据其性质,也有可能会是下列任一内容模型中的节点。

AppearanceChildContentModel

  在Appearance节点中用以表示外观性质的子节点,每一种节点最多出现一次。下列两个节点需根据几何节点斟酌使用:

· FillProperties
· LineProperties

  上面两个节点之后可以任意顺序接着下列节点:

· Material
· ImageTexture
· MovieTexture
· MultiTexture
· PixelTexture
· TextureTransform
· MultiTextureTransform

ColorCoordinateContentModel

  在IndexedLineSet与PointSet节点中用来定义坐标点及颜色的子节点。下列每一个节点至多出现一次,顺序不拘:

· Coordinate
· Color或ColorRGBA

ColorCoordinateNormalTexCoordContentModel

  在IndexedFaceSet节点中用来定义颜色、坐标点、法线向量及纹理坐标的子节点。下列每一个节点至多出现一次,顺序不拘:

· Color或ColorRGBA
· Coordinate
· Normal
· TextureCoordinate

ColorNormalTexCoordContentModel

  在ElevationGrid及GeoElevationGrid节点中用来定义颜色、法线向量及纹理坐标的子节点。下列每一个节点至多出现一次,顺序不拘:

· Color或ColorRGBA
· Normal
· TextureCoordinate

GroupingNodeChildContentModel

  群节点中所包含的子节点。大部份的节点都可以作为群节点的子节点,举凡群节点、ProtoDeclare、ProtoInstance,并且可以是任意的组合及顺序。以下为不能作为群节点子节点的节点:

· ShapeChildContentModel中所有节点
· Core组件中所有节点
· Rendering组件中所有节点
· Texturing组件中所有节点
· Appearance
· FillProperties
· LineProperties
· Material
· AudioClip
· GeoCoordinate
· GeoOrigin
· HAnimDisplacer
· Contour2D
· ContourPolyline2D
· CoordinateDouble
· NurbsCurve2D
· NurbsTextureCoordinate

ShapeChildContentModel

  Shape节点中所包含的子节点。可以有一个Appearance节点和一个几何节点,顺序不拘。

几何节点可以是:

· IndexedLineSet
· IndexedTriangleFanSet
· IndexedTriangleSet
· IndexedTriangleStripSet
· LineSet
· PointSet
· TriangleFanSet
· TriangleSet
· TriangleStripSet
· Geometry3D组件中所有节点
· Geometry2D组件中所有节点
· Text
· GeoElevationGrid
· NurbsCurve
· NurbsPatchSurface
· NurbsSweptSurface
· NurbsSwungSurface
· NurbsTrimmedSurface

SoundChildContentModel

  Sound节点的子节点,可以是下列节点中的其中一个:

· AudioClip
· MovieTexture

TextChildContentModel

  Text节点的子节点,可以是一个:

· FontStyle

TextureBackgroundChildContentModel

  TextureBackground节点的子节点,最多可以包含六个纹理节点,每一个纹理节点都有不同的containerField属性,依次为topTexture、bottomTexture、leftTexture、rightTexture、frontTexture和backTexture。纹理节点可以是:

· ImageTexture
· MovieTexture
· MultiTexture
· PixelTexture
打印 | 收藏此页 |  Mail给朋友 | 举报
上一篇 下一篇
 

评分:0

发表评论
seccode 换一个
【已有0位网友发表了看法,点击查看全部评论