|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.SceneGraphPath
public class SceneGraphPath
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.
Node.ENABLE_PICK_REPORTING
,
Node.ENABLE_COLLISION_REPORTING
,
BranchGroup.pickAll(javax.media.j3d.PickShape)
,
BranchGroup.pickAllSorted(javax.media.j3d.PickShape)
,
BranchGroup.pickClosest(javax.media.j3d.PickShape)
,
BranchGroup.pickAny(javax.media.j3d.PickShape)
Field Summary | |
---|---|
(package private) Node[] |
interior
|
(package private) Point3d |
intersectPoint
|
(package private) Node |
item
|
(package private) double |
pickDistance
|
(package private) Locale |
root
|
(package private) Transform3D |
transform
|
Constructor Summary | |
---|---|
SceneGraphPath()
Constructs a SceneGraphPath object with default parameters. |
|
SceneGraphPath(Locale root,
Node object)
Constructs a new SceneGraphPath object. |
|
SceneGraphPath(Locale root,
Node[] nodes,
Node object)
Constructs a new SceneGraphPath object. |
|
SceneGraphPath(SceneGraphPath sgp)
Constructs a new SceneGraphPath object |
Method Summary | |
---|---|
boolean |
equals(java.lang.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. |
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. |
(package private) double |
getDistance()
Returns the distance of the pick |
(package private) double |
getDistanceFrom(Point3d origin)
Returns the distance from the intersectPoint for item and origin. |
(package private) void |
getHashKey(HashKey key)
|
(package private) Point3d |
getIntersectPoint()
|
Locale |
getLocale()
Retrieves the path's Locale |
Node |
getNode(int index)
Retrieves the node at the specified index. |
Node |
getObject()
Retrieves the path's terminal node object. |
Transform3D |
getTransform()
Returns a copy of the transform associated with this SceneGraphPath; returns null if there is no transform associated. |
int |
hashCode()
Returns a hash number based on the data values in this object. |
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. |
int |
nodeCount()
Retrieves the number of nodes in this path. |
void |
set(SceneGraphPath newPath)
Sets this path's values to that of the specified path. |
(package private) void |
setIntersectPoint(Point3d point)
|
(package private) void |
setIntersectPointDis(Point4d pickLocation)
|
void |
setLocale(Locale newLocale)
Sets this path's Locale to the specified Locale. |
void |
setNode(int index,
Node newNode)
Replaces the node at the specified index with newNode. |
void |
setNodes(Node[] nodes)
Sets this path's node objects to the specified node objects. |
void |
setObject(Node object)
Sets this path's terminal node to the specified node object. |
void |
setTransform(Transform3D trans)
Sets the transform component of this SceneGraphPath to the value of the passed transform. |
java.lang.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. |
(package private) boolean |
validate()
Determine if this SceneGraphPath is unique and valid The graph don't have to be live for this checking. |
(package private) boolean |
validate(HashKey key)
Determines whether this SceneGraphPath is unique and valid. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
Locale root
Node[] interior
Node item
Transform3D transform
Point3d intersectPoint
double pickDistance
Constructor Detail |
---|
public SceneGraphPath()
public SceneGraphPath(Locale root, Node object)
root
- the Locale object of this pathobject
- the terminal node of this pathpublic SceneGraphPath(Locale root, Node[] nodes, Node object)
root
- the Locale object of this pathnodes
- an array of node objects in the path from
the Locale to the terminal nodeobject
- the terminal node of this pathSceneGraphPath(SceneGraphPath sgp)
sgp
- the SceneGraphPath to copy fromMethod Detail |
---|
public final void set(SceneGraphPath newPath)
newPath
- the SceneGraphPath to copypublic final void setLocale(Locale newLocale)
newLocale
- The new Localepublic final void setObject(Node object)
object
- the new terminal nodepublic final void setNodes(Node[] nodes)
nodes
- an array of node objects in the path from
the Locale to the terminal nodepublic final void setNode(int index, Node newNode)
index
- the index of the node to replacenewNode
- the new node
java.lang.NullPointerException
- if the node array pointer is null.public final void setTransform(Transform3D trans)
trans
- the transform to be copied. trans should be the
localToVworld matrix of this SceneGraphPath object.public final Transform3D getTransform()
public final Locale getLocale()
public final Node getObject()
public final int nodeCount()
public final Node getNode(int index)
index
- the index specifying which node to retrieve
public boolean equals(SceneGraphPath testPath)
testPath
- the path we will compare this object's path against.
public boolean equals(java.lang.Object o1)
equals
in class java.lang.Object
o1
- the object we will compare this SceneGraphPath's path against.
public int hashCode()
hashCode
in class java.lang.Object
public final boolean isSamePath(SceneGraphPath testPath)
testPath
- the SceneGraphPath to be compared to this SceneGraphPath
public java.lang.String toString()
toString
in class java.lang.Object
boolean validate()
void getHashKey(HashKey key)
boolean validate(HashKey key)
double getDistanceFrom(Point3d origin)
double getDistance()
final void setIntersectPoint(Point3d point)
final void setIntersectPointDis(Point4d pickLocation)
final Point3d getIntersectPoint()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |