org.opensourcephysics.display3d.core
Interface DrawingPanel3D

All Superinterfaces:
InteractionSource
All Known Implementing Classes:
DrawingPanel3D

public interface DrawingPanel3D
extends InteractionSource

Title: DrawingPanel3D

Description: DrawingPanel3D is the basic 3D drawing panel

Version:
March 2005
Author:
Francisco Esquembre

Nested Class Summary
static class DrawingPanel3D.Loader
           
 
Field Summary
static int AMBIENT_LIGHT
           
static int BACKGROUND
           
static int BOTTOM_LEFT
          Message box location
static int BOTTOM_RIGHT
          Message box location
static int DIRECTIONAL_LIGHT
           
static int MODE_XYZ
          Axis Modes
static int MODE_XZY
           
static int MODE_YXZ
           
static int MODE_YZX
           
static int MODE_ZXY
           
static int MODE_ZYX
           
static int POINT_LIGHT
           
static int SPOT_LIGHT
           
static int TARGET_PANEL
          The panel itself as the only target of the panel
static int TOP_LEFT
          Message box location
static int TOP_RIGHT
          Message box location
 
Method Summary
 void addElement(Element element)
          Adds an Element to this DrawingPanel3D.
 int getAxesMode()
          Returns the axes mode
 java.lang.String getBackgroundImage()
          Returns the background image
 Camera getCamera()
          Provides the Camera object used to project the scene in 3D modes.
 java.awt.Component getComponent()
          Getting the pointer to the real JPanel in it
 java.util.List<Element> getElements()
          Gets the (cloned) list of Elements.
 double getPreferredMaxX()
          Gets the preferred maximum in the X coordinate
 double getPreferredMaxY()
          Gets the preferred maximum in the Y coordinate
 double getPreferredMaxZ()
          Gets the preferred maximum in the Z coordinate
 double getPreferredMinX()
          Gets the preferred minimum in the X coordinate
 double getPreferredMinY()
          Gets the preferred minimum in the Y coordinate
 double getPreferredMinZ()
          Gets the preferred minimum in the Z coordinate
 double getScaleFactorX()
          Gets the scale factor in the X axis
 double getScaleFactorY()
          Gets the scale factor in the Y axis
 double getScaleFactorZ()
          Gets the scale factor in the Z axis
 VideoTool getVideoTool()
          Gets the video capture tool.
 VisualizationHints getVisualizationHints()
          Provides the list of visualization hints that the panel uses to display the 3D scene
 boolean isSquareAspect()
          Whether the panel tries to keep a square aspect.
 void removeAllElements()
          Removes all Elements from this DrawingPanel3D
 void removeElement(Element element)
          Removes an Element from this DrawingPanel3D
 java.awt.image.BufferedImage render()
          Paints the panel immediately from within the calling thread.
 java.awt.image.BufferedImage render(java.awt.image.BufferedImage image)
          Paints the scene using the graphic context of the provided image
 void repaint()
          Repaints the panel using the event queue.
 void setAxesMode(int mode)
          Sets the axes mode
 void setBackgroundImage(java.lang.String imageFile)
          Sets the background image
 void setLightEnabled(boolean _state, int nlight)
          Enable disable a light
 void setPreferredMinMax(double minX, double maxX, double minY, double maxY, double minZ, double maxZ)
          Sets the preferred extrema for the panel.
 void setScaleFactor(double factorX, double factorY, double factorZ)
          Sets the scale factor of the scene in X,Y,Z axis.
 void setSquareAspect(boolean square)
          Whether the panel should try to keep a square aspect.
 void setVideoTool(VideoTool videoTool)
          Sets the video capture tool.
 void zoomToFit()
          Sets the preferred min and max in each dimension so that all elements currently in the panel are visible.
 
Methods inherited from interface org.opensourcephysics.display3d.core.interaction.InteractionSource
addInteractionListener, getInteractionTarget, removeInteractionListener
 

Field Detail

TARGET_PANEL

static final int TARGET_PANEL
The panel itself as the only target of the panel

See Also:
Constant Field Values

BOTTOM_LEFT

static final int BOTTOM_LEFT
Message box location

See Also:
Constant Field Values

BOTTOM_RIGHT

static final int BOTTOM_RIGHT
Message box location

See Also:
Constant Field Values

TOP_RIGHT

static final int TOP_RIGHT
Message box location

See Also:
Constant Field Values

TOP_LEFT

static final int TOP_LEFT
Message box location

See Also:
Constant Field Values

MODE_XYZ

static final int MODE_XYZ
Axis Modes

See Also:
Constant Field Values

MODE_YXZ

static final int MODE_YXZ
See Also:
Constant Field Values

MODE_XZY

static final int MODE_XZY
See Also:
Constant Field Values

MODE_YZX

static final int MODE_YZX
See Also:
Constant Field Values

