Package edu.wisc.ssec.mcidasv.data.hydra
Class MyRubberBandBoxRendererJ3D
java.lang.Object
visad.DataRenderer
visad.java3d.RendererJ3D
visad.java3d.DirectManipulationRendererJ3D
edu.wisc.ssec.mcidasv.data.hydra.MyRubberBandBoxRendererJ3D
- All Implemented Interfaces:
Cloneable
RubberBandBoxRendererJ3D is the VisAD class for direct
manipulation of rubber band boxes
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean
private byte
private javax.media.j3d.BranchGroup
private float[][]
private float
private float[]
(package private) float[]
private static final int
boolean
private static final float
private float[]
arrays of length one for inverseScaleValuesprivate float[][]
private byte
private javax.media.j3d.BranchGroup
private boolean
private javax.media.j3d.Appearance
private javax.media.j3d.GeometryArray
private javax.media.j3d.BranchGroup
private float[][]
private DataDisplayLink
for use in drag_directprivate static final org.slf4j.Logger
private int
private int
private int
private float
private byte
private DataReference
private boolean
private DisplayTupleType
spatial DisplayTupleType other than DisplaySpatialCartesianTupleprivate CoordinateSystem
private String
explanation for invalid use of DirectManipulationRendererprivate RealType
private static final String
possible values for whyNotDirectprivate static final String
private int
private ScalarMap
private RealTupleType
private RealType
private int
private ScalarMap
Fields inherited from class visad.java3d.RendererJ3D
renderOrderPriority
Fields inherited from class visad.DataRenderer
pickCrawlToCursor
-
Constructor Summary
ConstructorsConstructorDescriptionMyRubberBandBoxRendererJ3D
(RealType xarg, RealType yarg) this DirectManipulationRenderer is quite different - it does not render its data, but only place values into its DataReference on right mouse button release; it uses xarg and yarg to determine spatial ScalarMapsMyRubberBandBoxRendererJ3D
(RealType xarg, RealType yarg, int mmm, int mmv) xarg and yarg determine spatial ScalarMaps; mmm and mmv determine whehter SHIFT or CTRL keys are required - this is needed since this is a greedy DirectManipulationRenderer that will grab any right mouse click (that intersects its 2-D sub-manifold) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPoint
(float[] x) float
checkClose
(double[] origin, double[] direction) check if ray intersects sub-manifoldvoid
clone()
javax.media.j3d.BranchGroup
don't render - just return BranchGroup for scene graph to render rectangle intovoid
drag_direct
(VisADRay ray, boolean first, int mouseModifiers) javax.media.j3d.BranchGroup
void
mouse button released, ending direct manipulationvoid
void
setKeepLastBoxOn
(boolean keep) void
void
setLastBox
(javax.media.j3d.BranchGroup box_bg) void
setSpatialValues
(float[][] spatial_values) set spatialValues from ShadowType.doTransformvoid
Methods inherited from class visad.java3d.DirectManipulationRendererJ3D
clearScene, isLegalTextureMap, setBranch, setLinks
Methods inherited from class visad.java3d.RendererJ3D
clearBranch, doAction, flush, getBranch, getOrderedGroupIndex, getRenderOrderPriority, makeShadowFunctionType, makeShadowRealTupleType, makeShadowRealType, makeShadowSetType, makeShadowTextType, makeShadowTupleType, setBranchEarly, toggle
Methods inherited from class visad.DataRenderer
addException, checkAction, clearAVControls, clearExceptions, computeRanges, constrainDragPoint, earthToSpatial, earthToSpatial, findRayManifoldIntersection, get_all_feasible, get_any_changed, get_any_transform_control, getBadScale, getDisplay, getDisplayRenderer, getEarthDimension, getEarthUnits, getEnabled, getExceptionVector, getIsDirectManipulation, getLastMouseModifiers, getLatLonIndices, getLatLonRange, getLink, getLinks, getPickCrawlToCursor, getPolygonOffset, getPolygonOffsetFactor, getProjectionControlListeners, getRanges, getRealVectorTypes, hasPolygonOffset, isTransformControl, prepareAction, realCheckDirect, removeLink, set_all_feasible, setDisplay, setDisplayRenderer, setEarthSpatialData, setEarthSpatialDisplay, setHasPolygonOffset, setIsDirectManipulation, setLastMouseModifiers, setLatLonIndices, setLinks, setPickCrawlToCursor, setPolygonOffset, setPolygonOffsetFactor, spatialToEarth, spatialToEarth, suppressExceptions
-
Field Details
-
logger
-
x
-
y
-
xy
-
mouseModifiersMask
-
mouseModifiersValue
-
branch
-
group
-
keep_last_box
-
last_group
-
last_geometry
-
last_appearance
-
last_box
-
enabled
-
active
-
link
for use in drag_direct -
ref
-
xmap
-
ymap
-
default_values
float[] default_values -
f
arrays of length one for inverseScaleValues -
d
-
whyNotDirect
explanation for invalid use of DirectManipulationRenderer -
tuple
spatial DisplayTupleType other than DisplaySpatialCartesianTuple -
tuplecs
-
xindex
-
yindex
-
otherindex
-
othervalue
-
red
-
green
-
blue
-
first_x
-
last_x
-
clast_x
-
cum_lon
-
xandyNotMatch
possible values for whyNotDirect- See Also:
-
xandyNotSpatial
- See Also:
-
stop
-
EDGE
- See Also:
-
EPS
- See Also:
-
-
Constructor Details
-
MyRubberBandBoxRendererJ3D
this DirectManipulationRenderer is quite different - it does not render its data, but only place values into its DataReference on right mouse button release; it uses xarg and yarg to determine spatial ScalarMaps -
MyRubberBandBoxRendererJ3D
xarg and yarg determine spatial ScalarMaps; mmm and mmv determine whehter SHIFT or CTRL keys are required - this is needed since this is a greedy DirectManipulationRenderer that will grab any right mouse click (that intersects its 2-D sub-manifold)
-
-
Method Details
-
doTransform
don't render - just return BranchGroup for scene graph to render rectangle into- Overrides:
doTransform
in classDirectManipulationRendererJ3D
- Throws:
VisADException
RemoteException
-
checkDirect
- Overrides:
checkDirect
in classDirectManipulationRendererJ3D
- Throws:
VisADException
RemoteException
-
getWhyNotDirect
- Overrides:
getWhyNotDirect
in classDataRenderer
-
addPoint
- Overrides:
addPoint
in classDirectManipulationRendererJ3D
- Throws:
VisADException
-
getDisplayCoordinateSystem
- Overrides:
getDisplayCoordinateSystem
in classDataRenderer
-
setSpatialValues
set spatialValues from ShadowType.doTransform- Overrides:
setSpatialValues
in classDataRenderer
-
checkClose
check if ray intersects sub-manifold- Overrides:
checkClose
in classDataRenderer
-
release_direct
mouse button released, ending direct manipulation- Overrides:
release_direct
in classDataRenderer
-
stop_direct
- Overrides:
stop_direct
in classDataRenderer
-
drag_direct
- Overrides:
drag_direct
in classDataRenderer
-
clone
- Overrides:
clone
in classDirectManipulationRendererJ3D
-
setKeepLastBoxOn
-
removeLastBox
-
getLastBox
-
setLastBox
-
setLastBox
-