Class RigidShapeEditor
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwind.WWObjectImpl
-
- gov.nasa.worldwind.layers.AbstractLayer
-
- gov.nasa.worldwindx.examples.shapebuilder.AbstractShapeEditor
-
- gov.nasa.worldwindx.examples.shapebuilder.RigidShapeEditor
-
- All Implemented Interfaces:
AVList
,Disposable
,MessageListener
,Layer
,Restorable
,WWObject
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.beans.PropertyChangeListener
,java.util.EventListener
- Direct Known Subclasses:
BoxEditor
,ConeEditor
,CylinderEditor
,PyramidEditor
,WedgeEditor
public class RigidShapeEditor extends AbstractShapeEditor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
RigidShapeEditor.ControlPointMarker
static class
RigidShapeEditor.Direction
-
Field Summary
-
Fields inherited from class gov.nasa.worldwindx.examples.shapebuilder.AbstractShapeEditor
aboveGround, ACCUMULATED_LABEL, activeAction, ALTITUDE_LABEL, altitudeMode, ANGLE_LABEL, annotation, annotationAttributes, AREA_LABEL, armed, CENTER_ALTITUDE_LABEL, CENTER_LATITUDE_LABEL, CENTER_LONGITUDE_LABEL, EAST_SKEW_LABEL, editMode, frameTimestamp, HEADING_LABEL, HEIGHT_LABEL, LATITUDE_LABEL, LENGTH_LABEL, LONGITUDE_LABEL, MAJOR_AXIS_LABEL, MINOR_AXIS_LABEL, mousePoint, NORTH_SKEW_LABEL, PERIMETER_LABEL, RADIUS_LABEL, ROLL_LABEL, showAnnotation, TILT_LABEL, unitsFormat, WIDTH_LABEL, wwd
-
-
Constructor Summary
Constructors Constructor Description RigidShapeEditor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addVertex(java.awt.Point mousePoint)
Add a vertex to the polygon's outer boundary.protected void
assembleControlPointAttributes()
protected void
assembleControlPoints(DrawContext dc)
protected void
assembleRotationControlPoints(DrawContext dc)
protected void
assembleScaleControlPoints(DrawContext dc)
protected void
assembleSkewControlPoints(DrawContext dc)
protected void
assembleTextureControlPoints(DrawContext dc)
protected void
assembleTranslationControlPoints(DrawContext dc)
protected void
assembleVertexControlPoints(DrawContext dc)
protected void
changeShapeHeading(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
changeShapeRoll(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
changeShapeTilt(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected Vec4
computeAnnotationPosition(Position pos)
protected void
doPick(DrawContext dc, java.awt.Point point)
protected void
doRender(DrawContext dc)
protected java.lang.String
formatMeasurements(Position pos)
protected java.lang.String
getDisplayString(Position pos)
java.lang.String
getEditMode()
int
getSelectedFace()
RigidShape
getShape()
protected Vec4
intersectPolygonAltitudeAt(Line ray)
Determine the point at which a ray intersects a the globe at the elevation of the polygon.void
mouseClicked(java.awt.event.MouseEvent e)
void
mouseDragged(java.awt.event.MouseEvent e)
void
mouseEntered(java.awt.event.MouseEvent e)
void
mouseExited(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
void
mousePressed(java.awt.event.MouseEvent e)
void
mouseReleased(java.awt.event.MouseEvent e)
protected void
moveControlPoint(RigidShapeEditor.ControlPointMarker controlPoint, java.awt.Point moveToPoint)
protected void
moveShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
moveShapeLatitude(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
moveShapeLongitude(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
moveTexture(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
moveTextureCorner(java.awt.Point previousMousePoint, java.awt.Point mousePoint, java.lang.Integer corner)
protected void
removeVertex(RigidShapeEditor.ControlPointMarker vertexToRemove)
Remove a vertex from the polygon.protected void
scaleShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeAngle(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeDown(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeEast(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeEastWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeNorth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeNortheast(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeNorthSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeRadius(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeSouthwest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeUp(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeVertical(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleShapeWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
scaleTexture(java.awt.Point previousMousePoint, java.awt.Point mousePoint, RigidShapeEditor.Direction side)
void
setEditMode(java.lang.String editMode)
void
setSelectedFace(int selectedFace)
void
setShape(AbstractShape shape)
protected void
setShapeHeight(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
skewShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
skewShapeEastWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
skewShapeNorthSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
protected void
textureShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
void
updateAnnotation(Position pos)
-
Methods inherited from class gov.nasa.worldwindx.examples.shapebuilder.AbstractShapeEditor
arePositionsRedundant, getAltitudeMode, getAnnotationAttributes, getLabel, getWorldWindow, initializeAnnotation, isAboveGround, isArmed, isShowAnnotation, setAboveGround, setAltitudeMode, setAnnotationAttributes, setArmed, setInitialLabels, setLabel, setShowAnnotation, setWorldWindow
-
Methods inherited from class gov.nasa.worldwind.layers.AbstractLayer
createLayerConfigElements, dispose, doPreRender, getDataFileStore, getExpiryTime, getLayerConfigParams, getMaxActiveAltitude, getMaxEffectiveAltitude, getMinActiveAltitude, getMinEffectiveAltitude, getName, getOpacity, getRestorableState, getScale, getScreenCredit, isAtMaxResolution, isEnabled, isLayerActive, isLayerConfigDocument, isLayerInView, isMultiResolution, isNetworkRetrievalEnabled, isPickEnabled, pick, preRender, render, restoreState, setDataFileStore, setEnabled, setExpiryTime, setMaxActiveAltitude, setMinActiveAltitude, setName, setNetworkRetrievalEnabled, setOpacity, setPickEnabled, setScreenCredit, toString
-
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
onMessage, propertyChange
-
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
Methods inherited from interface gov.nasa.worldwind.event.MessageListener
onMessage
-
-
-
-
Field Detail
-
MOVE_VERTEX_ACTION
public static final java.lang.String MOVE_VERTEX_ACTION
- See Also:
- Constant Field Values
-
CHANGE_HEIGHT_ACTION
public static final java.lang.String CHANGE_HEIGHT_ACTION
- See Also:
- Constant Field Values
-
CHANGE_LATITUDE_ACTION
public static final java.lang.String CHANGE_LATITUDE_ACTION
- See Also:
- Constant Field Values
-
CHANGE_LONGITUDE_ACTION
public static final java.lang.String CHANGE_LONGITUDE_ACTION
- See Also:
- Constant Field Values
-
MOVE_SHAPE_ACTION
public static final java.lang.String MOVE_SHAPE_ACTION
- See Also:
- Constant Field Values
-
SCALE_SHAPE_ACTION
public static final java.lang.String SCALE_SHAPE_ACTION
- See Also:
- Constant Field Values
-
SCALE_NORTH_SOUTH_ACTION
public static final java.lang.String SCALE_NORTH_SOUTH_ACTION
- See Also:
- Constant Field Values
-
SCALE_EAST_WEST_ACTION
public static final java.lang.String SCALE_EAST_WEST_ACTION
- See Also:
- Constant Field Values
-
SCALE_VERTICAL_ACTION
public static final java.lang.String SCALE_VERTICAL_ACTION
- See Also:
- Constant Field Values
-
SCALE_NORTH_ACTION
public static final java.lang.String SCALE_NORTH_ACTION
- See Also:
- Constant Field Values
-
SCALE_SOUTH_ACTION
public static final java.lang.String SCALE_SOUTH_ACTION
- See Also:
- Constant Field Values
-
SCALE_EAST_ACTION
public static final java.lang.String SCALE_EAST_ACTION
- See Also:
- Constant Field Values
-
SCALE_WEST_ACTION
public static final java.lang.String SCALE_WEST_ACTION
- See Also:
- Constant Field Values
-
SCALE_UP_ACTION
public static final java.lang.String SCALE_UP_ACTION
- See Also:
- Constant Field Values
-
SCALE_DOWN_ACTION
public static final java.lang.String SCALE_DOWN_ACTION
- See Also:
- Constant Field Values
-
SCALE_RADIUS_ACTION
public static final java.lang.String SCALE_RADIUS_ACTION
- See Also:
- Constant Field Values
-
SCALE_ANGLE_ACTION
public static final java.lang.String SCALE_ANGLE_ACTION
- See Also:
- Constant Field Values
-
SCALE_NORTHEAST_ACTION
public static final java.lang.String SCALE_NORTHEAST_ACTION
- See Also:
- Constant Field Values
-
SCALE_SOUTHWEST_ACTION
public static final java.lang.String SCALE_SOUTHWEST_ACTION
- See Also:
- Constant Field Values
-
SCALE_NORTHWEST_ACTION
public static final java.lang.String SCALE_NORTHWEST_ACTION
- See Also:
- Constant Field Values
-
SCALE_SOUTHEAST_ACTION
public static final java.lang.String SCALE_SOUTHEAST_ACTION
- See Also:
- Constant Field Values
-
CHANGE_HEADING_ACTION
public static final java.lang.String CHANGE_HEADING_ACTION
- See Also:
- Constant Field Values
-
CHANGE_TILT_ACTION
public static final java.lang.String CHANGE_TILT_ACTION
- See Also:
- Constant Field Values
-
CHANGE_ROLL_ACTION
public static final java.lang.String CHANGE_ROLL_ACTION
- See Also:
- Constant Field Values
-
SKEW_NORTH_SOUTH_ACTION
public static final java.lang.String SKEW_NORTH_SOUTH_ACTION
- See Also:
- Constant Field Values
-
SKEW_EAST_WEST_ACTION
public static final java.lang.String SKEW_EAST_WEST_ACTION
- See Also:
- Constant Field Values
-
CHANGE_SKEW_ACTION
public static final java.lang.String CHANGE_SKEW_ACTION
- See Also:
- Constant Field Values
-
SET_TEXTURE_ACTION
public static final java.lang.String SET_TEXTURE_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_MOVE_ACTION
public static final java.lang.String TEXTURE_MOVE_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_UPPER_LEFT_ACTION
public static final java.lang.String TEXTURE_UPPER_LEFT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_UPPER_RIGHT_ACTION
public static final java.lang.String TEXTURE_UPPER_RIGHT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_LOWER_LEFT_ACTION
public static final java.lang.String TEXTURE_LOWER_LEFT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_LOWER_RIGHT_ACTION
public static final java.lang.String TEXTURE_LOWER_RIGHT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_SCALE_RIGHT_ACTION
public static final java.lang.String TEXTURE_SCALE_RIGHT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_SCALE_LEFT_ACTION
public static final java.lang.String TEXTURE_SCALE_LEFT_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_SCALE_UP_ACTION
public static final java.lang.String TEXTURE_SCALE_UP_ACTION
- See Also:
- Constant Field Values
-
TEXTURE_SCALE_DOWN_ACTION
public static final java.lang.String TEXTURE_SCALE_DOWN_ACTION
- See Also:
- Constant Field Values
-
TRANSLATION_MODE
public static final java.lang.String TRANSLATION_MODE
- See Also:
- Constant Field Values
-
SCALE_MODE
public static final java.lang.String SCALE_MODE
- See Also:
- Constant Field Values
-
ROTATION_MODE
public static final java.lang.String ROTATION_MODE
- See Also:
- Constant Field Values
-
SKEW_MODE
public static final java.lang.String SKEW_MODE
- See Also:
- Constant Field Values
-
TEXTURE_MODE
public static final java.lang.String TEXTURE_MODE
- See Also:
- Constant Field Values
-
UPPER_LEFT_UV
public static final java.lang.Integer UPPER_LEFT_UV
-
UPPER_RIGHT_UV
public static final java.lang.Integer UPPER_RIGHT_UV
-
LOWER_LEFT_UV
public static final java.lang.Integer LOWER_LEFT_UV
-
LOWER_RIGHT_UV
public static final java.lang.Integer LOWER_RIGHT_UV
-
shape
protected RigidShape shape
-
activeControlPoint
protected RigidShape activeControlPoint
-
activeControlPointIndex
protected int activeControlPointIndex
-
controlPoints
protected java.util.List<RigidShape> controlPoints
-
selectedFace
protected int selectedFace
-
vertexControlAttributes
protected BasicMarkerAttributes vertexControlAttributes
-
translationControlAttributes
protected ShapeAttributes translationControlAttributes
-
scaleControlAttributes
protected ShapeAttributes scaleControlAttributes
-
rotationControlAttributes
protected ShapeAttributes rotationControlAttributes
-
textureControlAttributes
protected ShapeAttributes textureControlAttributes
-
heightControlAttributes
protected ShapeAttributes heightControlAttributes
-
radiusControlAttributes
protected ShapeAttributes radiusControlAttributes
-
rollGuideAttributes
protected ShapeAttributes rollGuideAttributes
-
headingGuideAttributes
protected ShapeAttributes headingGuideAttributes
-
tiltGuideAttributes
protected ShapeAttributes tiltGuideAttributes
-
translationRodAttributes
protected ShapeAttributes translationRodAttributes
-
scaleRodAttributes
protected ShapeAttributes scaleRodAttributes
-
rotationRodAttributes
protected ShapeAttributes rotationRodAttributes
-
radiusRodAttributes
protected ShapeAttributes radiusRodAttributes
-
intersectionsDispatchThread
protected java.lang.Thread intersectionsDispatchThread
-
tempPath
protected Path tempPath
-
tempPath2
protected Path tempPath2
-
tempPath3
protected Path tempPath3
-
firstPass
protected boolean firstPass
-
-
Method Detail
-
getShape
public RigidShape getShape()
-
setShape
public void setShape(AbstractShape shape)
- Specified by:
setShape
in classAbstractShapeEditor
-
getEditMode
public java.lang.String getEditMode()
- Specified by:
getEditMode
in classAbstractShapeEditor
-
setEditMode
public void setEditMode(java.lang.String editMode)
- Specified by:
setEditMode
in classAbstractShapeEditor
-
getSelectedFace
public int getSelectedFace()
-
setSelectedFace
public void setSelectedFace(int selectedFace)
-
assembleControlPoints
protected void assembleControlPoints(DrawContext dc)
-
assembleTranslationControlPoints
protected void assembleTranslationControlPoints(DrawContext dc)
-
assembleScaleControlPoints
protected void assembleScaleControlPoints(DrawContext dc)
-
assembleRotationControlPoints
protected void assembleRotationControlPoints(DrawContext dc)
-
assembleSkewControlPoints
protected void assembleSkewControlPoints(DrawContext dc)
-
assembleTextureControlPoints
protected void assembleTextureControlPoints(DrawContext dc)
-
assembleVertexControlPoints
protected void assembleVertexControlPoints(DrawContext dc)
-
doRender
protected void doRender(DrawContext dc)
- Specified by:
doRender
in classAbstractLayer
-
doPick
protected void doPick(DrawContext dc, java.awt.Point point)
- Overrides:
doPick
in classAbstractLayer
-
assembleControlPointAttributes
protected void assembleControlPointAttributes()
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
-
moveShape
protected void moveShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
moveShapeLatitude
protected void moveShapeLatitude(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
moveShapeLongitude
protected void moveShapeLongitude(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
setShapeHeight
protected void setShapeHeight(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeEastWest
protected void scaleShapeEastWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeEast
protected void scaleShapeEast(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeWest
protected void scaleShapeWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeNorthSouth
protected void scaleShapeNorthSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeNorth
protected void scaleShapeNorth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeSouth
protected void scaleShapeSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeVertical
protected void scaleShapeVertical(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeUp
protected void scaleShapeUp(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeDown
protected void scaleShapeDown(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeNortheast
protected void scaleShapeNortheast(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeSouthwest
protected void scaleShapeSouthwest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeRadius
protected void scaleShapeRadius(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShapeAngle
protected void scaleShapeAngle(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
scaleShape
protected void scaleShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
changeShapeHeading
protected void changeShapeHeading(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
changeShapeRoll
protected void changeShapeRoll(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
changeShapeTilt
protected void changeShapeTilt(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
skewShapeEastWest
protected void skewShapeEastWest(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
skewShapeNorthSouth
protected void skewShapeNorthSouth(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
skewShape
protected void skewShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
moveTexture
protected void moveTexture(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
moveTextureCorner
protected void moveTextureCorner(java.awt.Point previousMousePoint, java.awt.Point mousePoint, java.lang.Integer corner)
-
scaleTexture
protected void scaleTexture(java.awt.Point previousMousePoint, java.awt.Point mousePoint, RigidShapeEditor.Direction side)
-
textureShape
protected void textureShape(java.awt.Point previousMousePoint, java.awt.Point mousePoint)
-
moveControlPoint
protected void moveControlPoint(RigidShapeEditor.ControlPointMarker controlPoint, java.awt.Point moveToPoint)
-
addVertex
protected void addVertex(java.awt.Point mousePoint)
Add a vertex to the polygon's outer boundary.- Parameters:
mousePoint
- the point at which the mouse was clicked. The new vertex will be placed as near as possible to this point, at the elevation of the polygon.
-
removeVertex
protected void removeVertex(RigidShapeEditor.ControlPointMarker vertexToRemove)
Remove a vertex from the polygon.- Parameters:
vertexToRemove
- the vertex to remove.
-
intersectPolygonAltitudeAt
protected Vec4 intersectPolygonAltitudeAt(Line ray)
Determine the point at which a ray intersects a the globe at the elevation of the polygon.- Parameters:
ray
- Ray to intersect with the globe.- Returns:
- The point at which the ray intersects the globe at the elevation of the polygon.
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
-
updateAnnotation
public void updateAnnotation(Position pos)
- Specified by:
updateAnnotation
in classAbstractShapeEditor
-
getDisplayString
protected java.lang.String getDisplayString(Position pos)
-
formatMeasurements
protected java.lang.String formatMeasurements(Position pos)
-
-