Académique Documents
Professionnel Documents
Culture Documents
Prototipos
Contenido CAPÍTULO 3
2
Hasta ahora sólo he mencionado que estos prototipos de actuar como nodos de
un recuadro negro en la escena. Lo que quiero decir es que una vez que usted
declara un prototipo de nodo, la definición interna no está disponible para ser
usado o en cualquier juega con la moda. De manera que usted pudiera pensar
que es como se declara una clase en Java. Hay un conjunto definido de interfaz
3
Características prototipo
Hay dos cuestiones alcance a mirar aquí: nodos en el interior del prototipo y la
utilización del prototipo en sí.
NOTA: Prototipo nodos suelen ser mencionados por el término abreviado proto.
4
La norma aplicable a los nodos con DEF declarado en el interior del prototipo es
muy simple: No hay ninguna. Un prototipo de las formas de su nombre propio
ámbito de aplicación. Hay una pared de ladrillos entre los nodos declarados y
utilizados dentro y fuera de ese prototipo. Nodos DEF declarado en el interior
del prototipo no se puede acceder desde fuera del protocolo, ni puede utilizar
cualquier nodo que ha sido declarado fuera de la proto dentro de ella y
viceversa.
Prototipo de nodo sigue utilizando normas similares a DEF / USO alcance: el uso
se limita a sólo el archivo actual de que el prototipo fue declarado en el nodo, y
sólo después de la definición original de la misma. La principal diferencia es
que usted puede hacer referencia a un prototipo declarado en otro archivo.
Declarar un Prototipo
La sintaxis de un prototipo de nodo es un poco diferente de lo que se
puede utilizar para ver. Un prototipo de declaración consta de tres
partes: el nombre, la definición sobre el terreno, y la aplicación. Si
usted piensa que una de estas partes en términos de clase de Java, que
equivalen a aproximadamente el nombre de clase, clase y forma variable de
declaraciones, y método de aplicación.
PROTO figura
PROTO SimpleShape [
exposedField SFNode newGeometry NULL
exposedField SFColor newColor 0 0 0
]
La primera vez que empezar a trabajar en un prototipo, usted tiene que saber
qué campos que necesite y qué tipo de declararlas. El método más sencillo
para encontrar trabajo es a qué tipo de nodo que se va a aplicar y, a
continuación, que el uso como punto de partida para los campos que desee
para proporcionar al exterior "usuario" de ese nodo.
Escritura de la aplicación
Una vez que haya declarado la interfaz, es necesario escribir la
aplicación. Esta es la parte fácil. Se escribe lo mismo que cualquier
otra pieza de código VRML y se envuelve en un par de llaves. Sólo hay una
pequeña diferencia: Los campos que desea enlazar a los declarados en la
primera parte se conectan utilizando la palabra clave.
6
PROTO SimpleShape [
exposedField SFNode newGeometry NULL
exposedField SFColor newColor 0 0 0
]{
Shape {
appearance Appearance {
material Material { emissiveColor IS newColor }
}
geometry IS newGeometry
}
}
Usted puede ver cómo un campo está conectado con uno de los campos en la
declaración sólo por nombrar los dos que está atascado en el medio. Eso es
todo lo que a él.
SE puede ser usado para asociar un campo con múltiples nodos internos. Esto
es muy útil porque forma implícita una ruta entre el campo y los nodos
internos. Si el campo recibe un evento, entonces se pasa a todos los nodos que
utilizan dentro de ese evento.
Convenios
La otra convención general es que los valores por defecto suelen ser los
mismos que los del campo que se está asociado.
Uso de prototipos
Una vez que haya declarado un prototipo de nodo, puede utilizarlo en el
escenario como cualquier otro nodo. Se podría crear un pequeño mundo que
tiene dos objetos en el mismo y nuestra SimpleShape prototipo de nodo
7
Eso es todo lo que hay que utilizar nodos prototipo. Como se puede ver en el
código anterior, una vez que el prototipo se declara que es utilizado como un
nodo normal. Dado que este ejemplo se basa en un nodo de forma que
podemos usarlo en cualquier lugar que una forma puede ser utilizado .
¿Dónde pertenece?
pueden colocar en la escena. Proto nodos también tienen que encajar en este
sistema de agrupación.
PRECAUCIÓN: La agrupación de un prototipo de nodo se determina por el primer nodo que aparece en la
aplicación de su definición. Esto es muy importante recordar, y es la fuente de muchos errores.
Sólo una pequeña excursión de nuevo a nombre del alcance de nuevo. DEF
porque se limita a los límites de la prototipo, debe asegurarse de que todo lo
que necesita son rutas declarado que se cerraron por última vez antes de
rizado soporte.
En el otro archivo en el que desea que el uso de proto, que necesita para
comenzar a declarar por los campos que su prototipo de nodo ha declarado.
Todo lo que necesitas hacer es diferente EXTERNPROTO el uso de palabras
clave en lugar de la palabra clave PROTO en la declaración. Al final de los
corchetes, se puede colocar una lista de los URL o URN para el archivo que
contiene la aplicación. Por ejemplo, digamos que nuestra vida SimpleShape
prototipo en un archivo llamado shapes.wrl:
EXTERNPROTO SimpleShape [
exposedField SFNode NULL newGeometry
exposedField SFColor newColor 0 0 0
]
9
"shapes.wrl # SimpleShape"
Si hay varias alternativas, puede colocar una lista separada por comas de
direcciones URL y las urnas.
Transform {
translation 2 0 0
children SimpleShape {
newColor 0 0 1
newGeometry Cone {
height 1
10
bottomRadius 0.25
}
}
}
Declaraciones sobre el terreno
Tal vez una de las cosas más útiles que puedes hacer con PROTO /
EXTERNPROTO partes es crear una biblioteca. Las bibliotecas convertirse
en un conjunto de piezas que usted puede reutilizar a través de diversas
escenas de una y otra vez.
Una de las cuestiones interesantes que parece que no deja de venir es,
¿cuál es la diferencia entre un archivo de "inline" y un prototipo de nodo
externamente? Después de todo lo que puede incluir tanto en la escena
varias veces siempre que lo desee.
Resumen
Bueno eso es todo para la parte introductoria del libro. En este capítulo
he cubierto de cómo crear sus propios nodos y de referencia tanto
dentro como fuera del archivo original que fueron declaradas pulg
PROTO / EXTERNPROTOs son tan útil que la mayor parte del trabajo que
usted verá en el resto de este libro se basa en ellos. La mayoría de las
próximas normas que están tratando de ampliar las capacidades de
VRML 2.0 hacerlo utilizando las definiciones de los nodos prototipo, que
puede a través de una lista de referencia de la URN. En particular, la
especificación de los mundos de vida-que nos ocupamos de la parte 2 de
este libro-está muy basada en ellos.