ftp.nice.ch/pub/next/graphics/3d/3DDeviceServer.0.51.README

This is the README for 3DDeviceServer.0.51.s.tar.gz [Download] [Browse] [Up]

Release 0.51, 10.12.1994 by Thomas Engel (tomi@shinto.nbg.sub.org)



 			The 3DDeviceServer 		
				Application

ATTENTION..you need gnutar and gzip to unpack this package.


 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 of NeXTs DO/PDO system it
will allow an easy 'plug-in' 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.51 comes in two packages:

 - 	3DDeviceServer.app & Documentation. 	
 	The 3DDeviceServer.0.51.NIHS.bd.tar.gz archive contains a plug'n'play
	binary for NeXT, Intel, HP and Sparc hardware that was compiled under
	NeXTSTEP v3.3.

 - 	Source. 	
 	In 3DDeviceServer.0.51.s.tar.gz you can find the
	complete sourcecode for this project. More details on compiling are
	included below.

 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
"<hostname>/3DDeviceServer". For more details read the Release Notes
and some History.

The only 3D mouse the server knows about at the moment is the
SpaceMouse (Driver release v0.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 v0.6). It
is just a simple GUI (slider based) pseudo mouse.  Good for testing
your software and for setting exact rotation values.

If you own a different kind of 3D input device it should be straight
forward to write a driver yourself and include it into the server.


Supporting Software

Currently (as of 10.12.94) there is one publicly available
application that is able to use this server. But others 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.2 release that might be be around sometime in mid
  '95.

 HippoDraw. 	
  The Reason Gang enhanced NeXTs original Draw demo
  application to allow displaying n-tuple data and the relations
  between certain columns of the tables. Mouse support should be around
  by Q1/95.

 WavesWorld. 	
  This free collection of objects and InterfaceBuilder
  palettes was created by Michael B. Johnson. It allows RenderMan
  objects to be controlled by TCL scripts or other control object.
  Mouse support should be around once the rotation handling of the
  WW3DWell class has cleaned up a little.

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. 

 - 	Loading the drivers from bundles. Well quite easy but it
	needs some time until the MiscFile classes have come to a rest.

 - 	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
	about the fingers (fingerEvent:). This way 3D mouse systems with
	absolut positions could 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 my
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. Maybe with a Misc3DKit this
might get more realistic. Anyway, the MiscRtMatrix is necessary to use
this server in your applications.

The latest version of this server will be available at the
ftp.informatik.uni-muenchen.de or ftp.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 but it does not 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 (Version
1.2.8 or higher)

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 <don@darth.byu.edu>


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 (DOs are 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. Using 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.

 1. Let it travel to as many people as you know. 

 2. Send me a postcard or E-mail if you use it. I will try to
    keep you informed about new releases.

 3. 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. (Canada) 
    preferred)



Enjoy it. 

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.