|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectcom.jme3.scene.Spatial
com.jme3.scene.Node
public class Node
Node
defines an internal node of a scene graph. The internal
node maintains a collection of children and handles merging said children
into a single bound to allow for very fast culling of multiple nodes. Node
allows for any number of children to be attached.
入れ子のクラスの概要 |
---|
クラス com.jme3.scene.Spatial から継承された入れ子のクラス/インタフェース |
---|
Spatial.CullHint |
フィールドの概要 |
---|
クラス com.jme3.scene.Spatial から継承されたフィールド |
---|
queueDistance |
コンストラクタの概要 | |
---|---|
Node()
Serialization only. |
|
Node(java.lang.String name)
Constructor instantiates a new Node with a default empty
list for containing children. |
メソッドの概要 | ||
---|---|---|
int |
attachChild(Spatial child)
attachChild attaches a child to this node. |
|
int |
attachChildAt(Spatial child,
int index)
attachChildAt attaches a child to this node at an index. |
|
Node |
clone(boolean cloneMaterials)
|
|
int |
collideWith(Collidable other,
CollisionResults results)
Check collision with another Collidable. |
|
Spatial |
deepClone()
|
|
void |
depthFirstTraversal(SceneGraphVisitor visitor)
Visit each scene graph element ordered by DFS |
|
|
descendantMatches(java.lang.Class<T> spatialSubclass)
Convenience wrapper. |
|
|
descendantMatches(java.lang.Class<T> spatialSubclass,
java.lang.String nameRegex)
Returns flat list of Spatials implementing the specified class AND with name matching the specified pattern. |
|
|
descendantMatches(java.lang.String nameRegex)
Convenience wrapper. |
|
void |
detachAllChildren()
detachAllChildren removes all children attached to this
node. |
|
int |
detachChild(Spatial child)
detachChild removes a given child from the node's list. |
|
Spatial |
detachChildAt(int index)
detachChildAt removes a child at a given index. |
|
int |
detachChildNamed(java.lang.String childName)
detachChild removes a given child from the node's list. |
|
Spatial |
getChild(int i)
getChild returns a child at a given index. |
|
Spatial |
getChild(java.lang.String name)
getChild returns the first child found with exactly the
given name (case sensitive.) |
|
int |
getChildIndex(Spatial sp)
getChildIndex returns the index of the given spatial
in this node's list of children. |
|
java.util.List<Spatial> |
getChildren()
Returns all children to this node. |
|
int |
getQuantity()
getQuantity returns the number of children this node
maintains. |
|
int |
getTriangleCount()
getTriangleCount returns the number of triangles contained
in all sub-branches of this node that contain geometry. |
|
int |
getVertexCount()
getVertexCount returns the number of vertices contained
in all sub-branches of this node that contain geometry. |
|
boolean |
hasChild(Spatial spat)
determines if the provided Spatial is contained in the children list of this node. |
|
void |
read(JmeImporter e)
|
|
void |
setLodLevel(int lod)
Sets the level of detail to use when rendering this Spatial, this call propagates to all geometries under this Spatial. |
|
void |
setMaterial(Material mat)
Applies the given material to the Spatial, this will propagate the material down to the geometries in the scene graph. |
|
void |
setModelBound(BoundingVolume modelBound)
setModelBound sets the bounding object for this Spatial. |
|
void |
swapChildren(int index1,
int index2)
More efficient than e.g detaching and attaching as no updates are needed. |
|
void |
updateGeometricState()
updateGeometricState updates the lightlist,
computes the world transforms, and computes the world bounds
for this Spatial. |
|
void |
updateLogicalState(float tpf)
updateLogicalState calls the update() method
for all controls attached to this Spatial. |
|
void |
updateModelBound()
updateModelBound recalculates the bounding object for this
Spatial. |
|
void |
write(JmeExporter e)
|
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public Node()
public Node(java.lang.String name)
Node
with a default empty
list for containing children.
name
- the name of the scene element. This is required for
identification and comparision purposes.メソッドの詳細 |
---|
public int getQuantity()
getQuantity
returns the number of children this node
maintains.
public void updateLogicalState(float tpf)
Spatial
の記述:updateLogicalState
calls the update()
method
for all controls attached to this Spatial.
Spatial
内の updateLogicalState
tpf
- Time per frame.Spatial.addControl(com.jme3.scene.control.Control)
public void updateGeometricState()
Spatial
の記述:updateGeometricState
updates the lightlist,
computes the world transforms, and computes the world bounds
for this Spatial.
Calling this when the Spatial is attached to a node
will cause undefined results. User code should only call this
method on Spatials having no parent.
Spatial
内の updateGeometricState
Spatial.getWorldLightList()
,
Spatial.getWorldTransform()
,
Spatial.getWorldBound()
public int getTriangleCount()
getTriangleCount
returns the number of triangles contained
in all sub-branches of this node that contain geometry.
Spatial
内の getTriangleCount
public int getVertexCount()
getVertexCount
returns the number of vertices contained
in all sub-branches of this node that contain geometry.
Spatial
内の getVertexCount
public int attachChild(Spatial child)
attachChild
attaches a child to this node. This node
becomes the child's parent. The current number of children maintained is
returned.
child
- the child to attach to this node.
java.lang.NullPointerException
- If child is null.public int attachChildAt(Spatial child, int index)
attachChildAt
attaches a child to this node at an index. This node
becomes the child's parent. The current number of children maintained is
returned.
child
- the child to attach to this node.
java.lang.NullPointerException
- if child is null.public int detachChild(Spatial child)
detachChild
removes a given child from the node's list.
This child will no longer be maintained.
child
- the child to remove.
public int detachChildNamed(java.lang.String childName)
detachChild
removes a given child from the node's list.
This child will no longe be maintained. Only the first child with a
matching name is removed.
childName
- the child to remove.
public Spatial detachChildAt(int index)
detachChildAt
removes a child at a given index. That child
is returned for saving purposes.
index
- the index of the child to be removed.
public void detachAllChildren()
detachAllChildren
removes all children attached to this
node.
public int getChildIndex(Spatial sp)
getChildIndex
returns the index of the given spatial
in this node's list of children.
sp
- The spatial to look up
public void swapChildren(int index1, int index2)
index1
- The index of the first child to swapindex2
- The index of the second child to swappublic Spatial getChild(int i)
getChild
returns a child at a given index.
i
- the index to retrieve the child from.
public Spatial getChild(java.lang.String name)
getChild
returns the first child found with exactly the
given name (case sensitive.)
name
- the name of the child to retrieve. If null, we'll return null.
public boolean hasChild(Spatial spat)
spat
- the child object to look for.
public java.util.List<Spatial> getChildren()
public void setMaterial(Material mat)
Spatial
の記述:
Spatial
内の setMaterial
mat
- The material to set.public void setLodLevel(int lod)
Spatial
の記述:
Spatial
内の setLodLevel
lod
- The lod level to set.public int collideWith(Collidable other, CollisionResults results)
Collidable
の記述:
Collidable
内の collideWith
other
- The object to check collision againstresults
- Will contain the list of CollisionResult
s.
public <T extends Spatial> java.util.List<T> descendantMatches(java.lang.Class<T> spatialSubclass, java.lang.String nameRegex)
Note that we are matching the pattern, therefore the pattern must match the entire pattern (i.e. it behaves as if it is sandwiched between "^" and "$"). You can set regex modes, like case insensitivity, by using the (?X) or (?X:Y) constructs.
By design, it is always safe to code loops like:
for (Spatial spatial : node.descendantMatches(AClass.class, "regex"))
"Descendants" does not include self, per the definition of the word.
To test for descendants AND self, you must do a
node.matches(aClass, aRegex)
+
node.descendantMatches(aClass, aRegex)
.
spatialSubclass
- Subclass which matching Spatials must implement.
Null causes all Spatials to qualify.nameRegex
- Regular expression to match Spatial name against.
Null causes all Names to qualify.
Pattern
,
Spatial.matches(java.lang.Class, java.lang.String)
public <T extends Spatial> java.util.List<T> descendantMatches(java.lang.Class<T> spatialSubclass)
descendantMatches(java.lang.Class, java.lang.String)
public <T extends Spatial> java.util.List<T> descendantMatches(java.lang.String nameRegex)
descendantMatches(java.lang.Class, java.lang.String)
public Node clone(boolean cloneMaterials)
Spatial
内の clone
Mesh.cloneForAnim()
public Spatial deepClone()
Spatial
内の deepClone
Spatial.clone()
public void write(JmeExporter e) throws java.io.IOException
Savable
内の write
Spatial
内の write
java.io.IOException
public void read(JmeImporter e) throws java.io.IOException
Savable
内の read
Spatial
内の read
java.io.IOException
public void setModelBound(BoundingVolume modelBound)
Spatial
の記述:setModelBound
sets the bounding object for this Spatial.
Spatial
内の setModelBound
modelBound
- the bounding object for this spatial.public void updateModelBound()
Spatial
の記述:updateModelBound
recalculates the bounding object for this
Spatial.
Spatial
内の updateModelBound
public void depthFirstTraversal(SceneGraphVisitor visitor)
Spatial
の記述:
Spatial
内の depthFirstTraversal
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |