Encapsulates a new object.
Two purposes:
- to notify the client a new object enters the scene
(Client calls Add( VRObject ))
- to add a new object to the database
(Client receives Add id className name request)
This class encapsulates authentication information:
- login name
- password
- client ID (class and it within the class)
- classpath used for commands
- objects owned by this client NOTE:
All fields are public to enable database storage.
A simple console, able to connect to server.
Uses following properties to connect:
vrspace.host - default: localhost
vrspace.port - default: 8500
vrspace.login - default: guest
vrspace.password - default: guest
vrspace.command - command to execute & quit - default:none
Propmts on stdin for unset properties.
Request format: upload classNamepath
For non administrator's the path must be in the form
userName/dir1/dir2/.../dirn/file, although the directory
seperators may be \'s.
Fetch an object from the database having field name equal to name parameter
IMPORTANT: no protection mechanism, at least AuthInfo objects
should not be retreived!
Fetch an object from the database having field name equal to name parameter
IMPORTANT: no protection mechanism, at least AuthInfo objects
should not be retreived!
Parses vrml97 file
Every root Transform is stored in separate file, named by DEF name ie
DEF T1 Transform {...} -> output/T1.wrl
by calling write( String destFile );
Every "url" is processed and if it is a file on a local filesystem,
copied with copyURL( URL )
Request scene updates for all clients.
Most likely inapropriate to be located in the dispatcher, but for
now the dispatcher is the most centralized object.
This keeps track of objects visible to the Client.
This scene uses coordinates to determine which objects are in range.
Scene is updated when client moves more than resolution meters, or
when timeout occurs.
It also has some basic filtering capabilities - not tested.
A Session is constructed and started when a client connects to the server.
If client authenticates passes, session calls Dispatcher.login()
Should it be a OwnedDBObject? Could we store session state then?
setAll - class org.vrspace.server.command.Administrator.setAll.
Syntax: setAll className destField srcField
For all members of className, sets field destField to value of srcField.
If fields are not of the same class, destField must have constructor which takes class of srcField as a parameter.
Intended for migration.
setAll() -
Constructor for class org.vrspace.server.command.Administrator.setAll
adds class filter
usage: my addFilter org.vrspace.server.filter.ClassFilter VrmlFile
removes all VrmlFile instances from the scene.
Default package name for filters is org.vrspace.server.filter
Tries to call constructor with following parameters:
- String
- Request
- none (Class.newInstance)
VRObject filters are used to eliminate objects not needed in the scene.
In order to allow the scene to add and remove filters properly, filters must implement equals() method.
I.e.