public class PickCanvas extends PickTool
The pick tolerance specifies the distance from the pick center to include in the pick shape. A tolerance of 0.0 may speedup picking slightly, but also make it very difficult to pick points and lines.
The pick canvas can be used to make a series of picks. For example, to initialize the pick canvas:
PickCanvas pickCanvas = new PickCanvas(canvas, scene); pickCanvas.setMode(PickInfo.PICK_GEOMETRY); pickCanvas.setFlags(PickInfo.NODE | PickInfo.CLOSEST_INTERSECTION_POINT); pickCanvas.setTolerance(4.0f);
Then for each mouse event:
pickCanvas.setShapeLocation(mouseEvent); PickInfo[] pickInfos = pickCanvas.pickAll();
NOTE: For the pickAllSorted or pickClosest methods, the picks will be sorted by the distance from the ViewPlatform to the intersection point.
PickTool
TYPE_BRANCH_GROUP, TYPE_GROUP, TYPE_LINK, TYPE_MORPH, TYPE_PRIMITIVE, TYPE_SHAPE3D, TYPE_SWITCH, TYPE_TRANSFORM_GROUP, userDefineShape
Constructor and Description |
---|
PickCanvas(Canvas3D c,
BranchGroup b)
Constructor with Canvas3D for mouse events and BranchGroup to be picked.
|
PickCanvas(Canvas3D c,
Locale l)
Constructor with Canvas3D for mouse events and Locale to be picked.
|
Modifier and Type | Method and Description |
---|---|
Canvas3D |
getCanvas()
Inquire the canvas to be used for picking operations.
|
float |
getTolerance()
Get the pick tolerance.
|
void |
setShapeLocation(int xpos,
int ypos)
Set the pick location.
|
void |
setShapeLocation(MouseEvent mevent)
Set the pick location.
|
void |
setTolerance(float t)
Set the picking tolerance.
|
getBranchGroup, getFlags, getLocale, getMode, getNode, getPickShape, getStartPosition, pickAll, pickAllSorted, pickAny, pickClosest, setFlags, setMode, setShape, setShapeBounds, setShapeConeRay, setShapeConeSegment, setShapeCylinderRay, setShapeCylinderSegment, setShapeRay, setShapeSegment
public PickCanvas(Canvas3D c, BranchGroup b)
public Canvas3D getCanvas()
public void setTolerance(float t)
t
- The toleranceIllegalArgumentException
- if the tolerance is less than 0.public float getTolerance()
public void setShapeLocation(MouseEvent mevent)
mevent
- The MouseEvent for the picking pointpublic void setShapeLocation(int xpos, int ypos)
xpos
- the X position of the picking pointypos
- the Y position of the picking pointCopyright © 2016–2022 SciJava. All rights reserved.