X3D教程:內容模型
发布: 2007-9-22 11:35 |
作者: webmaster |
来源:
本站原创 |
查看: 354次
什么是内容模型?
有些节点可以包含子节点,因而产生父节点子节点的关系,但这样的关系并不是可以任意建立的。例如,Shape节点可以包含一个Box节点以表示其几何:
但是Box节点却不能包含一个Shape节点。例如下面这个程序代码是不合法的。
这种父节点子节点的关系一共可分为十类,并定义了十种内容模型,描述节点可以包含哪些节点作为子节点。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
| |
|