com.jme3.scene
クラス Spatial

java.lang.Object
  上位を拡張 com.jme3.scene.Spatial
すべての実装されたインタフェース:
Asset, Collidable, Savable, java.lang.Cloneable
直系の既知のサブクラス:
Geometry, Node

public abstract class Spatial
extends java.lang.Object
implements Savable, java.lang.Cloneable, Collidable, Asset

Spatial defines the base class for scene graph nodes. It maintains a link to a parent, it's local transforms and the world's transforms. All other scene graph elements, such as Node and Geometry are subclasses of Spatial.


入れ子のクラスの概要
static class Spatial.CullHint
          Specifies how frustum culling should be handled by this spatial.
 
フィールドの概要
 float queueDistance
           
 
コンストラクタの概要
Spatial()
          Serialization only.
Spatial(java.lang.String name)
          Constructor instantiates a new Spatial object setting the rotation, translation and scale value to defaults.
 
メソッドの概要
 void addControl(Control control)
          Add a control to the list of controls.
 void addLight(Light light)
          addLight adds the given light to the Spatial; causing all child Spatials to be effected by it.
 void breadthFirstTraversal(SceneGraphVisitor visitor)
          Visit each scene graph element ordered by BFS
 Spatial center()
          Centers the spatial in the origin of the world bound.
 boolean checkCulling(Camera cam)
          checkCulling checks the spatial with the camera to see if it should be culled.
 Spatial clone()
           
 Spatial clone(boolean cloneMaterial)
           
abstract  Spatial deepClone()
           
abstract  void depthFirstTraversal(SceneGraphVisitor visitor)
          Visit each scene graph element ordered by DFS
<T extends Control>
T
getControl(java.lang.Class<T> controlType)
          Returns the first control that is an instance of the given class, or null if no such control exists.
 Control getControl(int index)
          Returns the control at the given index in the list.
 Spatial.CullHint getCullHint()
           
 AssetKey getKey()
           
 Camera.FrustumIntersect getLastFrustumIntersection()
          Returns this spatial's last frustum intersection result.
 Spatial.CullHint getLocalCullHint()
           
 LightList getLocalLightList()
          Returns the local LightList, which are the lights that were directly attached to this Spatial through the addLight(com.jme3.light.Light) and removeLight(com.jme3.light.Light) methods.
 RenderQueue.Bucket getLocalQueueBucket()
           
 Quaternion getLocalRotation()
          getLocalRotation retrieves the local rotation of this node.
 Vector3f getLocalScale()
          getLocalScale retrieves the local scale of this node.
 RenderQueue.ShadowMode getLocalShadowMode()
           
 Matrix4f getLocalToWorldMatrix(Matrix4f store)
          Creates a transform matrix that will convert from this spatials' local coordinate space to the world coordinate space based on the world transform.
 Transform getLocalTransform()
          getLocalTransform retrieves the local transform of this spatial.
 Vector3f getLocalTranslation()
          getLocalTranslation retrieves the local translation of this node.
 java.lang.String getName()
          Returns the name of this spatial.
 int getNumControls()
           
 Node getParent()
          getParent retrieves this node's parent.
 RenderQueue.Bucket getQueueBucket()
          Returns this spatial's renderqueue bucket.
 RenderQueue.ShadowMode getShadowMode()
           
abstract  int getTriangleCount()
           
<T> T
getUserData(java.lang.String key)
           
 java.util.Collection<java.lang.String> getUserDataKeys()
           
abstract  int getVertexCount()
           
 BoundingVolume getWorldBound()
          getWorldBound retrieves the world bound at this node level.
 LightList getWorldLightList()
          Returns the world LightList, containing the lights combined from all this Spatial's parents up to and including this Spatial's lights.
 Quaternion getWorldRotation()
          getWorldRotation retrieves the absolute rotation of the Spatial.
 Vector3f getWorldScale()
          getWorldScale retrieves the absolute scale factor of the spatial.
 Transform getWorldTransform()
          getWorldTransform retrieves the world transformation of the spatial.
 Vector3f getWorldTranslation()
          getWorldTranslation retrieves the absolute translation of the spatial.
 boolean hasAncestor(Node ancestor)
          determines if the provided Node is the parent, or parent's parent, etc. of this Spatial.
 Vector3f localToWorld(Vector3f in, Vector3f store)
          Convert a vector (in) from this spatials' local coordinate space to world coordinate space.
 void lookAt(Vector3f position, Vector3f upVector)
          lookAt is a convenience method for auto-setting the local rotation based on a position and an up vector.
 boolean matches(java.lang.Class<? extends Spatial> 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 "$").
 Spatial move(float x, float y, float z)
          Translates the spatial by the given translation vector.
 Spatial move(Vector3f offset)
          Translates the spatial by the given translation vector.
 void read(JmeImporter im)
           
 void removeControl(java.lang.Class<? extends Control> controlType)
          Removes the first control that is an instance of the given class.
 boolean removeControl(Control control)
          Removes the given control from this spatial's controls.
 boolean removeFromParent()
          removeFromParent removes this Spatial from it's parent.
 void removeLight(Light light)
          removeLight removes the given light from the Spatial.
 Spatial rotate(float yaw, float roll, float pitch)
          Rotates the spatial by the yaw, roll and pitch angles (in radians), in the local coordinate space.
 Spatial rotate(Quaternion rot)
          Rotates the spatial by the given rotation.
 void rotateUpTo(Vector3f newUp)
          rotateUpTo is a utility function that alters the local rotation to point the Y axis in the direction given by newUp.
 void runControlRender(RenderManager rm, ViewPort vp)
          Called when the Spatial is about to be rendered, to notify controls attached to this Spatial using the Control.render() method.
 Spatial scale(float s)
          Scales the spatial by the given value
 Spatial scale(float x, float y, float z)
          Scales the spatial by the given scale vector.
 void setCullHint(Spatial.CullHint hint)
          setCullHint sets how scene culling should work on this spatial during drawing.
 void setKey(AssetKey key)
           
 void setLastFrustumIntersection(Camera.FrustumIntersect intersects)
          Overrides the last intersection result.
 void setLocalRotation(Matrix3f rotation)
          setLocalRotation sets the local rotation of this node by using a Matrix3f.
 void setLocalRotation(Quaternion quaternion)
          setLocalRotation sets the local rotation of this node.
 void setLocalScale(float localScale)
          setLocalScale sets the local scale of this node.
 void setLocalScale(float x, float y, float z)
          setLocalScale sets the local scale of this node.
 void setLocalScale(Vector3f localScale)
          setLocalScale sets the local scale of this node.
 void setLocalTransform(Transform t)
          setLocalTransform sets the local transform of this spatial.
 void setLocalTranslation(float x, float y, float z)
          setLocalTranslation sets the local translation of this spatial.
 void setLocalTranslation(Vector3f localTranslation)
          setLocalTranslation sets the local translation of this spatial.
 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 material)
          Applies the given material to the Spatial, this will propagate the material down to the geometries in the scene graph.
abstract  void setModelBound(BoundingVolume modelBound)
          setModelBound sets the bounding object for this Spatial.
 void setName(java.lang.String name)
          Sets the name of this spatial.
 void setQueueBucket(RenderQueue.Bucket queueBucket)
          setQueueBucket determines at what phase of the rendering process this Spatial will rendered.
 void setShadowMode(RenderQueue.ShadowMode shadowMode)
          Sets the shadow mode of the spatial The shadow mode determines how the spatial should be shadowed, when a shadowing technique is used.
 void setUserData(java.lang.String key, java.lang.Object data)
           
 java.lang.String toString()
          Returns the Spatial's name followed by the class of the spatial
Example: "MyNode (com.jme3.scene.Spatial)
 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.
abstract  void updateModelBound()
          updateModelBound recalculates the bounding object for this Spatial.
 Vector3f worldToLocal(Vector3f in, Vector3f store)
          Convert a vector (in) from world coordinate space to this spatials' local coordinate space.
 void write(JmeExporter ex)
           
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース com.jme3.collision.Collidable から継承されたメソッド
collideWith
 

フィールドの詳細

queueDistance

