|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.microedition.location.Orientation
public class Orientation
The Orientation
class represents the physical orientation of the
terminal. Orientation is described by azimuth to north (the horizontal pointing
direction), pitch (the vertical elevation angle) and roll (the rotation of
the terminal around its own longitudinal axis).
It is not expected that all terminals will support all of these parameters.
If a terminal supports getting the Orientation
, it
must provide the compass azimuth information. Most commonly,
this class will be used to obtain the current compass direction. Providing the
pitch and roll is optional. Pitch and roll information are not meant to be
used as an accelerometer data, but only to help in determining the
accuracy of the azimuth value. Access to the accelerometer data should be
done through other APIs, for example, through JSR 256 Sensor API.
It is up to the terminal to define its own axes, but it is generally recommended that the longitudinal axis is aligned with the bottom-to-top direction of the screen. This means that the pitch is positive when the top of the screen is up and the bottom of the screen down (when roll is zero). The roll is positive when the device is tilted clockwise looking from the direction of the bottom of the screen, i.e. when the left side of the screen is up and the right side of the screen is down (when pitch is zero).
The azimuth information may not be accurate if the terminal is not aligned
vertically. If the API implementation takes the device orientation information
into account when calculating the azimuth value, then getPitch
and getRoll
methods should return Float.NaN
.
No separate accuracy data is given for Orientation
.
This class is only a container for the information. The constructor does
not validate the parameters passed in but just retains the values. The
get*
methods return the values passed in the constructor. When
the platform implementation returns Orientation
objects, it
must ensure that it only returns objects where the parameters
have values set as described for their semantics in this class.
Constructor Summary | |
---|---|
Orientation(float azimuth,
boolean isMagnetic,
float pitch,
float roll)
Constructs a new Orientation object with the compass
azimuth, pitch and roll parameters specified. |
Method Summary | |
---|---|
float |
getCompassAzimuth()
Returns the terminal's horizontal compass azimuth in degrees relative to either magnetic or true north. |
static Orientation |
getOrientation()
Returns the terminal's current orientation. |
float |
getPitch()
Returns the terminal's tilt in degrees defined as an angle in the vertical plane orthogonal to the ground, and through the longitudinal axis of the terminal. |
float |
getRoll()
Returns the terminal's rotation in degrees around its own longitudinal axis. |
boolean |
isOrientationMagnetic()
Returns a boolean value that indicates whether this
Orientation is relative to the magnetic field of the Earth
or relative to true north and gravity. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Orientation(float azimuth, boolean isMagnetic, float pitch, float roll)
Constructs a new Orientation
object with the compass
azimuth, pitch and roll parameters specified.
The values are expressed in degrees using floating point values.
If the pitch or roll is undefined, the parameter shall be given as
Float.NaN
.
azimuth
- The compass azimuth relative to true or magnetic north.
Valid range: [0.0, 360.0). For example, value 0.0 indicates
north, 90.0 east, 180.0 south and 270.0 west.isMagnetic
- a boolean stating whether the compass azimuth is given
as relative to the magnetic field of the Earth
(=true
) or to true north and gravity
(=false
)pitch
- the pitch of the terminal in degrees, valid range: [-90.0, 90.0] or
Float.NaN
if the pitch is undefinedroll
- the roll of the terminal in degrees, valid range: [-180.0, 180.0) or
Float.NaN
if the roll is undefinedMethod Detail |
---|
public float getCompassAzimuth()
Returns the terminal's horizontal compass azimuth in degrees relative to
either magnetic or true north. The value is always in the range [0.0, 360.0)
degrees. The isOrientationMagnetic()
method indicates whether the returned azimuth is relative to true north
or magnetic north.
isOrientationMagnetic()
public boolean isOrientationMagnetic()
Returns a boolean
value that indicates whether this
Orientation
is relative to the magnetic field of the Earth
or relative to true north and gravity. If this method returns
true
, the compass azimuth and pitch are relative to the
magnetic field of the Earth. If this method returns false
,
the compass azimuth is relative to true north and pitch is relative to gravity.
true
if this Orientation
is relative to
the magnetic field of the Earth, false
if this
Orientation
is relative to true north and gravitygetCompassAzimuth()
public float getPitch()
Returns the terminal's tilt in degrees defined as an angle in the vertical plane orthogonal to the ground, and through the longitudinal axis of the terminal. The value is always in the range [-90.0, 90.0] degrees. A negative value means that the top of the terminal screen is pointing towards the ground.
Float.NaN
if
not availablepublic float getRoll()
Returns the terminal's rotation in degrees around its own longitudinal axis. The value is always in the range [-180.0, 180.0) degrees. A negative value means that the terminal is orientated anti-clockwise from its default orientation, looking from direction of the bottom of the screen.
Float.NaN
if
not availablepublic static Orientation getOrientation() throws LocationException
Returns the terminal's current orientation.
Orientation
object containing the terminal's
current orientation or null
if the orientation
can not be currently determined
java.lang.SecurityException
- if the calling application does not have a
permission to query the orientation
LocationException
- if the implementation
does not support orientation determinationOrientation
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |