Logitech Magellan/SPACE MOUSE Classic Programmer'S Manual Download Page 16

16

Syntax:

int MagellanClose (
/* [in] */ HMAGELLAN MagellanHandle );

Magellan

Handle

Magellan handle. Normally, this
parameter is a variable initialized by the

function 

MagellanInit.

Result:

If the function succeeds, it returns the

value TRUE. If not, it returns the value
FALSE.

File:

mgldll.h

MagellanInfoWindow

This function commands the Magellan driver to
execute several different functions depending
on the 

MagellanInfoType

 parameter.

Syntax:

int MagellanInfoWindow (
/* [in] */ HMAGELLAN MagellanHandle,

/* [in] */ WPARAM MagellanInfoType,

/* [in] */ LPARAM MagellanInfo );

Magellan

Handle

Magellan handle. Normally, this
parameter is a variable initialized by the

function 

MagellanInit.

MagellanInfo

Type

Contains the following elements:

MagellanSetWindowCommand

MagellanApplicationSensitivity

MagellanRingBell

MagellanApplicationStarts

MagellanModeChange

MagellanNullRadiusChange

MagellanControlPanel

MagellanSet

Window

Command

Set the window handle, stored in

MagellanInfo, into the Magellan/SPACE

MOUSE driver as the current application
window. All messages created by the

Magellan/SPACE MOUSE driver are now
sent to the given window. A similar call

from a different client or an application
change (focus window) could cause a

change of the application window.

Magellan

Application

Sensitivity

Set the current application sensitivity
stored in 

MagellanInfo (type is float) into

the Magellan/SPACE MOUSE driver. Note
that the feature to display the current

application sensitivity has been disabled
since MGLDRV.EXE Driver Version 4.60.

MagellanRing

Bell

Activate the internal beeper of the
Magellan/SPACE MOUSE device. The

duration (in milliseconds) is given in

MagellanInfo.

Magellan

Application

Starts

Ignored.

Magellan

ModeChange

Turn on or off the buttons that permit
mode changes (translation, rotation and

dominant ON/OFF) in the 

Panel window

of the Magellan/SPACE MOUSE driver.

When 

MagellanInfo is set to 1, mode

changes are enabled. When 

MagellanInfo

is set to 0, mode changes are disabled.

MagellanNull

Radius

Change

When 

MagellanInfo is set to 0, the user

cannot change the Null Radius using the
device keyboard. If set to 1, the user is

allowed to change the Null Radius using
the device keyboard (*7).

Magellan

ControlPanel

Turn on or off the menu entry 

Panel of

the Magellan/SPACE MOUSE driver. When

MagellanInfo is set to 1, the Panel menu

entry is enabled. When 

MagellanInfo is

set to 0, the 

Panel menu entry is

disabled.

MagellanInfo

Argument for 

MagellanInfoType. Stores

different data types. For more information
see 

MagellanInfoType, above.

Result:

If the function succeeds, it returns the
value TRUE. If not, it returns the value

FALSE.

File:

mgldll.h

Summary of Contents for Magellan/SPACE MOUSE Classic

Page 1: ......

Page 2: ...on existing patents registered designs or trademarks Missing corresponding remarks do not justify the assumption that the names may be freely usable All trademarks are acknowledged where applicable NOTICE The use of the Magellan SPACE MOUSE is primarily intended for graphical applications only The company LogiCad3D is not liable for any damages including all kinds of damage from lost profit operat...

Page 3: ...ber of Characters in Commands 10 X Window Interface 11 Software Interface 11 X Window Driver Window 11 Placing the Application Window 11 Receiving Events 12 The xdrvlib c Library 13 Windows Interface mgldll c Library 15 MagellanInit 15 MagellanSetWindow 15 MagellanTranslateEvent 15 MagellanClose 15 MagellanInfoWindow 16 Appendices 17 Turbo Magellan SPACE MOUSE 17 Mathematics of 3D Motion Control 1...

Page 4: ...e is registered i e the onscreen object moves in only one direction at a time This can be a translational or rotational direction Subsequently the Magellan SPACE MOUSE sends an m r command without request The default is OFF K and K 4 Zeroing The Magellan SPACE MOUSE is zeroed at the current position of the cap as indicated by a double beep All subsequent inputs are relative to this position Subseq...