public transient float queueDistance
コンストラクタの詳細

Spatial

public Spatial()
Serialization only. Do not use.


Spatial

public Spatial(java.lang.String name)
Constructor instantiates a new Spatial object setting the rotation, translation and scale value to defaults.

パラメータ:
name - the name of the scene element. This is required for identification and comparison purposes.
メソッドの詳細

setKey

public void setKey(AssetKey key)
定義:
インタフェース Asset 内の setKey

getKey

public AssetKey getKey()
定義:
インタフェース Asset 内の getKey

checkCulling

public boolean checkCulling(Camera cam)
checkCulling checks the spatial with the camera to see if it should be culled.

This method is called by the renderer. Usually it should not be called directly.

パラメータ:
cam - The camera to check against.
戻り値:
true if inside or intersecting camera frustum (should be rendered), false if outside.

setName

public void setName(java.lang.String name)
Sets the name of this spatial.

パラメータ:
name - The spatial's new name.

getName

public java.lang.String getName()
Returns the name of this spatial.

戻り値:
This spatial's name.

getLocalLightList

public LightList getLocalLightList()
Returns the local LightList, which are the lights that were directly attached to this Spatial through the addLight(com.jme3.light.Light) and removeLight(com.jme3.light.Light) methods.

戻り値:
The local light list

getWorldLightList

public LightList getWorldLightList()
Returns the world LightList, containing the lights combined from all this Spatial's parents up to and including this Spatial's lights.

戻り値:
The combined world light list

getWorldRotation

public Quaternion getWorldRotation()
getWorldRotation retrieves the absolute rotation of the Spatial.

戻り値:
the Spatial's world rotation quaternion.

getWorldTranslation

public Vector3f getWorldTranslation()
getWorldTranslation retrieves the absolute translation of the spatial.

戻り値:
the Spatial's world tranlsation vector.

getWorldScale

public Vector3f getWorldScale()
getWorldScale retrieves the absolute scale factor of the spatial.

戻り値:
the Spatial's world scale factor.

getWorldTransform

public Transform getWorldTransform()
getWorldTransform retrieves the world transformation of the spatial.

戻り値:
the world transform.

rotateUpTo

public void rotateUpTo(Vector3f newUp)
rotateUpTo is a utility function that alters the local rotation to point the Y axis in the direction given by newUp.

パラメータ:
newUp - the up vector to use - assumed to be a unit vector.

lookAt

public void lookAt(Vector3f position,
                   Vector3f upVector)
lookAt is a convenience method for auto-setting the local rotation based on a position and an up vector. It computes the rotation to transform the z-axis to point onto 'position' and the y-axis to 'up'. Unlike Quaternion.lookAt(com.jme3.math.Vector3f, com.jme3.math.Vector3f) this method takes a world position to look at and not a relative direction.

パラメータ:
position - where to look at in terms of world coordinates
upVector - a vector indicating the (local) up direction. (typically {0, 1, 0} in jME.)

runControlRender

public void runControlRender(RenderManager rm,
                             ViewPort vp)
Called when the Spatial is about to be rendered, to notify controls attached to this Spatial using the Control.render() method.

パラメータ:
rm - The RenderManager rendering the Spatial.
vp - The ViewPort to which the Spatial is being rendered to.
関連項目:
addControl(com.jme3.scene.control.Control), getControl(java.lang.Class)

addControl

public void addControl(Control control)
Add a control to the list of controls.

パラメータ:
control - The control to add.
関連項目:
removeControl(java.lang.Class)

removeControl

public void removeControl(java.lang.Class<? extends Control> controlType)
Removes the first control that is an instance of the given class.

関連項目:
addControl(com.jme3.scene.control.Control)

removeControl

public boolean removeControl(Control control)
Removes the given control from this spatial's controls.

パラメータ:
control - The control to remove
戻り値:
True if the control was successfuly removed. False if the control is not assigned to this spatial.
関連項目:
addControl(com.jme3.scene.control.Control)

getControl

public <T extends Control> T getControl(java.lang.Class<T> controlType)
Returns the first control that is an instance of the given class, or null if no such control exists.

