public class BranchGroup extends Group
Modifier and Type | Field and Description |
---|---|
static int |
ALLOW_DETACH
For BranchGroup nodes, specifies that this BranchGroup allows detaching
from its parent.
|
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
Constructor and Description |
---|
BranchGroup()
Constructs and initializes a new BranchGroup node object.
|
Modifier and Type | Method and Description |
---|---|
Node |
cloneNode(boolean forceDuplicate)
Creates a new instance of the node.
|
void |
compile()
Compiles the source BranchGroup associated with this object and
creates and caches a compiled scene graph.
|
void |
detach()
Detaches this BranchGroup from its parent.
|
PickInfo[] |
pickAll(int mode,
int flags,
PickShape pickShape)
Returns an array unsorted references to all the PickInfo objects that are
pickable below this
BranchGroup that intersect with PickShape. |
SceneGraphPath[] |
pickAll(PickShape pickShape)
Returns an array referencing all the items that are pickable below this
BranchGroup that intersect with PickShape. |
PickInfo[] |
pickAllSorted(int mode,
int flags,
PickShape pickShape)
Returns a sorted array of PickInfo references to all the pickable
items that intersect with the pickShape.
|
SceneGraphPath[] |
pickAllSorted(PickShape pickShape)
Returns a sorted array of references to all the Pickable items that
intersect with the pickShape.
|
PickInfo |
pickAny(int mode,
int flags,
PickShape pickShape)
Returns a PickInfo which references the pickable item below this
BranchGroup that intersects with
pickShape . |
SceneGraphPath |
pickAny(PickShape pickShape)
Returns a reference to any item that is Pickable below this BranchGroup that
intersects with
pickShape . |
PickInfo |
pickClosest(int mode,
int flags,
PickShape pickShape)
Returns a PickInfo which references the pickable item
which is closest to the origin of
pickShape . |
SceneGraphPath |
pickClosest(PickShape pickShape)
Returns a SceneGraphPath that references the pickable item
closest to the origin of
pickShape . |
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public static final int ALLOW_DETACH
public BranchGroup()
public void compile()
SceneGraphCycleException
- if there is a cycle in the
scene graphRestrictedAccessException
- if the method is called
when this object is part of a live scene graph.public void detach()
public SceneGraphPath[] pickAll(PickShape pickShape)
BranchGroup
that intersect with PickShape.
The resultant array is unordered.pickShape
- the PickShape objectIllegalStateException
- if BranchGroup is not live.SceneGraphPath
,
Locale.pickAll(org.scijava.java3d.PickShape)
,
PickShape
public PickInfo[] pickAll(int mode, int flags, PickShape pickShape)
BranchGroup
that intersect with PickShape.
The accuracy of the pick is set by the pick mode. The mode include :
PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned
is specified via a masked variable, flags, indicating which components are
present in each returned PickInfo object.mode
- picking mode, one of PickInfo.PICK_BOUNDS
or PickInfo.PICK_GEOMETRY
.flags
- a mask indicating which components are present in each PickInfo object.
This is specified as one or more individual bits that are bitwise "OR"ed together to
describe the PickInfo data. The flags include :
PickInfo.SCENEGRAPHPATH
- request for computed SceneGraphPath.PickInfo.NODE
- request for computed intersected Node.PickInfo.LOCAL_TO_VWORLD
- request for computed local to virtual world transform.PickInfo.CLOSEST_INTERSECTION_POINT
- request for closest intersection point.PickInfo.CLOSEST_DISTANCE
- request for the distance of closest intersection.PickInfo.CLOSEST_GEOM_INFO
- request for only the closest intersection geometry information.PickInfo.ALL_GEOM_INFO
- request for all intersection geometry information.pickShape
- the description of this picking volume or area.IllegalArgumentException
- if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.IllegalArgumentException
- if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.IllegalArgumentException
- if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalStateException
- if BranchGroup is not live.CapabilityNotSetException
- if the mode is
PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit
is not set in any Geometry objects referred to by any shape
node whose bounds intersects the PickShape.CapabilityNotSetException
- if flags contains any of
CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO
or ALL_GEOM_INFO, and the capability bits that control reading of
coordinate data are not set in any GeometryArray object referred
to by any shape node that intersects the PickShape.
The capability bits that must be set to avoid this exception are as follows :
Locale.pickAll(int,int,org.scijava.java3d.PickShape)
,
PickInfo
public SceneGraphPath[] pickAllSorted(PickShape pickShape)
pickShape
- the PickShape objectIllegalStateException
- if BranchGroup is not live.SceneGraphPath
,
Locale.pickAllSorted(org.scijava.java3d.PickShape)
,
PickShape
public PickInfo[] pickAllSorted(int mode, int flags, PickShape pickShape)
mode
- picking mode, one of PickInfo.PICK_BOUNDS
or PickInfo.PICK_GEOMETRY
.flags
- a mask indicating which components are present in each PickInfo object.
This is specified as one or more individual bits that are bitwise "OR"ed together to
describe the PickInfo data. The flags include :
PickInfo.SCENEGRAPHPATH
- request for computed SceneGraphPath.PickInfo.NODE
- request for computed intersected Node.PickInfo.LOCAL_TO_VWORLD
- request for computed local to virtual world transform.PickInfo.CLOSEST_INTERSECTION_POINT
- request for closest intersection point.PickInfo.CLOSEST_DISTANCE
- request for the distance of closest intersection.PickInfo.CLOSEST_GEOM_INFO
- request for only the closest intersection geometry information.PickInfo.ALL_GEOM_INFO
- request for all intersection geometry information.pickShape
- the description of this picking volume or area.IllegalArgumentException
- if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.IllegalArgumentException
- if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.IllegalArgumentException
- if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalStateException
- if BranchGroup is not live.CapabilityNotSetException
- if the mode is
PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit
is not set in any Geometry objects referred to by any shape
node whose bounds intersects the PickShape.CapabilityNotSetException
- if flags contains any of
CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO
or ALL_GEOM_INFO, and the capability bits that control reading of
coordinate data are not set in any GeometryArray object referred
to by any shape node that intersects the PickShape.
The capability bits that must be set to avoid this exception are as follows :
Locale.pickAllSorted(int,int,org.scijava.java3d.PickShape)
,
PickInfo
public SceneGraphPath pickClosest(PickShape pickShape)
pickShape
.
Note: If pickShape is of type PickBounds, the return is any pickable node
below this BranchGroup.pickShape
- the PickShape objectIllegalStateException
- if BranchGroup is not live.SceneGraphPath
,
Locale.pickClosest(org.scijava.java3d.PickShape)
,
PickShape
public PickInfo pickClosest(int mode, int flags, PickShape pickShape)
pickShape
.
The accuracy of the pick is set by the pick mode. The mode include :
PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned
is specified via a masked variable, flags, indicating which components are
present in each returned PickInfo object.mode
- picking mode, one of PickInfo.PICK_BOUNDS
or PickInfo.PICK_GEOMETRY
.flags
- a mask indicating which components are present in each PickInfo object.
This is specified as one or more individual bits that are bitwise "OR"ed together to
describe the PickInfo data. The flags include :
PickInfo.SCENEGRAPHPATH
- request for computed SceneGraphPath.PickInfo.NODE
- request for computed intersected Node.PickInfo.LOCAL_TO_VWORLD
- request for computed local to virtual world transform.PickInfo.CLOSEST_INTERSECTION_POINT
- request for closest intersection point.PickInfo.CLOSEST_DISTANCE
- request for the distance of closest intersection.PickInfo.CLOSEST_GEOM_INFO
- request for only the closest intersection geometry information.PickInfo.ALL_GEOM_INFO
- request for all intersection geometry information.pickShape
- the description of this picking volume or area.IllegalArgumentException
- if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.IllegalArgumentException
- if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.IllegalArgumentException
- if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalStateException
- if BranchGroup is not live.CapabilityNotSetException
- if the mode is
PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit
is not set in any Geometry objects referred to by any shape
node whose bounds intersects the PickShape.CapabilityNotSetException
- if flags contains any of
CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO
or ALL_GEOM_INFO, and the capability bits that control reading of
coordinate data are not set in any GeometryArray object referred
to by any shape node that intersects the PickShape.
The capability bits that must be set to avoid this exception are as follows :
Locale.pickClosest(int,int,org.scijava.java3d.PickShape)
,
PickInfo
public SceneGraphPath pickAny(PickShape pickShape)
pickShape
.pickShape
- the PickShape objectIllegalStateException
- if BranchGroup is not live.SceneGraphPath
,
Locale.pickAny(org.scijava.java3d.PickShape)
,
PickShape
public PickInfo pickAny(int mode, int flags, PickShape pickShape)
pickShape
.
The accuracy of the pick is set by the pick mode. The mode include :
PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned
is specified via a masked variable, flags, indicating which components are
present in each returned PickInfo object.mode
- picking mode, one of PickInfo.PICK_BOUNDS
or PickInfo.PICK_GEOMETRY
.flags
- a mask indicating which components are present in each PickInfo object.
This is specified as one or more individual bits that are bitwise "OR"ed together to
describe the PickInfo data. The flags include :
PickInfo.SCENEGRAPHPATH
- request for computed SceneGraphPath.PickInfo.NODE
- request for computed intersected Node.PickInfo.LOCAL_TO_VWORLD
- request for computed local to virtual world transform.PickInfo.CLOSEST_INTERSECTION_POINT
- request for closest intersection point.PickInfo.CLOSEST_DISTANCE
- request for the distance of closest intersection.PickInfo.CLOSEST_GEOM_INFO
- request for only the closest intersection geometry information.PickInfo.ALL_GEOM_INFO
- request for all intersection geometry information.pickShape
- the description of this picking volume or area.IllegalArgumentException
- if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.IllegalArgumentException
- if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.IllegalArgumentException
- if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalArgumentException
- if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.IllegalStateException
- if BranchGroup is not live.CapabilityNotSetException
- if the mode is
PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit
is not set in any Geometry objects referred to by any shape
node whose bounds intersects the PickShape.CapabilityNotSetException
- if flags contains any of
CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO
or ALL_GEOM_INFO, and the capability bits that control reading of
coordinate data are not set in any GeometryArray object referred
to by any shape node that intersects the PickShape.
The capability bits that must be set to avoid this exception are as follows :
Locale.pickAny(int,int,org.scijava.java3d.PickShape)
,
PickInfo
public Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current node.cloneNode
in class Group
forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.Node.cloneTree()
,
Node.cloneNode(boolean)
,
Node.duplicateNode(org.scijava.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
Copyright © 2016–2022 SciJava. All rights reserved.