Page 5: ... in the first line by B7 through B0 while the meaning of the bits is defined in the subsequent line For example suppose a bit sequence is defined as follows B7 B6 B5 B4 B3 B2 B1 B0 K4 K3 K2 K1 Bits B7 through B4 must be set according to the nibble code e g 0011 3 0100 4 while bit B3 contains the state of key K4 B2 the state of key K3 etc Each command must be terminated by a carriage return charact...

Page 6: ...the data packet inputs A B and C are set to zero nibble2 B7 3 B2 B1 B0 quicktip extkey compress quicktip 1 Quicktip is enabled 0 Quicktip is disabled extkey 1 State of the Magellan SPACE MOUSE plus button appears in bit B1 of nibble3 of the keyboard response command kQ r State of the minus button appears in bit B2 of nibble3 0 State of the Magellan SPACE MOUSE plus button appears in bit B1 of nibb...

Page 7: ...up Command Function Sets the sensitivity of the Magellan SPACE MOUSE Defines relationships between 1 translational displacements of the cap and the corresponding translational data sent to the computer and 2 rotational displacements of the cap and the corresponding rotational data sent to the computer Command q nibble1 nibble2 r nibble1 B7 4 B3 B2 B1 B0 sensitivity tra nibble2 B7 4 B3 B2 B1 B0 sen...

Page 8: ...nternal flasher of the Magellan SPACE MOUSE for the specified amount of time Command f nibble r nibble B7 4 B3 B2 B1 B0 S R duration S R 1 The Magellan SPACE MOUSE flasher is set to a simple flash mode for the specified duration all LEDs are illuminated simultaneously 0 The Magellan SPACE MOUSE flasher is set to a runlight mode for the specified duration the LEDs are illuminated in sequence durati...

Page 9: ...a rate command p r If this period is exceeded the Magellan SPACE MOUSE transmits a data packet without request 3 The minimum time period is exceeded and a data packet has been requested via the data command dQ r If data packets are requested more often than the minimum time period permits the requests are ignored As an example suppose the Magellan SPACE MOUSE transmits the following data packet dH...

Page 10: ...Carriage Return Character r The commands transmitted to Magellan SPACE MOUSE must be terminated by the carriage return character r r CR 13d 0DH If this character is missing at the end of a command string the Magellan SPACE MOUSE will remain in a completely passive state while waiting for the terminating r During this time no displacements of the cap or keyboard commands will be registered If the M...

Page 11: ...om display CommandEvent TRUE X Window Driver Window The X Window driver opens a window in which it starts the application Events can only be sent to windows but they can always be received by the receiver because the client message information cannot be marked by the receiver For the application to receive the window number of the X Window driver the driver must put down the window number as a cha...

Page 12: ...driver sends the application three translational values X Y and Z three rotational values A B and C and the period of duration Each value requires 16 bits These values are used to interpret the speed of the graphical object The normal range of these values is about 400 but increasing the sensitivity increases the range to approximately 6000 The following program excerpt reads the movement files ou...

Page 13: ... to this window Syntax int MagellanInit display window Display display Window window display Makes the connection to the X server firm see XOpenDisplay in Xlib Programming Manual window The number of an opened window or the constant InputFocus i e PointerWindow Result If the function succeeds it returns the value TRUE If not it returns the value FALSE File xdrvlib h MagellanSetWindow This function...

Page 14: ...uble C B A Rotate Stores the 4x4 rotation matrix C Rotation angle about the z axis B Rotation angle about the y axis A Rotation angle about the x axis Result The function always returns the value TRUE File xdrvlib h MagellanMultiplicationMatrix This function multiplies the data from two rotation matrices parameters MatrixB and MatrixC and stores the results in MatrixA Note that the first three row...

Page 15: ... driver and stores the resulting information into the data structure pointed by MagellanEvent The Magellan driver sends a message to the application window handler if one of three different types of events occurs MotionEvent ButtonPressEvent or ButtonReleaseEvent Syntax int MagellanTranslateEvent in HMAGELLAN MagellanHandle in LPMSG Message out MagellanIntegerEvent MagellanEvent Magellan Handle Ma...

Page 16: ...pplication window Magellan Application Sensitivity Set the current application sensitivity stored in MagellanInfo type is float into the Magellan SPACE MOUSE driver Note that the feature to display the current application sensitivity has been disabled since MGLDRV EXE Driver Version 4 60 MagellanRing Bell Activate the internal beeper of the Magellan SPACE MOUSE device The duration in milliseconds ...

Page 17: ...a1 ra0 rb1 rb0 rc1 rc0 cs1 cs0 r t r x y z a b c 1 0 The data packet contains two bytes for each of the six input values x y z a b and c Only the lower six bits of each byte are used Each pair of 6 bit bytes are combined into a 12 bit value The high order six bits are transmitted first and the low order six bits are transmitted second In general the following formula is used to calculate each of t...

Page 18: ...ld 1 1 1 P2 old 1 1 1 P3 old 1 1 1 P4 old 1 1 1 P5 old 1 1 1 P6 old 1 1 1 P7 old 1 1 1 P8 old 1 1 1 Note that a physical unit of length is not required One Step Motion If the cube is moved due to a translational or rotational displacement of the Magellan SPACE MOUSE cap eight new points must be generated using the eight old points To accomplish this the Magellan SPACE MOUSE sends the six values X ...

Page 19: ...ation and rotation Thus the above set of example values is possible The choice of an appropriate scaling factor for translation and another for rotation is dependent on the tasks to be performed and the available graphics and computational power of the computer Continual Motion After this one step motion of the cube the graphics system continues to accept new values from the Magellan SPACE MOUSE w...

Page 20: ...or example suppose the Magellan SPACE MOUSE has now sent the following second set of values to the computer X 1 5 Y 0 Z 0 A 0 B 0 C 0 Summing the translational motion gives the following values å n i i X 1 2 0 å n i i Y 1 0 0 å n i i Z 1 4 0 The rotation matrix for the current step Rn is found from the new values for A B and C Rn ú ú ú û ù ê ê ê ë é 0 1 0 0 0 0 0 0 980 0 199 0 0 0 199 0 980 0 This...

Page 21: ... 85 Celsius 40 85 Celsius 40 85 Celsius Gravity height of work center 25 mm 26 mm 26 mm Dominant Mode Yes Yes Yes Supported operating systems UNIX DEC HP IBM SGI SUN PC Win95 98 WinNT 2000 DECNT MIPSNT UNIX DEC HP IBM SGI SUN PC Win95 98 WinNT 2000 DECNT MIPSNT UNIX DEC HP IBM SGI SUN PC Win95 98 WinNT 2000 DECNT MIPSNT Power source 5V 9mA 5V 9mA 5V 9mA Interface type RS232 9600 Baud RS232 9600 Ba...

Page 22: ...lib Reference Manual for X11 Release 4 and Release 5 3rd ed Volume One 1997 O Reilly Associates Inc ISBN 1 56592 002 3 Nye Adrian Xlib Reference Manual for X11 Release 4 and Release 5 3rd ed Volume Two 1997 O Reilly Associates Inc ISBN 1 56592 006 6 The X Resource Issue Four O Reilly Associates Inc ISBN 0 937175 99 4 ...

Page 23: ...34 591 4064 Email logicad3d US logicad3d com Web www logicad3d com Marketing Sales Miguel Leitmann Tel 1 734 591 4047 Email Miguel Leitmann logicad3d com Support Tel 1 800 540 4758 Email support US logicad3d com Help Email help logicad3d com EMEA Europe Middle East Africa LogiCad3D GmbH An der Hartmuehle 8 D 82229 Seefeld Germany Tel 49 0 8152 9919 0 Fax 49 0 8152 9919 50 Email logicad3d EU logica...

Page 24: ...RANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE WITH REGARD TO THE PRODUCT IN NO EVENT SHALL LOGICAD3D OR ITS SUPPLIERS BE HELD LIABLE FOR ANY DIRECT INDIRECT CONSEQUENTIAL OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE THE PRODUCT EVEN IF LOGICAD3D HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABI...

Page 25: ...ment You may not reverse engineer decompile or disassemble the Software Further you may not network the Software or otherwise use it on more than one computer or computer terminal at the same time The Software is owned by LogiCad3D or its suppliers and is protected by United States copyright laws and international treaty provisions Limited Warranty LogiCad3D warrants that a the Software will perfo...

Page 26: ...PLY TO YOU Terms This license is effective until terminated You may terminate it at any time by destroying the Software It will also terminate upon conditions set forth elsewhere in this Agreement or if you fail to comply with any terms or conditions of this Agreement You agree upon such termination to destroy the Software together with all copies modifications and merged portions in any form Gene...

Reviews: