These pages are auto-generated from self-documenting comments embedded in class files.
For more information on breve and steve, refer to the breve homepage.

## Real : Mobile

This class is included as part of the file Mobile.tz.
To use this class in a simulation, include the line "@use Mobile."

### Class description:

> Mobile objects are objects in the simulated world which move around and interact with other objects. This is in contrast to Stationary objects which can collide and interact with other objects but which never move.

> When a Mobile object is created, it will be by default a simple sphere. You can change the appearence of this sphere by using methods in this class, or its parent class Real. Or you can change the shape altogether with the method set-shape.

### Class methods:

> Configuring Physics Parameters

> - disable-physics
> - enable-physics
> - get-mass

> Controlling the Agent's Motion and Position (see also methods in the parent class, OBJECT(Real))

> - get-acceleration
> - get-bound-maximum
> - get-bound-minimum
> - get-distance
> - get-force
> - get-rotational-velocity
> - get-torque
> - get-velocity
> - offset
> - relative-rotate
> - set-acceleration
> - set-force
> - set-rotational-acceleration
> - set-rotational-velocity
> - set-torque
> - set-velocity
> - transform

> Changing an Object's Appearence

> - remove-label
> - set-label

> Determining Whether an Object is Colliding

> - check-for-self-penetrations
> - get-colliding-objects

`check-for-self-penetrations`

> Determines whether this link is currently penetrating with other links in the same multibody. This is not meant as a general purpose collision detection tool -- it is meant to detect potentially troublesome configurations of links when they are created.

`disable-physics`

> Disables the physical simulation for a Mobile object.

`enable-physics`

> Enables physical simulation for a Mobile object. This must be used in conjunction with a PhysicalControl object which sets up physical simulation for the entire world.

> When physics is enabled for an object, the acceleration can no longer be assigned manually--it will be computed from the forces applied to the object.

`get-acceleration`

> Returns the vector acceleration of this object.

`get-bound-maximum`

> Returns the vector representing the maximum X, Y and Z locations of points on this link.

`get-bound-minimum`

> Returns the vector representing the minimum X, Y and Z locations of points on this link.

`get-colliding-objects`

> Returns a list of objects currently colliding with this object. This is not meant as a general purpose collision detection tool -- it is meant to detect potentially troublesome configurations of links when they are created.

`get-distance from otherObject (object)`

> Returns the scalar distance from this object's center to otherObject.

`get-force`

> Returns the force acting on the object, which was previously set using set-force.

`get-mass`

> Returns the mass of the object.

`get-rotational-velocity`

> Returns the vector angular velocity of this object.

`get-torque`

> Returns the torque acting on the object, which was previously set using set-torque.

`get-velocity`

> Returns the vector velocity of this object.

`offset by amount (vector)`

> Moves this object by amount, relative to its current position.

`relative-rotate around-axis thisAxis (vector) by amount (float)`

> Sets the rotation of this object around vector axis thisAxis by scalar amount (in radians). This is a rotation relative to the current position.

`remove-label`

> Removes the label that would be drawn next to an object.

`set-acceleration to newAcceleration (vector)`

> Sets the acceleration of this object to newAcceleration. This method has no effect if physical simulation is turned on for the object, in which case the physical simulation engine computes acceleration.

`set-force to newForce (vector)`

> Sets the velocity acting on the object to newForce. This force will remain in effect until it is disabled with a new call to set-force.

`set-label to theLabel (string)`

> Sets the label to be drawn along side the object.

`set-rotational-acceleration to newAcceleration (vector)`

> Sets the rotational acceleration of this object to newAcceleration. This method has no effect if physical simulation is turned on for the object, in which case the physical simulation engine computes acceleration.

`set-rotational-velocity to angularVelocity (vector)`

> Sets the rotational velocity of this object to angularVelocity.

`set-torque to newTorque (vector)`

> Sets the torque acting on the object to newTorque. This torque will remain in effect until it is disabled with a new call to set-torque.

`set-velocity to newVelocity (vector)`

> Sets the velocity of this object to newVelocity.

`transform world-vector theVector (vector)`

> Transforms theVector in the world coordinate frame to a vector in the frame of this object.

Documentation created Thu Jul 3 18:18:12 2008