| java.lang.Object javax.media.j3d.SceneGraphPath
SceneGraphPath | public class SceneGraphPath (Code) | | A SceneGraphPath object represents the path from a Locale to a
terminal node in the scene graph. This path consists of a Locale, a
terminal node, and an array of internal nodes that are in the path
from the Locale to the terminal node. The terminal node may be
either a Leaf node or a Group node. A valid SceneGraphPath must
uniquely identify a specific instance of the terminal node. For
nodes that are not under a SharedGroup, the minimal SceneGraphPath
consists of the Locale and the terminal node itself. For nodes that
are under a SharedGroup, the minimal SceneGraphPath consists of the
Locale, the terminal node, and a list of all Link nodes in the path
from the Locale to the terminal node. A SceneGraphPath may optionally
contain other interior nodes that are in the path.
A SceneGraphPath is verified for correctness and uniqueness when
it is sent as an argument to other methods of Java 3D.
In the array of internal nodes, the node at index 0 is the node
closest to the Locale. The indices increase along the path to the
terminal node, with the node at index length-1 being the node closest
to the terminal node. The array of nodes does not contain either the
Locale (which is not a node) or the terminal node.
When a SceneGraphPath is returned from the picking or collision
methods of Java 3D, it will also contain the value of the
LocalToVworld transform of the terminal node that was in effect at
the time the pick or collision occurred.
Note that ENABLE_PICK_REPORTING and ENABLE_COLLISION_REPORTING are
disabled by default. This means that the picking and collision
methods will return the minimal SceneGraphPath by default.
See Also: Node.ENABLE_PICK_REPORTING See Also: Node.ENABLE_COLLISION_REPORTING See Also: BranchGroup.pickAll See Also: BranchGroup.pickAllSorted See Also: BranchGroup.pickClosest See Also: BranchGroup.pickAny |
Method Summary | |
public boolean | equals(SceneGraphPath testPath) Returns true if all of the data members of path testPath are
equal to the corresponding data members in this SceneGraphPath and
if the values of the transforms is equal.
Parameters: testPath - the path we will compare this object's path against. | public boolean | equals(Object o1) Returns true if the Object o1 is of type SceneGraphPath and all of the
data members of o1 are equal to the corresponding data members in
this SceneGraphPath and if the values of the transforms is equal.
Parameters: o1 - the object we will compare this SceneGraphPath's path against. | double | getDistance() | double | getDistanceFrom(Point3d origin) Returns the distance from the intersectPoint for item and
origin. | void | getHashKey(HashKey key) | final Point3d | getIntersectPoint() | final public Locale | getLocale() | final public Node | getNode(int index) Retrieves the node at the specified index. | final public Node | getObject() Retrieves the path's terminal node object. | final public Transform3D | getTransform() Returns a copy of the transform associated with this SceneGraphPath;
returns null if there is no transform associated. | public int | hashCode() Returns a hash number based on the data values in this
object. | final public boolean | isSamePath(SceneGraphPath testPath) Determines whether two SceneGraphPath objects represent the same
path in the scene graph; either object might include a different
subset of internal nodes; only the internal link nodes, the Locale,
and the Node itself are compared. | final public int | nodeCount() Retrieves the number of nodes in this path. | final public void | set(SceneGraphPath newPath) Sets this path's values to that of the specified path. | final void | setIntersectPoint(Point3d point) | final void | setIntersectPointDis(Point4d pickLocation) | final public void | setLocale(Locale newLocale) Sets this path's Locale to the specified Locale. | final public void | setNode(int index, Node newNode) Replaces the node at the specified index with newNode. | final public void | setNodes(Node nodes) Sets this path's node objects to the specified node objects. | final public void | setObject(Node object) Sets this path's terminal node to the specified node object. | final public void | setTransform(Transform3D trans) Sets the transform component of this SceneGraphPath to the value of
the passed transform.
Parameters: trans - the transform to be copied. | public String | toString() Returns a string representation of this object;
the string contains the class names of all Nodes in the SceneGraphPath,
the toString() method of any associated user data provided by
SceneGraphObject.getUserData(), and also prints out the transform,
if it is not null. | boolean | validate() Determine if this SceneGraphPath is unique and valid
The graph don't have to be live for this checking.
Set Locale when it is null. | boolean | validate(HashKey key) Determines whether this SceneGraphPath is unique and valid. |
intersectPoint | Point3d intersectPoint(Code) | | |
pickDistance | double pickDistance(Code) | | |
SceneGraphPath | public SceneGraphPath()(Code) | | Constructs a SceneGraphPath object with default parameters.
The default values are as follows:
root : null
object : null
list of (interior) nodes : null
transform : identity
|
SceneGraphPath | public SceneGraphPath(Locale root, Node object)(Code) | | Constructs a new SceneGraphPath object.
Parameters: root - the Locale object of this path Parameters: object - the terminal node of this path |
SceneGraphPath | public SceneGraphPath(Locale root, Node nodes, Node object)(Code) | | Constructs a new SceneGraphPath object.
Parameters: root - the Locale object of this path Parameters: nodes - an array of node objects in the path fromthe Locale to the terminal node Parameters: object - the terminal node of this path |
SceneGraphPath | SceneGraphPath(SceneGraphPath sgp)(Code) | | Constructs a new SceneGraphPath object
Parameters: sgp - the SceneGraphPath to copy from |
equals | public boolean equals(SceneGraphPath testPath)(Code) | | Returns true if all of the data members of path testPath are
equal to the corresponding data members in this SceneGraphPath and
if the values of the transforms is equal.
Parameters: testPath - the path we will compare this object's path against. true or false |
equals | public boolean equals(Object o1)(Code) | | Returns true if the Object o1 is of type SceneGraphPath and all of the
data members of o1 are equal to the corresponding data members in
this SceneGraphPath and if the values of the transforms is equal.
Parameters: o1 - the object we will compare this SceneGraphPath's path against. true or false |
getDistance | double getDistance()(Code) | | Returns the distance of the pick
|
getDistanceFrom | double getDistanceFrom(Point3d origin)(Code) | | Returns the distance from the intersectPoint for item and
origin.
|
getIntersectPoint | final Point3d getIntersectPoint()(Code) | | |
getLocale | final public Locale getLocale()(Code) | | Retrieves the path's Locale
this path's Locale |
getNode | final public Node getNode(int index)(Code) | | Retrieves the node at the specified index.
Parameters: index - the index specifying which node to retrieve the specified node |
getObject | final public Node getObject()(Code) | | Retrieves the path's terminal node object.
the terminal node |
getTransform | final public Transform3D getTransform()(Code) | | Returns a copy of the transform associated with this SceneGraphPath;
returns null if there is no transform associated.
If this SceneGraphPath was returned by a Java 3D picking or
collision method, the local coordinate to virtual world
coordinate transform for this scene graph object at the
time of the pick or collision is recorded.
the local to VWorld transform |
hashCode | public int hashCode()(Code) | | Returns a hash number based on the data values in this
object. Two different SceneGraphPath objects with identical data
values (ie, returns true for trans.equals(SceneGraphPath) ) will
return the same hash number. Two Paths with different data members
may return the same hash value, although this is not likely.
the integer hash value |
isSamePath | final public boolean isSamePath(SceneGraphPath testPath)(Code) | | Determines whether two SceneGraphPath objects represent the same
path in the scene graph; either object might include a different
subset of internal nodes; only the internal link nodes, the Locale,
and the Node itself are compared. The paths are not validated for
correctness or uniqueness.
Parameters: testPath - the SceneGraphPath to be compared to this SceneGraphPath true or false |
nodeCount | final public int nodeCount()(Code) | | Retrieves the number of nodes in this path. The number of nodes
does not include the Locale or the terminal node object itself.
a count of the number of nodes in this path |
set | final public void set(SceneGraphPath newPath)(Code) | | Sets this path's values to that of the specified path.
Parameters: newPath - the SceneGraphPath to copy |
setIntersectPoint | final void setIntersectPoint(Point3d point)(Code) | | |
setIntersectPointDis | final void setIntersectPointDis(Point4d pickLocation)(Code) | | |
setLocale | final public void setLocale(Locale newLocale)(Code) | | Sets this path's Locale to the specified Locale.
Parameters: newLocale - The new Locale |
setNode | final public void setNode(int index, Node newNode)(Code) | | Replaces the node at the specified index with newNode.
Parameters: index - the index of the node to replace Parameters: newNode - the new node exception: NullPointerException - if the node array pointer is null. |
setNodes | final public void setNodes(Node nodes)(Code) | | Sets this path's node objects to the specified node objects.
Parameters: nodes - an array of node objects in the path fromthe Locale to the terminal node |
setObject | final public void setObject(Node object)(Code) | | Sets this path's terminal node to the specified node object.
Parameters: object - the new terminal node |
setTransform | final public void setTransform(Transform3D trans)(Code) | | Sets the transform component of this SceneGraphPath to the value of
the passed transform.
Parameters: trans - the transform to be copied. trans should be the localToVworld matrix of this SceneGraphPath object. |
toString | public String toString()(Code) | | Returns a string representation of this object;
the string contains the class names of all Nodes in the SceneGraphPath,
the toString() method of any associated user data provided by
SceneGraphObject.getUserData(), and also prints out the transform,
if it is not null.
String representation of this object |
validate | boolean validate()(Code) | | Determine if this SceneGraphPath is unique and valid
The graph don't have to be live for this checking.
Set Locale when it is null.
Only the essential link node which led to the Locale
is validated.
|
validate | boolean validate(HashKey key)(Code) | | Determines whether this SceneGraphPath is unique and valid. The
verification determines that all of the nodes are live, that the
specified path is unique, that the correct Locale is specified, and
that there is a Node specified.
|
|
|