パラメータ:
controlType - The superclass of the control to look for.
戻り値:
The first instance in the list of the controlType class, or null.
関連項目:
addControl(com.jme3.scene.control.Control)

getControl

public Control getControl(int index)
Returns the control at the given index in the list.

パラメータ:
index - The index of the control in the list to find.
戻り値:
The control at the given index.
例外:
java.lang.IndexOutOfBoundsException - If the index is outside the range [0, getNumControls()-1]
関連項目:
addControl(com.jme3.scene.control.Control)

getNumControls

public int getNumControls()
戻り値:
The number of controls attached to this Spatial.
関連項目:
addControl(com.jme3.scene.control.Control), removeControl(java.lang.Class)

updateLogicalState

public void updateLogicalState(float tpf)
updateLogicalState calls the update() method for all controls attached to this Spatial.

パラメータ:
tpf - Time per frame.
関連項目:
addControl(com.jme3.scene.control.Control)

updateGeometricState

public void updateGeometricState()
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.

関連項目:
getWorldLightList(), getWorldTransform(), getWorldBound()

localToWorld

public Vector3f localToWorld(Vector3f in,
                             Vector3f store)
Convert a vector (in) from this spatials' local coordinate space to world coordinate space.

パラメータ:
in - vector to read from
store - where to write the result (null to create a new vector, may be same as in)
戻り値:
the result (store)

worldToLocal

public Vector3f worldToLocal(Vector3f in,
                             Vector3f store)
Convert a vector (in) from world coordinate space to this spatials' local coordinate space.

パラメータ:
in - vector to read from
store - where to write the result
戻り値:
the result (store)

getParent

public Node getParent()
getParent retrieves this node's parent. If the parent is null this is the root node.

戻り値:
the parent of this node.

removeFromParent

public boolean removeFromParent()
removeFromParent removes this Spatial from it's parent.

戻り値:
true if it has a parent and performed the remove.

hasAncestor

public boolean hasAncestor(Node ancestor)
determines if the provided Node is the parent, or parent's parent, etc. of this Spatial.

パラメータ:
ancestor - the ancestor object to look for.
戻り値:
true if the ancestor is found, false otherwise.

getLocalRotation

public Quaternion getLocalRotation()
getLocalRotation retrieves the local rotation of this node.

戻り値:
the local rotation of this node.

setLocalRotation

public void setLocalRotation(Matrix3f rotation)
setLocalRotation sets the local rotation of this node by using a Matrix3f.

パラメータ:
rotation - the new local rotation.

setLocalRotation

public void setLocalRotation(Quaternion quaternion)
setLocalRotation sets the local rotation of this node.

パラメータ:
quaternion - the new local rotation.

getLocalScale

public Vector3f getLocalScale()
getLocalScale retrieves the local scale of this node.

戻り値:
the local scale of this node.

setLocalScale

public void setLocalScale(float localScale)
setLocalScale sets the local scale of this node.

パラメータ:
localScale - the new local scale, applied to x, y and z

setLocalScale

public void setLocalScale(float x,
                          float y,
                          float z)
setLocalScale sets the local scale of this node.


setLocalScale

public void setLocalScale(Vector3f localScale)
setLocalScale sets the local scale of this node.

パラメータ:
localScale - the new local scale.

getLocalTranslation

public Vector3f getLocalTranslation()
getLocalTranslation retrieves the local translation of this node.

戻り値:
the local translation of this node.

setLocalTranslation

public void setLocalTranslation(Vector3f localTranslation)
setLocalTranslation sets the local translation of this spatial.

パラメータ:
localTranslation - the local translation of this spatial.

setLocalTranslation

public void setLocalTranslation(float x,
                                float y,
                                float z)
setLocalTranslation sets the local translation of this spatial.


setLocalTransform

public void setLocalTransform(Transform t)
setLocalTransform sets the local transform of this spatial.


getLocalTransform

public Transform getLocalTransform()
getLocalTransform retrieves the local transform of this spatial.

戻り値:
the local transform of this spatial.

setMaterial

public void setMaterial(Material material)
Applies the given material to the Spatial, this will propagate the material down to the geometries in the scene graph.

