|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.Screen3D
public class Screen3D
The Screen3D Object contains all information about a particular screen. All Canvas3D objects on the same physical screen (display device) refer to the same Screen3D object. Note that Screen3D has no public constructors--it is obtained from the Canvas3D via the getScreen3D method.
Default values for Screen3D parameters are as follows:
Offscreen Rendering
New for Java 3D 1.2, an off-screen rendering mode allows rendering to a memory image, which is possibly larger than the screen. The setSize and getSize methods are defined specifically for this mode. Note that the off-screen size, physical width, and physical height must be set prior to rendering to the associated off-screen canvas. Failure to do so will result in an exception.
Calibration Parameters
The Screen3D object must be calibrated with the coexistence volume. The Screen3D class provides several methods for defining the calibration parameters.
The screen's (image plate's) physical width and height (in meters) is set once, typically by a browser, calibration program, system administrator, or system calibrator, not by an applet. These values must be determined by measuring the display's active image width and height. In the case of a head-mounted display, this should be the display's apparent width and height at the focal plane. These values are defined by the setPhysicalScreenWidth and setPhysicalScreenHeight methods.
Head-tracker Coordinate System
If head tracking is enabled, one of two parameters need to be specified:
Additional Information
For more information, see the Introduction to the Java 3D API and View Model documents.
Canvas3D
,
Canvas3D.getScreen3D()
Field Summary | |
---|---|
(package private) UnorderList |
activeViews
|
(package private) int |
canvasCount
|
private static boolean |
debug
|
(package private) static java.util.Hashtable |
deviceRendererMap
|
(package private) long |
display
|
(package private) java.awt.GraphicsDevice |
graphicsDevice
|
(package private) static int |
HEAD_TRACKER_TO_IMAGE_PLATE_DIRTY
|
(package private) Transform3D |
headTrackerToLeftImagePlate
|
(package private) Transform3D |
headTrackerToRightImagePlate
|
private static double |
METERS_PER_PIXEL
|
(package private) boolean |
offScreen
|
(package private) static int |
PHYSICAL_SCREEN_SIZE_DIRTY
|
(package private) double |
physicalScreenHeight
|
(package private) double |
physicalScreenWidth
|
(package private) Renderer |
renderer
|
(package private) int |
scrDirtyMask
|
(package private) int |
screen
|
(package private) static int |
SCREEN_SIZE_DIRTY_DIRTY
|
(package private) java.awt.Dimension |
screenSize
|
(package private) ScreenViewCache |
screenViewCache
|
(package private) static int |
TRACKER_BASE_TO_IMAGE_PLATE_DIRTY
|
(package private) Transform3D |
trackerBaseToImagePlate
|
(package private) java.util.ArrayList |
users
|
Constructor Summary | |
---|---|
Screen3D(java.awt.GraphicsConfiguration graphicsConfiguration,
boolean offScreen)
Construct a new Screen3D object with the specified size in pixels. |
Method Summary | |
---|---|
(package private) boolean |
activeViewEmpty()
|
(package private) void |
addActiveView(View v)
|
(package private) void |
addUser(Canvas3D c)
|
(package private) void |
decCanvasCount()
Decrement canvas count, kill renderer if needed |
void |
getHeadTrackerToLeftImagePlate(Transform3D t)
Retrieves the head-tracker coordinate system to left image-plate coordinate system transform and copies it into the specified Transform3D object. |
void |
getHeadTrackerToRightImagePlate(Transform3D t)
Retrieves the head-tracker coordinate system to right image-plate coordinate system transform and copies it into the specified Transform3D object. |
double |
getPhysicalScreenHeight()
Retrieves the the screen's physical height in meters. |
double |
getPhysicalScreenWidth()
Retrieves the screen's physical width in meters. |
java.awt.Dimension |
getSize()
Retrieves the width and height (in pixels) of this Screen3D. |
java.awt.Dimension |
getSize(java.awt.Dimension rv)
Retrieves the width and height (in pixels) of this Screen3D and copies it into the specified Dimension object. |
void |
getTrackerBaseToImagePlate(Transform3D t)
Retrieves the tracker-base coordinate system to image-plate coordinate system transform and copies it into the specified Transform3D object. |
(package private) void |
incCanvasCount()
Increment canvas count, initialize renderer if needed |
(package private) void |
notifyUsers()
|
(package private) void |
removeActiveView(View v)
|
(package private) void |
removeUser(Canvas3D c)
|
void |
setHeadTrackerToLeftImagePlate(Transform3D t)
Sets the head-tracker coordinate system to left image-plate coordinate system transform. |
void |
setHeadTrackerToRightImagePlate(Transform3D t)
Sets the head-tracker coordinate system to right image-plate coordinate system transform. |
void |
setPhysicalScreenHeight(double height)
Sets the screen physical height in meters. |
void |
setPhysicalScreenWidth(double width)
Sets the screen physical width in meters. |
void |
setSize(java.awt.Dimension d)
Sets the width and height (in pixels) of this off-screen Screen3D. |
void |
setSize(int width,
int height)
Sets the width and height (in pixels) of this off-screen Screen3D. |
void |
setTrackerBaseToImagePlate(Transform3D t)
Sets the tracker-base coordinate system to image-plate coordinate system transform. |
java.lang.String |
toString()
|
(package private) void |
updateViewCache()
Update the view cache associated with this screen. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final boolean debug
private static final double METERS_PER_PIXEL
java.awt.GraphicsDevice graphicsDevice
boolean offScreen
long display
int screen
double physicalScreenWidth
double physicalScreenHeight
java.awt.Dimension screenSize
Transform3D trackerBaseToImagePlate
Transform3D headTrackerToLeftImagePlate
Transform3D headTrackerToRightImagePlate
static final int PHYSICAL_SCREEN_SIZE_DIRTY
static final int SCREEN_SIZE_DIRTY_DIRTY
static final int TRACKER_BASE_TO_IMAGE_PLATE_DIRTY
static final int HEAD_TRACKER_TO_IMAGE_PLATE_DIRTY
int scrDirtyMask
ScreenViewCache screenViewCache
Renderer renderer
static java.util.Hashtable deviceRendererMap
int canvasCount
UnorderList activeViews
java.util.ArrayList users
Constructor Detail |
---|
Screen3D(java.awt.GraphicsConfiguration graphicsConfiguration, boolean offScreen)
graphicsConfiguration
- the AWT graphics configuration associated
with this Screen3DoffScreen
- a flag that indicates whether this Screen3D is
associated with an off-screen Canvas3DMethod Detail |
---|
void addActiveView(View v)
void removeActiveView(View v)
boolean activeViewEmpty()
void removeUser(Canvas3D c)
void addUser(Canvas3D c)
void notifyUsers()
public java.awt.Dimension getSize()
public java.awt.Dimension getSize(java.awt.Dimension rv)
rv
- Dimension object into which the size of
this Screen3D is copied.
If rv
is null, a new Dimension object is allocated.
rv
public void setSize(int width, int height)
width
- the new width of this Screen3D objectheight
- the new height of this Screen3D object
java.lang.IllegalStateException
- if this Screen3D is not in
off-screen mode.public void setSize(java.awt.Dimension d)
d
- the new dimension of this Screen3D object
java.lang.IllegalStateException
- if this Screen3D is not in
off-screen mode.public void setPhysicalScreenWidth(double width)
width
- the screen's physical width in meterspublic double getPhysicalScreenWidth()
public void setPhysicalScreenHeight(double height)
height
- the screen's physical height in meterspublic double getPhysicalScreenHeight()
public java.lang.String toString()
toString
in class java.lang.Object
public void setTrackerBaseToImagePlate(Transform3D t)
t
- the new transform
BadTransformException
- if the transform is not rigidpublic void getTrackerBaseToImagePlate(Transform3D t)
t
- the object that will receive the transformpublic void setHeadTrackerToLeftImagePlate(Transform3D t)
t
- the new transform
BadTransformException
- if the transform is not rigidpublic void getHeadTrackerToLeftImagePlate(Transform3D t)
t
- the object that will receive the transformpublic void setHeadTrackerToRightImagePlate(Transform3D t)
t
- the new transform
BadTransformException
- if the transform is not rigidpublic void getHeadTrackerToRightImagePlate(Transform3D t)
t
- the object that will receive the transformvoid updateViewCache()
void incCanvasCount()
void decCanvasCount()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |