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, 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 objectjava.lang.IllegalStateException
 if BranchGroup is not live.SceneGraphPath
,
Locale.pickAll(org.jogamp.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.java.lang.IllegalArgumentException
 if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.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.jogamp.java3d.PickShape)
,
PickInfo
public SceneGraphPath[] pickAllSorted(PickShape pickShape)
pickShape
 the PickShape objectjava.lang.IllegalStateException
 if BranchGroup is not live.SceneGraphPath
,
Locale.pickAllSorted(org.jogamp.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.java.lang.IllegalArgumentException
 if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.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.jogamp.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 objectjava.lang.IllegalStateException
 if BranchGroup is not live.SceneGraphPath
,
Locale.pickClosest(org.jogamp.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.java.lang.IllegalArgumentException
 if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.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.jogamp.java3d.PickShape)
,
PickInfo
public SceneGraphPath pickAny(PickShape pickShape)
pickShape
.pickShape
 the PickShape objectjava.lang.IllegalStateException
 if BranchGroup is not live.SceneGraphPath
,
Locale.pickAny(org.jogamp.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.java.lang.IllegalArgumentException
 if flags contains both CLOSEST_GEOM_INFO and
ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is a PickPoint and pick mode
is set to PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is neither PICK_BOUNDS
nor PICK_GEOMETRY.java.lang.IllegalArgumentException
 if pick mode is PICK_BOUNDS
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.IllegalArgumentException
 if pickShape is PickBounds
and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,
CLOSEST_GEOM_INFO or ALL_GEOM_INFO.java.lang.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.jogamp.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.jogamp.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)