パラメータ:
material - The material to set.

addLight

public void addLight(Light light)
addLight adds the given light to the Spatial; causing all child Spatials to be effected by it.

パラメータ:
light - The light to add.

removeLight

public void removeLight(Light light)
removeLight removes the given light from the Spatial.

パラメータ:
light - The light to remove.
関連項目:
addLight(com.jme3.light.Light)

move

public Spatial move(float x,
                    float y,
                    float z)
Translates the spatial by the given translation vector.

戻り値:
The spatial on which this method is called, e.g this.

move

public Spatial move(Vector3f offset)
Translates the spatial by the given translation vector.

戻り値:
The spatial on which this method is called, e.g this.

scale

public Spatial scale(float s)
Scales the spatial by the given value

戻り値:
The spatial on which this method is called, e.g this.

scale

public Spatial scale(float x,
                     float y,
                     float z)
Scales the spatial by the given scale vector.

戻り値:
The spatial on which this method is called, e.g this.

rotate

public Spatial rotate(Quaternion rot)
Rotates the spatial by the given rotation.

戻り値:
The spatial on which this method is called, e.g this.

rotate

public Spatial rotate(float yaw,
                      float roll,
                      float pitch)
Rotates the spatial by the yaw, roll and pitch angles (in radians), in the local coordinate space.

戻り値:
The spatial on which this method is called, e.g this.

center

public Spatial center()
Centers the spatial in the origin of the world bound.

戻り値:
The spatial on which this method is called, e.g this.

getCullHint

public Spatial.CullHint getCullHint()
戻り値:
the cull mode of this spatial, or if set to CullHint.Inherit, the cullmode of it's parent.
関連項目:
setCullHint(CullHint)

getQueueBucket

public RenderQueue.Bucket getQueueBucket()
Returns this spatial's renderqueue bucket. If the mode is set to inherit, then the spatial gets its renderqueue bucket from its parent.

戻り値:
The spatial's current renderqueue mode.

getShadowMode

public RenderQueue.ShadowMode getShadowMode()
戻り値:
The shadow mode of this spatial, if the local shadow mode is set to inherit, then the parent's shadow mode is returned.
関連項目:
setShadowMode(com.jme3.renderer.queue.RenderQueue.ShadowMode), RenderQueue.ShadowMode

setLodLevel

public void setLodLevel(int lod)
Sets the level of detail to use when rendering this Spatial, this call propagates to all geometries under this Spatial.

パラメータ:
lod - The lod level to set.

updateModelBound

public abstract void updateModelBound()
updateModelBound recalculates the bounding object for this Spatial.


setModelBound

public abstract void setModelBound(BoundingVolume modelBound)
setModelBound sets the bounding object for this Spatial.

パラメータ:
modelBound - the bounding object for this spatial.

getVertexCount

public abstract int getVertexCount()
戻り値:
The sum of all verticies under this Spatial.

getTriangleCount

public abstract int getTriangleCount()
戻り値:
The sum of all triangles under this Spatial.

clone

public Spatial clone(boolean cloneMaterial)
戻り値:
A clone of this Spatial, the scene graph in its entirety is cloned and can be altered independently of the original scene graph. Note that meshes of geometries are not cloned explicitly, they are shared if static, or specially cloned if animated. All controls will be cloned using the Control.cloneForSpatial method on the clone.
関連項目:
Mesh.cloneForAnim()

clone

public Spatial clone()
オーバーライド:
クラス java.lang.Object 内の clone
戻り値:
A clone of this Spatial, the scene graph in its entirety is cloned and can be altered independently of the original scene graph. Note that meshes of geometries are not cloned explicitly, they are shared if static, or specially cloned if animated. All controls will be cloned using the Control.cloneForSpatial method on the clone.
関連項目:
Mesh.cloneForAnim()

deepClone

public abstract Spatial deepClone()
戻り値:
Similar to Spatial.clone() except will create a deep clone of all geometry's meshes, normally this method shouldn't be used instead use Spatial.clone()
関連項目:
clone()

setUserData

public void setUserData(java.lang.String key,
                        java.lang.Object data)

getUserData

public <T> T getUserData(java.lang.String key)

getUserDataKeys

public java.util.Collection<java.lang.String> getUserDataKeys()

matches

public boolean matches(java.lang.Class<? extends Spatial> 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.

パラメータ:
spatialSubclass - Subclass which this must implement. Null causes all Spatials to qualify.
nameRegex - Regular expression to match this name against. Null causes all Names to qualify.
戻り値:
true if this implements the specified class and this's name matches the specified pattern.
関連項目:
Pattern

write

public void write(JmeExporter ex)
           throws java.io.IOException
定義:
インタフェース Savable 内の write
例外:
java.io.IOException

read

public void read(JmeImporter im)
          throws java.io.IOException
定義:
インタフェース Savable 内の read
例外:
java.io.IOException

getWorldBound

public BoundingVolume getWorldBound()
getWorldBound retrieves the world bound at this node level.

戻り値:
the world bound at this level.

setCullHint

public void setCullHint(Spatial.CullHint hint)
setCullHint sets how scene culling should work on this spatial during drawing. NOTE: You must set this AFTER attaching to a parent or it will be reset with the parent's cullMode value.

パラメータ:
hint - one of CullHint.Dynamic, CullHint.Always, CullHint.Inherit or CullHint.Never

getLocalCullHint

public Spatial.CullHint getLocalCullHint()
戻り値:
the cullmode set on this Spatial

setQueueBucket

public void setQueueBucket(RenderQueue.Bucket queueBucket)
setQueueBucket determines at what phase of the rendering process this Spatial will rendered. See the RenderQueue.Bucket enum for an explanation of the various render queue buckets.

パラメータ:
queueBucket - The bucket to use for this Spatial.

setShadowMode

public void setShadowMode(RenderQueue.ShadowMode shadowMode)
Sets the shadow mode of the spatial The shadow mode determines how the spatial should be shadowed, when a shadowing technique is used. See the documentation for the class RenderQueue.ShadowMode for more information.

パラメータ:
shadowMode - The local shadow mode to set.
関連項目:
RenderQueue.ShadowMode

getLocalQueueBucket

public RenderQueue.Bucket getLocalQueueBucket()
戻り値:
The locally set queue bucket mode
関連項目:
setQueueBucket(com.jme3.renderer.queue.RenderQueue.Bucket)

getLocalShadowMode

public RenderQueue.ShadowMode getLocalShadowMode()
戻り値:
The locally set shadow mode
関連項目:
setShadowMode(com.jme3.renderer.queue.RenderQueue.ShadowMode)

getLastFrustumIntersection

public Camera.FrustumIntersect getLastFrustumIntersection()
Returns this spatial's last frustum intersection result. This int is set when a check is made to determine if the bounds of the object fall inside a camera's frustum. If a parent is found to fall outside the frustum, the value for this spatial will not be updated.

戻り値:
The spatial's last frustum intersection result.

setLastFrustumIntersection

public void setLastFrustumIntersection(Camera.FrustumIntersect intersects)
Overrides the last intersection result. This is useful for operations that want to start rendering at the middle of a scene tree and don't want the parent of that node to influence culling.

パラメータ:
intersects - the new value

toString

public java.lang.String toString()
Returns the Spatial's name followed by the class of the spatial
Example: "MyNode (com.jme3.scene.Spatial)

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
Spatial's name followed by the class of the Spatial

getLocalToWorldMatrix

public Matrix4f getLocalToWorldMatrix(Matrix4f store)
Creates a transform matrix that will convert from this spatials' local coordinate space to the world coordinate space based on the world transform.

パラメータ:
store - Matrix where to store the result, if null, a new one will be created and returned.
戻り値:
store if not null, otherwise, a new matrix containing the result.
関連項目:
getWorldTransform()

depthFirstTraversal

public abstract void depthFirstTraversal(SceneGraphVisitor visitor)
Visit each scene graph element ordered by DFS

パラメータ:
visitor -

breadthFirstTraversal

public void breadthFirstTraversal(SceneGraphVisitor visitor)
Visit each scene graph element ordered by BFS

パラメータ:
visitor -