Professional Documents
Culture Documents
Contenido CAPÍTULO 6
Un API puede actuar en toda la escena VRML desde el exterior, evitando así
un navegador centrado en vista de la escena. Líquido en la realidad, la
aplicación o applet puede controlar cada objeto independiente. Objetos
pueden chocar entre sí o pueden poner en práctica el comportamiento de
evitación. Esta relación entre los pares de objetos va más allá de lo que es
posible dentro de la actual arquitectura de VRML 2.0.
Paquete dnx.geom
Paquete dnx.ice
5
Paquete dnx.lr
Paquete dnx.lr.field
Paquete dnx.lr.node
Así como el paquete dnx.lr.field definido una clase para cada tipo de campo
de VRML, el paquete dnx.lr.node define una clase para cada uno de los
nodos de la especificación de VRML. Vrml.node mientras que el paquete
contiene sólo dos clases, vrml.node.Node y vrml.node.Script, el dnx.lr.node
paquete contiene 64 clases, una para cada uno de los 54 tipos de nodo de
VRML más 10 otros líquidos realidad específica utilidad de los nodos. Clases
para cada uno de los nodos de VRML son tan útiles, que más adelante en
este libro que le llevará a través del desarrollo de un paquete similar para su
uso dentro del EAI, que actualmente carece de esas clases.
Todos los líquidos específicos de la realidad son nodos con el prefijo "DNX" y
se puede utilizar dentro de su archivos VRML simplemente declarando el
nodo como un EXTERNPROTO y apuntando a la realidad la aplicación de
líquidos:
7
EXTERNPROTO DNXBooleanIntConversion [
exposedField SFInt32 trueValue
exposedField SFInt32 falseValue
eventIn SFBool set_SFBool
eventOut SFInt32 SFInt32_changed
eventIn SFInt32 set_SFInt32
eventOut SFBool SFBool_changed
]
"urn:inet:dnx.com:lrnode:dnx.lr.node.DNXBooleanIntConversionNode"
Nodos en este paquete tienen todos los métodos que permiten al usuario
para averiguar qué campos se definen de ese nodo y para obtener los
valores de los campos. Esto permite que el usuario de la API para escribir
programas que se ocupan de los tipos de nodos que se desconoce en
tiempo de compilación una potente característica.
Paquete dnx.lr.app
Paquete vrml
Paquete vrml.field
Vrml.field El paquete contiene una clase para cada tipo de campo se define
en la especificación de VRML-cada una de estas clases se extiende sobre el
terreno o Mfield. Este paquete contiene también una Constitución
<fieldname> clase para cada tipo de campo para mantener los campos que
no se puede modificar la Constitución-estas clases ConstField o ampliar
ConstMField.
Paquete vrml.node
Como señalamos antes, este paquete contiene sólo dos clases: vrml.Node y
vrml.Script.
Uso de la API
import dnx.lr.*;
import dnx.lr.app.*;
import java.awt.*;
import java.io.IOException;
import java.net.URL;
if (args.length != 1) {
System.err.println("Usage: java VRMLBrowser <url>");
System.exit(0);
}
try {
frame.readScene(args[0]);
}
catch (VRMLSyntaxException e) {
System.out.println ("Invalid VRML Syntax in file: " +
args[0]);
return;
}
catch (IOException e) {
System.out.println ("Unable to load: " + e);
return;
}
frame.add("Center", frame.view.getComponent());
frame.resize(440, 340);
frame.show();
frame.document.start();
}
}
11
Todavía se necesita
Otra fuente de problemas es que el ICE, líquidos Realidad 3-D del motor de
12