tiene dos campos:
- coord, cuyo valor es el nodo Coordinate, y que sirve para determinar las coordenadas de los puntos aislados que se van a unir entre sí para formar las líneas. Se definió en el capítulo anterior.
- coordIndex, con este campo se define el orden con el que se unen los puntos entre sí, dónde empieza y acaba una línea, etc., como vamos a ver a continuación.
- IndexedLineSet{
coord Coordinate {
point [ . . . ]
}
coordIndex [...]
colorPerVertex valor_lógico
color Color {
color [ . . . ]
}
colorIndex [...]
}
Para que se pueda ver debe estar incrustado en el nodo Shape.
Ejemplo:
#VRML V2.0 utf8
Transform{
translation 0 1 2
children [
Shape{
geometry Text {
string ["hexagono"]
fontStyle FontStyle {
family "Arial",
size 2
justify "center"
}
}
}
]
}
Shape{ <-------
geometry IndexedLineSet{
coord Coordinate{
point[
2.1 0 0,
2.2 0 0,
2.3 0 0,
2.4 0 0,
2.5 -.1 0,
2.6 -.2 0,
2.7 -.3 0,
2.6 -.4 0,
2.5 -.5 0,
2.4 -.6 0,
2.3 -.6 0,
2.2 -.6 0,
2.1 -.6 0,
2.0 -.5 0,
1.9 -.4 0,
1.8 -.3 0,
1.9 -.2 0,
2.0 -.1 0,
]}
coordIndex [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,0,-1]
}
}
Para determinar el color de cada uno de los segmentos que compone la línea, hay que hacer uso de tres campos más:
- color
- colorIndex
- colorPerVertex
Con el campo colorIndex se atribuye a cada una de las líneas existentes alguno de los colores expresados en el campo anterior.
Con el campo colorPerVertex se especifica si los colores serán colores continuos, o un gradiente entre dos colores.
En el campo color se especifica el color (o los colores, si hay más de una línea)
En el campo colorIndex se atribuye el color a la la línea (o líneas, si hay más de una). Este campo hace una función análoga con los colores y las líneas a la del campo coordIndex con los puntos y las líneas.
Ejemplo:
#VRML V2.0 utf8
#Ejemplo de linea de color verde, uniendo tres puntos
Shape {
geometry IndexedLineSet {
coord Coordinate {
point [
5 5 0, #este es el punto 0
15 9 0, #este es el punto 1
20 18 0 #este es el punto 2
]
}
coordIndex [
0, 1, 2, -1
]
color Color {
color [
0 1 0 #este es el color 0 (verde),
] #el unico posible pues solo hay una linea
}
colorIndex [
0 #a la unica linea se le atribuye el unico color 0
]
colorPerVertex FALSE
}
}
No hay comentarios:
Publicar un comentario