org.opensourcephysics.display3d.simple3d
Class ElementCone

java.lang.Object
  extended by org.opensourcephysics.display3d.simple3d.Element
      extended by org.opensourcephysics.display3d.simple3d.AbstractTile
          extended by org.opensourcephysics.display3d.simple3d.ElementCone
All Implemented Interfaces:
Element, ElementCone, InteractionSource

public class ElementCone
extends AbstractTile
implements ElementCone

Title: ElementCylinder

Description: Painter's algorithm implementation of a Cylinder

Version:
March 2005
Author:
Francisco Esquembre

Nested Class Summary
protected static class ElementCone.Loader
           
 
Field Summary
protected static double TO_RADIANS
           
 
Fields inherited from class org.opensourcephysics.display3d.simple3d.AbstractTile
corners, numberOfTiles
 
Fields inherited from class org.opensourcephysics.display3d.simple3d.Element
targetPosition, targetSize
 
Fields inherited from interface org.opensourcephysics.display3d.core.Element
TARGET_POSITION, TARGET_SIZE
 
Constructor Summary
ElementCone()
           
 
Method Summary
protected  void computeCorners()
          This will be used by subclasses whenever there is a need to recompute the actual values of the corners before drawing.
static XML.ObjectLoader getLoader()
          Returns an XML.ObjectLoader to save and load object data.
 int getMaximumAngle()
          Gets the maximum angle used to build the bottom and, if neccesary, top faces of the cone.
 int getMinimumAngle()
          Gets the minimum angle used to build the bottom and, if neccesary, top faces of the cone.
 double getTruncationHeight()
          Gets the truncation height for this cone.
 boolean isClosedBottom()
          Whether the cone is closed at its bottom.
 boolean isClosedLeft()
          Whether the element is closed at its left side.
 boolean isClosedRight()
          Whether the element is closed at its right side.
 boolean isClosedTop()
          Whether the cone is closed at its top.
 void setClosedBottom(boolean close)
          Whether the cone should be closed at its bottom.
 void setClosedLeft(boolean close)
          Whether an incomplete element should be closed at its left side.
 void setClosedRight(boolean close)
          Whether an incomplete element should be closed at its right side.
 void setClosedTop(boolean close)
          Whether an incomplete cone element should be closed at its top.
 void setMaximumAngle(int angle)
          Sets the maximum angle to build the bottom and, if neccesary, top faces of the cone.
 void setMinimumAngle(int angle)
          Sets the minimum angle to build the bottom and, if neccesary, top faces of the cone.
 void setTruncationHeight(double height)
          Sets the truncation height for this cone.
 
Methods inherited from class org.opensourcephysics.display3d.simple3d.AbstractTile
getTargetHit, projectPoints, setColorBelowWhenEqual, setColorOriginAndDirection, setColorRegions, setCorners, setDrawQuickInterior
 
Methods inherited from class org.opensourcephysics.display3d.simple3d.Element
addInteractionListener, getAxesMode, getDrawingPanel3D, getHotSpotBodyCoordinates, getInteractionTarget, getName, getSizeX, getSizeY, getSizeZ, getStyle, getTransformation, getX, getY, getZ, isReallyVisible, isVisible, loadUnmutableObjects, removeInteractionListener, setName, setSizeX, setSizeXYZ, setSizeXYZ, setSizeY, setSizeZ, setTransformation, setVisible, setX, setXYZ, setXYZ, setY, setZ, toBodyFrame, toSpaceFrame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opensourcephysics.display3d.core.Element
getDrawingPanel3D, getName, getSizeX, getSizeY, getSizeZ, getStyle, getTransformation, getX, getY, getZ, isVisible, loadUnmutableObjects, setName, setSizeX, setSizeXYZ, setSizeXYZ, setSizeY, setSizeZ, setTransformation, setVisible, setX, setXYZ, setXYZ, setY, setZ, toBodyFrame, toSpaceFrame
 
Methods inherited from interface org.opensourcephysics.display3d.core.interaction.InteractionSource
addInteractionListener, getInteractionTarget, removeInteractionListener
 

Field Detail

TO_RADIANS

protected static final double TO_RADIANS
See Also:
Constant Field Values
Constructor Detail

ElementCone

public ElementCone()
Method Detail

setTruncationHeight

public void setTruncationHeight(double height)
Description copied from interface: ElementCone
Sets the truncation height for this cone. The standard height of a cone is set using setSizeZ(). This method helps create truncated cones by setting the truncation height at a value smaller than the Z size. Negative, zero, or Double.NaN values set the cone to a standard (complete) one. Values greater than the Z size are ignored.

Specified by:
setTruncationHeight in interface ElementCone
Parameters:
height - double

getTruncationHeight

public double getTruncationHeight()
Description copied from interface: ElementCone
Gets the truncation height for this cone.

Specified by:
getTruncationHeight in interface ElementCone
Returns:
double The truncation height (Double.NaN if the cone is complete.)
See Also:
#setTruncationHeight()

setClosedBottom

public void setClosedBottom(boolean close)
Description copied from interface: ElementCone
Whether the cone should be closed at its bottom.

Specified by:
setClosedBottom in interface ElementCone
Parameters:
close - the desired value

isClosedBottom

public boolean isClosedBottom()
Description copied from interface: ElementCone
Whether the cone is closed at its bottom.

Specified by:
isClosedBottom in interface ElementCone
Returns:
the value

setClosedTop

public void setClosedTop(boolean close)
Description copied from interface: ElementCone
Whether an incomplete cone element should be closed at its top.

Specified by:
setClosedTop in interface ElementCone

isClosedTop

public boolean isClosedTop()
Description copied from interface: ElementCone
Whether the cone is closed at its top.

Specified by:
isClosedTop in interface ElementCone
Returns:
the value

setClosedLeft

public void setClosedLeft(boolean close)
Description copied from interface: ElementCone
Whether an incomplete element should be closed at its left side.

Specified by:
setClosedLeft in interface ElementCone

isClosedLeft

public boolean isClosedLeft()
Description copied from interface: ElementCone
Whether the element is closed at its left side.

Specified by:
isClosedLeft in interface ElementCone
Returns:
the value

setClosedRight

public void setClosedRight(boolean close)
Description copied from interface: ElementCone
Whether an incomplete element should be closed at its right side.

Specified by:
setClosedRight in interface ElementCone

isClosedRight

public boolean isClosedRight()
Description copied from interface: ElementCone
Whether the element is closed at its right side.

Specified by:
isClosedRight in interface ElementCone
Returns:
the value

setMinimumAngle

public void setMinimumAngle(int angle)
Description copied from interface: ElementCone
Sets the minimum angle to build the bottom and, if neccesary, top faces of the cone. Default is 0.

Specified by:
setMinimumAngle in interface ElementCone
Parameters:
angle - the minimum angle (in degrees)

getMinimumAngle

public int getMinimumAngle()
Description copied from interface: ElementCone
Gets the minimum angle used to build the bottom and, if neccesary, top faces of the cone.

Specified by:
getMinimumAngle in interface ElementCone
Returns:
the minimum angle (in degrees)

setMaximumAngle

public void setMaximumAngle(int angle)
Description copied from interface: ElementCone
Sets the maximum angle to build the bottom and, if neccesary, top faces of the cone. Default is 360.

Specified by:
setMaximumAngle in interface ElementCone
Parameters:
angle - the maximum angle (in degrees)

getMaximumAngle

public int getMaximumAngle()
Description copied from interface: ElementCone
Gets the maximum angle used to build the bottom and, if neccesary, top faces of the cone.

Specified by:
getMaximumAngle in interface ElementCone
Returns:
the maximum angle (in degrees)

computeCorners

protected void computeCorners()
Description copied from class: AbstractTile
This will be used by subclasses whenever there is a need to recompute the actual values of the corners before drawing. Synchronization is recomended.

Specified by:
computeCorners in class AbstractTile

getLoader

public static XML.ObjectLoader getLoader()
Returns an XML.ObjectLoader to save and load object data.

Returns:
the XML.ObjectLoader