IndexedFaceSet节点

IndexedFaceSet {

coord NULL  # exposed field SFNode
coordIndex [ ] # MFInt32
texCoord  NULL # exposed field SFNode
texCoordIndex [ ] # MFInt32
color NULL # exposed field SFNode
colorIndex [ ] # MFInt32
colorPerVertex TRUE # SFBool
normal NULL # exposed field SFNode
normalIndex [ ] # MFInt32
normalPerVertex TRUE # SFBool
ccw TRUE # SFBool
solid TRUE # SFBool
convex TURE # SFBool
creaseAngle 0 # SFFloat

}

 
coord 含一个Coordinate节点,这个节点列出了标号平面集之中所有的顶点。 
coordIndex 一个多边形列表,每个多边形通过一组指向Coordinate节点中的顶点索引来指明。 
texCoord  含一个TextureCoordinate节点,指明将一幅纹理映射到标号平面集之上。 
texCoordIndex 指向TextureCoordinate节点的索引列表。 
color 一个Color节点,它列出了用于为每个顶点或每个面着色的颜色列表。 
colorIndex 指向Color节点的索引列表。 
colorPerVertex 如果在color域有一个节点,则该域指明是把一种颜色赋给每个顶点(TRUE)还是赋给每个表面(FALSE)。 
normal 如果要指定一个法向量,让此域包含一个Normal节点。 
normalIndex 指向Normal节点的索引列表。 
normalPerVertex 指明是否已为每个节点(TRUE)还是给每个表面(FALSE)确定了法向量。如果normal域为空,该域被忽略。 
ccw 指明每个表面上的顶点。当从前面看时,是以逆时针方向排列(TRUE)还是以顺时针方向排列(FALSE)。当为TRUE时,所画平面正面面向屏幕;当为FALSE时,所画平面背面面向屏幕。 
solid 指明用户是否能看见任何表面的背面。
convex 指明是否所有表面是凸的。如果是,一些浏览器可以优化运算过程。 
creaseAngle 转折角,可以使相邻两表面间的边界看上去有平滑过渡。
 
事件
set_colorIndex eventIn  MFInt32
设置 colorIndex 的域值 
set_coordIndex eventIn  MFInt32
设置 coordIndex 的域值 
set_normalIndex  eventIn  MFInt32
设置 normalIndex 的域值 
set_texCoordIndex eventin  MFInt32
设置 texCoordindex 的域值
 
说明
     一个IndexedFceset节点代表一个由一组顶点构建的一系列平面多边形形成的3D形体。一个索引的表面集合通过coordIndex域内的一个索引值列表说明它的多边形表面。索引值为一l时,表明当前表面已经结束,下一个表面将要开始。索引的表面集合只能在Shape节点的geometry域中出现。
   如果texCoord域不是NULL,这时它引用的TextureCoordinate节点中坐标出现的倾序决定各坐标的编号,编号的起点为0。如果texCoordIndex域不空,其值的个数不应少于coordIndex域,并在与coordInd ex域相同的位置包含相同的分隔标志一1,其地位置的质材坐标编号顺序对应着coordIndex中顶点编号,将质材坐标与顶点联系起来。如果texCoordIndex域为空,那么直接把coordIndex域的编号当成质材坐标编号,从TextureCoor dinate节点中选择质材坐标,这时如果coordIndex域中最大的编号是N,TextureCoordinate节点中应该包含 N+l个坐标值。
    通过使用texuXirdlndex域中的索引值,可以将纹理坐标(由Texturecoordinate节点定义)与形体的顶点捆绑在一起。对于所有基于顶点的形体,如当前有一纹理但没指定纹理坐标,缺省的纹理坐标映射可以用形体的包围盒计算。包围盒的最大长度定义了S(水平)向的纹理坐标,次长度定义t(垂直)方向的纹理坐标。S坐标的值由0到1,从包围盒的一端到另一端。t坐标在0和包围盒的次长与最大长度的比率之间变化。 

主页 节点说明 来信