Package org.opensourcephysics.display
Class BoundedShape
java.lang.Object
org.opensourcephysics.display.AbstractInteractive
org.opensourcephysics.display.InteractiveShape
org.opensourcephysics.display.BoundedShape
- All Implemented Interfaces:
Drawable
,Interactive
,Measurable
,Selectable
- Direct Known Subclasses:
BoundedImage
,InteractiveArrow
,InteractiveCenteredArrow
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
A class to save and load BoundedShape in an XMLControl.Nested classes/interfaces inherited from class org.opensourcephysics.display.InteractiveShape
InteractiveShape.InteractiveShapeLoader
-
Field Summary
Fields inherited from class org.opensourcephysics.display.InteractiveShape
edgeColor, height, pixelPt, pixelSized, shape, shapeClass, theta, toPixels, trIS, width, xoff, yoff
Fields inherited from class org.opensourcephysics.display.AbstractInteractive
color, x, y
-
Constructor Summary
ConstructorsConstructorDescriptionBoundedShape
(Shape s, double x, double y) Constructs a BoundedShape object for the given shape. -
Method Summary
Modifier and TypeMethodDescriptionstatic BoundedShape
createBoundedArrow
(double x, double y, double w, double h) Creates a bounded arrow.static BoundedShape
createBoundedCenteredArrow
(double x, double y, double w, double h) Creates a bounded arrow.static BoundedShape
createBoundedCircle
(double x, double y, double d) Creates a bounded circle.static BoundedShape
createBoundedEllipse
(double x, double y, double w, double h) Creates a bounded ellipse.static BoundedShape
createBoundedImage
(Image image, double x, double y) Creates a bounded image.static BoundedShape
createBoundedRectangle
(double x, double y, double w, double h) Creates a bounded rectangle.static BoundedShape
createBoundedTriangle
(double x, double y, double b, double h) Creates a bounded rectangle.void
draw
(DrawingPanel panel, Graphics g) Draws the shape.findInteractive
(DrawingPanel panel, int xpix, int ypix) Finds the interactive object that will respond to mouse actions.protected Rectangle2D.Double
getBounds2D
(Shape temp) static XML.ObjectLoader
Gets the XML object loader for this class.boolean
Gets the height drag option.boolean
isInside
(DrawingPanel panel, int xpix, int ypix) Determines if the shape is enabled and if the given pixel coordinates are within the shape.boolean
Gets the rotate drag option.boolean
boolean
Gets the width width drag option.boolean
isXYDrag()
Gets the xy drag boolean.void
setHeightDrag
(boolean enable) Sets the height drag option.void
setRotateDrag
(boolean enable) Sets the rotate drag option.void
setSelected
(boolean selected) void
setWidthDrag
(boolean enable) Sets the width drag option.void
setXYDrag
(boolean enable) Sets the xy drag option.void
toString()
Gets a description of this object.Methods inherited from class org.opensourcephysics.display.InteractiveShape
contains, createArrow, createCenteredArrow, createCircle, createEllipse, createImage, createRectangle, createSquare, createTextLine, createTriangle, getHeight, getPixelPt, getRotateInstance, getRotateInstance, getScaleInstance, getShape, getTranslateInstance, getWidth, getXMax, getXMin, getYMax, getYMin, isMeasured, setHeight, setMarkerColor, setMeasured, setOffset, setPixelSized, setTheta, setWidth, setX, setXY, setY, tranform, transform
Methods inherited from class org.opensourcephysics.display.AbstractInteractive
getX, getY, isEnabled, setEnabled
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opensourcephysics.display.Interactive
getX, getY, isEnabled, isInteractive, setEnabled, setX, setXY, setY
Methods inherited from interface org.opensourcephysics.display.Measurable
getXMax, getXMin, getYMax, getYMin, isMeasured
-
Constructor Details
-
BoundedShape
Constructs a BoundedShape object for the given shape.- Parameters:
s
- Shapex
- doubley
- double
-
-
Method Details
-
createBoundedRectangle
Creates a bounded rectangle.- Parameters:
x
-y
-w
-h
-- Returns:
- the interactive rectangle
-
createBoundedTriangle
Creates a bounded rectangle.- Parameters:
x
-y
-b
- baseh
- height- Returns:
- the rectangle
-
createBoundedArrow
Creates a bounded arrow.- Parameters:
x
-y
-w
- baseh
- height- Returns:
- the arrow
-
createBoundedCenteredArrow
Creates a bounded arrow.- Parameters:
x
-y
-w
- baseh
- height- Returns:
- the arrow
-
createBoundedImage
Creates a bounded image.- Parameters:
x
-y
-image
-- Returns:
- the rectangle
-
createBoundedEllipse
Creates a bounded ellipse.- Parameters:
x
-y
-w
-h
-- Returns:
- BoundedShape
-
createBoundedCircle
Creates a bounded circle.- Parameters:
x
-y
-d
- the diameter- Returns:
- the circle
-
setSelected
public void setSelected(boolean selected) - Specified by:
setSelected
in interfaceSelectable
-
isSelected
public boolean isSelected()- Specified by:
isSelected
in interfaceSelectable
-
setXYDrag
public void setXYDrag(boolean enable) Sets the xy drag option.- Parameters:
enable
- boolean
-
isXYDrag
public boolean isXYDrag()Gets the xy drag boolean.- Returns:
- boolean true if center can be dragged
-
setRotateDrag
public void setRotateDrag(boolean enable) Sets the rotate drag option.- Parameters:
enable
- boolean
-
isRotateDrag
public boolean isRotateDrag()Gets the rotate drag option.- Returns:
- boolean
-
setWidthDrag
public void setWidthDrag(boolean enable) Sets the width drag option.- Parameters:
enable
- boolean
-
isWidthDrag
public boolean isWidthDrag()Gets the width width drag option.- Returns:
- boolean true if center can be dragged
-
setHeightDrag
public void setHeightDrag(boolean enable) Sets the height drag option.- Parameters:
enable
- boolean
-
isHeightDrag
public boolean isHeightDrag()Gets the height drag option.- Returns:
- boolean true if center can be dragged
-
getPreferredCursor
- Specified by:
getPreferredCursor
in interfaceSelectable
-
toggleSelected
public void toggleSelected()- Specified by:
toggleSelected
in interfaceSelectable
-
findInteractive
Description copied from class:AbstractInteractive
Finds the interactive object that will respond to mouse actions.- Specified by:
findInteractive
in interfaceInteractive
- Overrides:
findInteractive
in classAbstractInteractive
- Parameters:
panel
- DrawingPanelxpix
- intypix
- int- Returns:
- Interactive
-
isInside
Determines if the shape is enabled and if the given pixel coordinates are within the shape.- Overrides:
isInside
in classInteractiveShape
- Parameters:
panel
- DrawingPanelxpix
- intypix
- int- Returns:
- boolean
-
getBounds2D
-
draw
Draws the shape.- Specified by:
draw
in interfaceDrawable
- Overrides:
draw
in classInteractiveShape
- Parameters:
panel
- the drawing panelg
- the graphics context
-
toString
Gets a description of this object.- Overrides:
toString
in classInteractiveShape
- Returns:
- String
-
getLoader
Gets the XML object loader for this class.- Returns:
- ObjectLoader
-