public class MyRubberBandBoxRendererJ3D extends visad.java3d.DirectManipulationRendererJ3D
Modifier and Type | Field and Description |
---|---|
boolean |
active |
private byte |
blue |
private javax.media.j3d.BranchGroup |
branch |
private float[][] |
clast_x |
private float |
cum_lon |
private float[] |
d |
(package private) float[] |
default_values |
private static int |
EDGE |
boolean |
enabled |
private static float |
EPS |
private float[] |
f
arrays of length one for inverseScaleValues
|
private float[][] |
first_x |
private byte |
green |
private javax.media.j3d.BranchGroup |
group |
private boolean |
keep_last_box |
private javax.media.j3d.Appearance |
last_appearance |
visad.Gridded3DSet |
last_box |
private javax.media.j3d.GeometryArray |
last_geometry |
private javax.media.j3d.BranchGroup |
last_group |
private float[][] |
last_x |
private visad.DataDisplayLink |
link
for use in drag_direct
|
private int |
mouseModifiersMask |
private int |
mouseModifiersValue |
private int |
otherindex |
private float |
othervalue |
private byte |
red |
private visad.DataReference |
ref |
private boolean |
stop |
private visad.DisplayTupleType |
tuple
spatial DisplayTupleType other than
DisplaySpatialCartesianTuple
|
private visad.CoordinateSystem |
tuplecs |
private java.lang.String |
whyNotDirect
explanation for invalid use of DirectManipulationRenderer
|
private visad.RealType |
x |
private static java.lang.String |
xandyNotMatch
possible values for whyNotDirect
|
private static java.lang.String |
xandyNotSpatial |
private int |
xindex |
private visad.ScalarMap |
xmap |
private visad.RealTupleType |
xy |
private visad.RealType |
y |
private int |
yindex |
private visad.ScalarMap |
ymap |
Constructor and Description |
---|
MyRubberBandBoxRendererJ3D(visad.RealType xarg,
visad.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 ScalarMaps
|
MyRubberBandBoxRendererJ3D(visad.RealType xarg,
visad.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)
|
Modifier and Type | Method and Description |
---|---|
void |
addPoint(float[] x) |
float |
checkClose(double[] origin,
double[] direction)
check if ray intersects sub-manifold
|
void |
checkDirect() |
java.lang.Object |
clone() |
javax.media.j3d.BranchGroup |
doTransform()
don't render - just return BranchGroup for scene graph to
render rectangle into
|
void |
drag_direct(visad.VisADRay ray,
boolean first,
int mouseModifiers) |
visad.CoordinateSystem |
getDisplayCoordinateSystem() |
javax.media.j3d.BranchGroup |
getLastBox() |
java.lang.String |
getWhyNotDirect() |
void |
release_direct()
mouse button released, ending direct manipulation
|
void |
removeLastBox() |
void |
setKeepLastBoxOn(boolean keep) |
void |
setLastBox(javax.media.j3d.BranchGroup box_bg) |
void |
setLastBox(MyRubberBandBoxRendererJ3D rbbr) |
void |
setSpatialValues(float[][] spatial_values)
set spatialValues from ShadowType.doTransform
|
void |
stop_direct() |
clearScene, isLegalTextureMap, setBranch, setLinks
clearBranch, doAction, flush, getBranch, makeShadowFunctionType, makeShadowRealTupleType, makeShadowRealType, makeShadowSetType, makeShadowTextType, makeShadowTupleType, setBranchEarly, toggle
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
private visad.RealType x
private visad.RealType y
private visad.RealTupleType xy
private int mouseModifiersMask
private int mouseModifiersValue
private javax.media.j3d.BranchGroup branch
private javax.media.j3d.BranchGroup group
private boolean keep_last_box
private javax.media.j3d.BranchGroup last_group
private javax.media.j3d.GeometryArray last_geometry
private javax.media.j3d.Appearance last_appearance
public visad.Gridded3DSet last_box
public boolean enabled
public boolean active
private transient visad.DataDisplayLink link
private transient visad.DataReference ref
private transient visad.ScalarMap xmap
private transient visad.ScalarMap ymap
float[] default_values
private float[] f
private float[] d
private java.lang.String whyNotDirect
private visad.DisplayTupleType tuple
private visad.CoordinateSystem tuplecs
private int xindex
private int yindex
private int otherindex
private float othervalue
private byte red
private byte green
private byte blue
private float[][] first_x
private float[][] last_x
private float[][] clast_x
private float cum_lon
private static final java.lang.String xandyNotMatch
private static final java.lang.String xandyNotSpatial
private boolean stop
private static final int EDGE
private static final float EPS
public MyRubberBandBoxRendererJ3D(visad.RealType xarg, visad.RealType yarg)
public MyRubberBandBoxRendererJ3D(visad.RealType xarg, visad.RealType yarg, int mmm, int mmv)
public javax.media.j3d.BranchGroup doTransform() throws visad.VisADException, java.rmi.RemoteException
doTransform
in class visad.java3d.DirectManipulationRendererJ3D
visad.VisADException
java.rmi.RemoteException
public void checkDirect() throws visad.VisADException, java.rmi.RemoteException
checkDirect
in class visad.java3d.DirectManipulationRendererJ3D
visad.VisADException
java.rmi.RemoteException
public java.lang.String getWhyNotDirect()
getWhyNotDirect
in class visad.DataRenderer
public void addPoint(float[] x) throws visad.VisADException
addPoint
in class visad.java3d.DirectManipulationRendererJ3D
visad.VisADException
public visad.CoordinateSystem getDisplayCoordinateSystem()
getDisplayCoordinateSystem
in class visad.DataRenderer
public void setSpatialValues(float[][] spatial_values)
setSpatialValues
in class visad.DataRenderer
public float checkClose(double[] origin, double[] direction)
checkClose
in class visad.DataRenderer
public void release_direct()
release_direct
in class visad.DataRenderer
public void stop_direct()
stop_direct
in class visad.DataRenderer
public void drag_direct(visad.VisADRay ray, boolean first, int mouseModifiers)
drag_direct
in class visad.DataRenderer
public java.lang.Object clone()
clone
in class visad.java3d.DirectManipulationRendererJ3D
public void setKeepLastBoxOn(boolean keep)
public void removeLastBox()
public javax.media.j3d.BranchGroup getLastBox()
public void setLastBox(javax.media.j3d.BranchGroup box_bg)
public void setLastBox(MyRubberBandBoxRendererJ3D rbbr)