MODE_ZYX

static final int MODE_ZYX
See Also:
Constant Field Values

MODE_ZXY

static final int MODE_ZXY
See Also:
Constant Field Values

BACKGROUND

static final int BACKGROUND
See Also:
Constant Field Values

AMBIENT_LIGHT

static final int AMBIENT_LIGHT
See Also:
Constant Field Values

DIRECTIONAL_LIGHT

static final int DIRECTIONAL_LIGHT
See Also:
Constant Field Values

POINT_LIGHT

static final int POINT_LIGHT
See Also:
Constant Field Values

SPOT_LIGHT

static final int SPOT_LIGHT
See Also:
Constant Field Values
Method Detail

getComponent

java.awt.Component getComponent()
Getting the pointer to the real JPanel in it

Returns:
JFrame

setBackgroundImage

void setBackgroundImage(java.lang.String imageFile)
Sets the background image

Parameters:
imageFile -

getBackgroundImage

java.lang.String getBackgroundImage()
Returns the background image


setPreferredMinMax

void setPreferredMinMax(double minX,
                        double maxX,
                        double minY,
                        double maxY,
                        double minZ,
                        double maxZ)
Sets the preferred extrema for the panel. This resets the camera of the panel to its default.

Parameters:
minX - double
maxX - double
minY - double
maxY - double
minZ - double
maxZ - double
See Also:
Camera

getPreferredMinX

double getPreferredMinX()
Gets the preferred minimum in the X coordinate

Returns:
double

getPreferredMaxX

double getPreferredMaxX()
Gets the preferred maximum in the X coordinate

Returns:
double

getPreferredMinY

double getPreferredMinY()
Gets the preferred minimum in the Y coordinate

Returns:
double

getPreferredMaxY

double getPreferredMaxY()
Gets the preferred maximum in the Y coordinate

Returns:
double

getPreferredMinZ

double getPreferredMinZ()
Gets the preferred minimum in the Z coordinate

Returns:
double

getPreferredMaxZ

double getPreferredMaxZ()
Gets the preferred maximum in the Z coordinate

Returns:
double

setScaleFactor

void setScaleFactor(double factorX,
                    double factorY,
                    double factorZ)
Sets the scale factor of the scene in X,Y,Z axis.

Parameters:
factorX - double
factorY - double
factorZ - double

getScaleFactorX

double getScaleFactorX()
Gets the scale factor in the X axis

Returns:
double

getScaleFactorY

double getScaleFactorY()
Gets the scale factor in the Y axis

Returns:
double

getScaleFactorZ

double getScaleFactorZ()
Gets the scale factor in the Z axis

Returns:
double

setAxesMode

void setAxesMode(int mode)
Sets the axes mode

Parameters:
mode - int

getAxesMode

int getAxesMode()
Returns the axes mode


zoomToFit

void zoomToFit()
Sets the preferred min and max in each dimension so that all elements currently in the panel are visible.


setSquareAspect

void setSquareAspect(boolean square)
Whether the panel should try to keep a square aspect. Default value is true.

Parameters:
square - boolean

isSquareAspect

boolean isSquareAspect()
Whether the panel tries to keep a square aspect.

Returns:
boolean

getVisualizationHints

VisualizationHints getVisualizationHints()
Provides the list of visualization hints that the panel uses to display the 3D scene

Returns:
VisualizationHints
See Also:
VisualizationHints

getCamera

Camera getCamera()
Provides the Camera object used to project the scene in 3D modes.

Returns:
Camera
See Also:
Camera

getVideoTool

VideoTool getVideoTool()
Gets the video capture tool. May be null.

Returns:
the video capture tool

setVideoTool

void setVideoTool(VideoTool videoTool)
Sets the video capture tool. May be set to null.

Parameters:
videoCap - the video capture tool

render

java.awt.image.BufferedImage render()
Paints the panel immediately from within the calling thread.

Returns:
BufferedImage the generated image

render

java.awt.image.BufferedImage render(java.awt.image.BufferedImage image)
Paints the scene using the graphic context of the provided image

Parameters:
image - Image
Returns:
Image the generated image

repaint

void repaint()
Repaints the panel using the event queue.


addElement

void addElement(Element element)
Adds an Element to this DrawingPanel3D.

Parameters:
element - Element
See Also:
Element

removeElement

void removeElement(Element element)
Removes an Element from this DrawingPanel3D

Parameters:
element - Element
See Also:
Element

removeAllElements

void removeAllElements()
Removes all Elements from this DrawingPanel3D

See Also:
Element

getElements

java.util.List<Element> getElements()
Gets the (cloned) list of Elements. (Should be synchronized.)

Returns:
cloned list

setLightEnabled

void setLightEnabled(boolean _state,
                     int nlight)
Enable disable a light

Parameters:
_state -
nlight -