Преглед изворни кода

Allow a custom Executor to be passed to the TerrainLodControl

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10880 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
bre..om пре 12 година
родитељ
комит
ac51e1d885
1 измењених фајлова са 13 додато и 0 уклоњено
  1. 13 0
      engine/src/terrain/com/jme3/terrain/geomipmap/TerrainLodControl.java

+ 13 - 0
engine/src/terrain/com/jme3/terrain/geomipmap/TerrainLodControl.java

@@ -73,6 +73,11 @@ import java.util.logging.Logger;
  * This camera reference has to be manually added in when you load the
  * terrain to the scene!
  * 
+ * When the control or the terrain are removed from the scene, you should call
+ * TerrainLodControl.detachAndCleanUpControl() to remove any threads it created
+ * to handle the LOD processing. If you supply your own executor service, then
+ * you have to handle its thread termination yourself.
+ * 
  * @author Brent Owens
  */
 public class TerrainLodControl extends AbstractControl {
@@ -119,6 +124,14 @@ public class TerrainLodControl extends AbstractControl {
     @Override
     protected void controlRender(RenderManager rm, ViewPort vp) {
     }
+
+    /**
+     * Set your own custom executor to be used. The control will use
+     * this instead of creating its own.
+     */
+    public void setExecutor(ExecutorService executor) {
+        this.executor = executor;
+    }
     
     protected ExecutorService createExecutorService() {
         return Executors.newSingleThreadExecutor(new ThreadFactory() {