Package com.jme3.scene.control
Class UpdateControl
java.lang.Object
com.jme3.scene.control.AbstractControl
com.jme3.scene.control.UpdateControl
- All Implemented Interfaces:
Savable
,Control
,JmeCloneable
,Cloneable
Allows for enqueueing tasks onto the update loop / rendering thread.
Usage:
mySpatial.addControl(new UpdateControl()); // add it once
mySpatial.getControl(UpdateControl.class).enqueue(new Callable() {
public Object call() throws Exception {
// do stuff here
return null;
}
});
-
Field Summary
Fields inherited from class com.jme3.scene.control.AbstractControl
enabled, spatial
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
controlRender
(RenderManager rm, ViewPort vp) To be implemented in subclass.protected void
controlUpdate
(float tpf) To be implemented in subclass.<V> Future<V>
Enqueues a task/callable object to execute in the jME3 rendering thread.jmeClone()
Performs a regular shallow clone of the object.Methods inherited from class com.jme3.scene.control.AbstractControl
cloneFields, cloneForSpatial, getSpatial, isEnabled, read, render, setEnabled, setSpatial, update, write
-
Constructor Details
-
UpdateControl
public UpdateControl()
-
-
Method Details
-
enqueue
Enqueues a task/callable object to execute in the jME3 rendering thread.- Type Parameters:
V
- type of result returned by the Callable- Parameters:
callable
- the Callable to run- Returns:
- a new instance
-
controlUpdate
protected void controlUpdate(float tpf) Description copied from class:AbstractControl
To be implemented in subclass.- Specified by:
controlUpdate
in classAbstractControl
- Parameters:
tpf
- time per frame (in seconds)
-
controlRender
Description copied from class:AbstractControl
To be implemented in subclass.- Specified by:
controlRender
in classAbstractControl
- Parameters:
rm
- the RenderManager rendering the controlled Spatial (not null)vp
- the ViewPort being rendered (not null)
-
jmeClone
Description copied from interface:JmeCloneable
Performs a regular shallow clone of the object. Some fields may also be cloned but generally only if they will never be shared with other objects. (For example, local Vector3fs and so on.)This method is separate from the regular clone() method so that objects might still maintain their own regular java clone() semantics (perhaps even using Cloner for those methods). However, because Java's clone() has specific features in the sense of Object's clone() implementation, it's usually best to have some path for subclasses to bypass the public clone() method that might be cloning fields and instead get at the superclass protected clone() methods. For example, through super.jmeClone() or another protected clone method that some base class eventually calls super.clone() in.
- Specified by:
jmeClone
in interfaceJmeCloneable
- Overrides:
jmeClone
in classAbstractControl
- Returns:
- a new instance
-