public class BarbManipulationRendererJ2D extends DirectManipulationRendererJ2D implements BarbRenderer
enabled, pickCrawlToCursor
Constructor and Description |
---|
BarbManipulationRendererJ2D()
this DataRenderer supports direct manipulation for Tuple
representations of wind barbs; two of the Tuple's Real components
must be mapped to Flow1X and Flow1Y, or Flow2X and Flow2Y
|
Modifier and Type | Method and Description |
---|---|
void |
addPoint(float[] x)
add point for temporary rendering; intended to be
over-ridden by graphics-API-specific extensions of
DataRenderer
|
float |
checkClose(double[] origin,
double[] direction)
find minimum distance from ray to barb tail
|
void |
checkDirect()
set isDirectManipulation = true if this DataRenderer supports
direct manipulation for the MathType of its linked Data, and
for its ScalarMaps; intended to be over-ridden by extensions of
DataRenderer
|
Object |
clone() |
void |
drag_direct(VisADRay ray,
boolean first,
int mouseModifiers)
modify Data values based on direct manipulation mouse actions
|
boolean |
getKnotsConvert() |
String |
getWhyNotDirect() |
static void |
main(String[] args)
test BarbManipulationRendererJ2D
|
ShadowType |
makeShadowFunctionType(FunctionType type,
DataDisplayLink link,
ShadowType parent)
factory method for constructing a subclass of ShadowType appropriate
for the graphics API, that also adapts ShadowFunctionType;
ShadowType trees are constructed that 'shadow' the MathType trees of
Data to be depicted, via recursive calls to buildShadowType() methods
of MathType sub-classes, to DataRenderer.makeShadow*Type() methods,
to Shadow*Type constructors, then back to buildShadowType() methods;
the recursive call chain is initiated by DataDisplayLink.prepareData()
calls to buildShadowType() methods of MathType sub-classes;
|
ShadowType |
makeShadowRealTupleType(RealTupleType type,
DataDisplayLink link,
ShadowType parent)
factory for constructing a subclass of ShadowType appropriate
for the graphics API, that also adapts ShadowRealTupleType;
ShadowType trees are constructed that 'shadow' the MathType trees of
Data to be depicted, via recursive calls to buildShadowType() methods
of MathType sub-classes, to DataRenderer.makeShadow*Type() methods,
to Shadow*Type constructors, then back to buildShadowType() methods;
the recursive call chain is initiated by DataDisplayLink.prepareData()
calls to buildShadowType() methods of MathType sub-classes;
|
ShadowType |
makeShadowRealType(RealType type,
DataDisplayLink link,
ShadowType parent)
factory for constructing a subclass of ShadowType appropriate
for the graphics API, that also adapts ShadowRealType;
ShadowType trees are constructed that 'shadow' the MathType trees of
Data to be depicted, via recursive calls to buildShadowType() methods
of MathType sub-classes, to DataRenderer.makeShadow*Type() methods,
to Shadow*Type constructors, then back to buildShadowType() methods;
the recursive call chain is initiated by DataDisplayLink.prepareData()
calls to buildShadowType() methods of MathType sub-classes;
|
ShadowType |
makeShadowSetType(SetType type,
DataDisplayLink link,
ShadowType parent)
factory for constructing a subclass of ShadowType appropriate
for the graphics API, that also adapts ShadowSetType;
ShadowType trees are constructed that 'shadow' the MathType trees of
Data to be depicted, via recursive calls to buildShadowType() methods
of MathType sub-classes, to DataRenderer.makeShadow*Type() methods,
to Shadow*Type constructors, then back to buildShadowType() methods;
the recursive call chain is initiated by DataDisplayLink.prepareData()
calls to buildShadowType() methods of MathType sub-classes;
|
ShadowType |
makeShadowTupleType(TupleType type,
DataDisplayLink link,
ShadowType parent)
factory for constructing a subclass of ShadowType appropriate
for the graphics API, that also adapts ShadowTupleType;
ShadowType trees are constructed that 'shadow' the MathType trees of
Data to be depicted, via recursive calls to buildShadowType() methods
of MathType sub-classes, to DataRenderer.makeShadow*Type() methods,
to Shadow*Type constructors, then back to buildShadowType() methods;
the recursive call chain is initiated by DataDisplayLink.prepareData()
calls to buildShadowType() methods of MathType sub-classes;
|
float[] |
makeVector(boolean south,
float x,
float y,
float z,
float scale,
float pt_size,
float f0,
float f1,
float[] vx,
float[] vy,
float[] vz,
int[] numv,
float[] tx,
float[] ty,
float[] tz,
int[] numt)
dummy for BarbRenderer
|
void |
release_direct()
mouse button released, ending direct manipulation
|
void |
setKnotsConvert(boolean enable) |
void |
setSpatialValues(float[][] spatial_values)
set spatialValues from ShadowType.doTransform
|
void |
setVectorSpatialValues(float[] mbarb,
int which) |
void |
stop_direct()
discontinue manipulating Data values for current mouse drag;
(this only applies to the current mouse drag and is not a
general disable)
|
doTransform, getExtraBranch, isLegalTextureMap, setLinks
clearBranch, clearScene, doAction, makeShadowTextType, toggle
addException, checkAction, clearAVControls, clearExceptions, computeRanges, constrainDragPoint, earthToSpatial, earthToSpatial, findRayManifoldIntersection, get_all_feasible, get_any_changed, get_any_transform_control, getBadScale, getDisplay, getDisplayCoordinateSystem, 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
public BarbManipulationRendererJ2D()
public ShadowType makeShadowFunctionType(FunctionType type, DataDisplayLink link, ShadowType parent) throws VisADException, RemoteException
DataRenderer
makeShadowFunctionType
in class RendererJ2D
type
- FunctionType that returned ShadowType will shadowlink
- DataDisplayLink linking Data to be depictedparent
- parent in ShadowType tree structureVisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic ShadowType makeShadowRealTupleType(RealTupleType type, DataDisplayLink link, ShadowType parent) throws VisADException, RemoteException
DataRenderer
makeShadowRealTupleType
in class RendererJ2D
type
- FunctionType that returned ShadowType will shadowlink
- DataDisplayLink linking Data to be depictedparent
- parent in ShadowType tree structureVisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic ShadowType makeShadowRealType(RealType type, DataDisplayLink link, ShadowType parent) throws VisADException, RemoteException
DataRenderer
makeShadowRealType
in class RendererJ2D
type
- FunctionType that returned ShadowType will shadowlink
- DataDisplayLink linking Data to be depictedparent
- parent in ShadowType tree structureVisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic ShadowType makeShadowSetType(SetType type, DataDisplayLink link, ShadowType parent) throws VisADException, RemoteException
DataRenderer
makeShadowSetType
in class RendererJ2D
type
- FunctionType that returned ShadowType will shadowlink
- DataDisplayLink linking Data to be depictedparent
- parent in ShadowType tree structureVisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic ShadowType makeShadowTupleType(TupleType type, DataDisplayLink link, ShadowType parent) throws VisADException, RemoteException
DataRenderer
makeShadowTupleType
in class RendererJ2D
type
- FunctionType that returned ShadowType will shadowlink
- DataDisplayLink linking Data to be depictedparent
- parent in ShadowType tree structureVisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic float[] makeVector(boolean south, float x, float y, float z, float scale, float pt_size, float f0, float f1, float[] vx, float[] vy, float[] vz, int[] numv, float[] tx, float[] ty, float[] tz, int[] numt)
makeVector
in interface BarbRenderer
public void setKnotsConvert(boolean enable)
setKnotsConvert
in interface BarbRenderer
public boolean getKnotsConvert()
getKnotsConvert
in interface BarbRenderer
public String getWhyNotDirect()
getWhyNotDirect
in class DataRenderer
public void checkDirect() throws VisADException, RemoteException
DataRenderer
checkDirect
in class DirectManipulationRendererJ2D
VisADException
- a VisAD error occurredRemoteException
- an RMI error occurredpublic void addPoint(float[] x) throws VisADException
DataRenderer
addPoint
in class DirectManipulationRendererJ2D
x
- 3-D graphics coordinates of point to renderVisADException
- a VisAD error occurredpublic void setVectorSpatialValues(float[] mbarb, int which)
public void setSpatialValues(float[][] spatial_values)
setSpatialValues
in class DataRenderer
spatial_values
- float[3][number_of_points] of 3-D locations
of depiction pointspublic float checkClose(double[] origin, double[] direction)
checkClose
in class DataRenderer
origin
- 3-D origin of raydirection
- 3-D direction of raypublic void release_direct()
release_direct
in class DataRenderer
public void stop_direct()
DataRenderer
stop_direct
in class DataRenderer
public void drag_direct(VisADRay ray, boolean first, int mouseModifiers)
DataRenderer
drag_direct
in class DataRenderer
ray
- 3-D graphics coordinates of ray corresponding to
mouse screen locationfirst
- flag if this is first call (for MouseEvent.MOUSE_PRESSED,
not for MouseEvent.MOUSE_DRAGGED)mouseModifiers
- value of InputEvent.getModifiers() from
most recent direct manipulation mouse clickpublic Object clone()
clone
in class DirectManipulationRendererJ2D
public static void main(String[] args) throws VisADException, RemoteException
VisADException
RemoteException
Copyright © 1996–2023 The SSEC Visualization Project. All rights reserved.