Release 0.5, 28.04.1994 by Thomas Engel (tomi@shinto.nbg.sub.org) The 3DDeviceServer Application This NeXTSTEP application is a general purpose device server. It is the central part of a collection of various device drivers for many different 3D hardware tools. With the help form NeXTs DO/PDO system it will allow an easy 'plugin' into existing software that may run distributed accross a network. The server tries to simplify shared access to one hardware device by multiple clients (or as I call them: device targets). In addition to that it will allow switching between different devices while they are in use. Using the Server Just start the server. When you click on one of the buttons from the Device windows scrollview, the corresponding driver will become active. Detailed information on how to use the program can be found inside the online help system. For more information on how to use the server in your own projects please read the tutorial in the second chapter. The Package Version 0.5 comes in a package that includes: · 3DDeviceServer.app. Binary for NeXT and Intel hardware with two included 3D mouse drivers (details later). · Online Help · Full Sourcecode · Documentation and a ASCII version (README) of this Introduction On where to find the latest releases please see the 'About this Project' section. Features This project is still some kind of beta although it runs very stable. From all the possible devices that this server offers access methods for (mouse, glove, display, scanner, motionTracker) only the mouse method will return a valid driver. Right now I only have a 3D mouse API. If you would like to help designing APIs for other equipment please let me know. The connections to devices work via the servers PDO port named "/3DDeviceServer". But at this moment it is fixed to "localhost/¼". For more details read the Release Notes and some History. The only 3D mouse the server does support is the SpaceMouse (Driver release v 0.8). It is the only mouse I own. In my opinion it is the best 3D mouse solution I have seen so far. More information about the hardware can be found in the online help. The other 'mouse' is the Virtual 3D Mouse (Driver release v 0.6). It is just a simple GUI (slider based) pseudo mouse. Good for testing your software and for setting exact rotation values. Supporting Software Currently (as of 28.4.94) there is no publicly available application that is able to use this server. But two projects are underway. · BeakerBoy. My privat chemistry program¼and the reason why I wrote this server. Version 0.3 will include 3D mouse support but is not ready yet because I need to include the IconKit before I put it on the net archives. The code used to handle to 3D mouse events can be found inside the tutorial. · solidThinking MODELER. Guido Quaroni from Gestel was one of the early supporters of this server. He is trying to include 3D mouse control into the v2.0 release that will be demo'ed at the NEXTSTEP EXPO '94. For details on the support I might give other programmers please read the tutorial. If you are a user and would like to use a 3D mouse in your vavorite application you should contact its developers. Maybe they haven't heard of this server or they think it is not worth 10-20 minutes of programming unless someone needs it. Future plans Here are the most wanted improvements form my ToDo-list. More can be found in the online help. · PDO naming should include the hostname of the machine it is running on. · Loading the drivers from bundles. Well quite easy but it needs some time. · Forcing my brother to repaint my device icons. They are ugly. · I like datagloves so I might take a look at the PowerGlove code moving around the net. Gloves might be a subclass of 3DMouse adding absolut postitons (transformationEvent:isAbsolut:) and data on the fingers (fingerEvent:). This way 3D mouse systems with absolut positions couse work as gloves as well. We might also have a right¼ and leftGlove in our server. About this Project Development will continue but not at very high speed because the main project is still the BeakerBoy application. At this moment it is still not clear if the driver objects and this server program will find their way into the MiscKit project. The latest version of this server will be available at the ftp.informatik.uni-muenchen.de or cs.orst.edu anonymous ftp servers. SpaceControl will have access to the latest version too, so when you want to buy a mouse just tell them that you are using a NeXTSTEP system. This will cost no extra charge! (as they assured me) Compiling This version includes all the source code needed to just compile the program from scratch. In the future I won't include objects that are part of the MiscKit distribution. So if you need to recompile the application you will need to get the MiscKit project from the archives. For more details on the MiscKit collection see the ftp servers mentioned above or get the Objective-C or NeXT faqs. If you would like to submit something to this collection you should contact: Don Yacktman In Case of Trouble If you have any questions you might contact me. Thomas Engel Netpunstr. 9 D-90522 Oberasbach Germany E-mail: tsengel@cip.informatik.uni-erlangen.de tomi@shinto.nbg.sub.org I would like to thank my brother (IconDesign), Matt Brandts (MiscSerialPort), DLR & SpaceControl (hardware questions), Guido Quaroni (software support) and NeXT (PDO is quite cool) for making my work easier. Warrenty and copyright Copyleft Source code that is not part of the MiscKit project - and therefore underlies the MiscKit distribution and copyright rules - is distributed under the GNUpublic license. If you want to write a device driver that you would like to sell, please contact me. No Warrenty This software is provided 'as is' and the programmer is not responsible for any harm this program may cause. You - the user - are responsible for everything that may happen to your business, hardware, software, car, CD collection or what ever may be worth your attention or money. The use of this product is at your own risk and your private fun. There should be no serious bugs inside but remember that a carbon-based unit did the coding. TravelWare Like all my projects this app is free and should be considered as travel-ware. - Let it travel to as many people you know. - Send me a postcard or E-mail if you use it. I will try to keep you informed about new releases. - If you have a free bed or some free space on your floor¼ give me a hint. I might come and visit you on my trip to the US (locations on Hawaii, near Seattle or WhistlerMnt. preferred) Enjoy it.