Add missing @Override annotations (#1270)

* jme3-core: add the missing @Override annotations

* jme3-desktop: add the missing @Override annotations

* jme3-bullet and jme3-jbullet: add the missing @Override annotations

* jme3-effects: add the missing @Override annotations

* jme3-terrain: add the missing @Override annotations

* jme3-examples: add the missing @Override annotations

* jme3-android: add the missing @Override annotations

* jme3-blender: add the missing @Override annotations

* jme3-ios: add the missing @Override annotations

* jme3-jogg and jme3-jogl: add the missing @Override annotations

* jme3-plugind: add the missing @Override annotations

* jme3-lwjgl and jme3-lwjgl3: add the missing @Override annotations

* jme3-networking: add the missing @Override annotations

* jme3-vr: add the missing @Override annotations
fix-openal-soft-deadlink
Stephen Gold 5 years ago committed by GitHub
parent 427ae0a28b
commit 0fd70b81c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      jme3-android/src/main/java/com/jme3/app/AndroidHarness.java
  2. 4
      jme3-android/src/main/java/com/jme3/app/DefaultAndroidProfiler.java
  3. 17
      jme3-android/src/main/java/com/jme3/app/state/VideoRecorderAppState.java
  4. 1
      jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java
  5. 20
      jme3-android/src/main/java/com/jme3/audio/android/AndroidAL.java
  6. 8
      jme3-android/src/main/java/com/jme3/audio/android/AndroidALC.java
  7. 11
      jme3-android/src/main/java/com/jme3/audio/android/AndroidEFX.java
  8. 1
      jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java
  9. 114
      jme3-android/src/main/java/com/jme3/renderer/android/AndroidGL.java
  10. 1
      jme3-android/src/main/java/com/jme3/system/android/JmeAndroidSystem.java
  11. 6
      jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java
  12. 3
      jme3-android/src/main/java/com/jme3/texture/plugins/AndroidBufferImageLoader.java
  13. 1
      jme3-android/src/main/java/com/jme3/texture/plugins/AndroidNativeImageLoader.java
  14. 4
      jme3-android/src/main/java/com/jme3/util/RingBuffer.java
  15. 10
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/materials/MaterialHelper.java
  16. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DQuaternion.java
  17. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DTransform.java
  18. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/Vector3d.java
  19. 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/GeneratedTexture.java
  20. 2
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java
  21. 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/AbstractTextureBlender.java
  22. 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/TextureBlenderLuminance.java
  23. 34
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/NoiseGenerator.java
  24. 9
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorBlend.java
  25. 12
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorMagic.java
  26. 3
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorWood.java
  27. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/AWTPixelInputOutput.java
  28. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/DDSPixelInputOutput.java
  29. 4
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/LuminancePixelInputOutput.java
  30. 7
      jme3-bullet/src/common/java/com/jme3/bullet/BulletAppState.java
  31. 4
      jme3-bullet/src/common/java/com/jme3/bullet/collision/shapes/infos/ChildCollisionShape.java
  32. 8
      jme3-bullet/src/common/java/com/jme3/bullet/control/AbstractPhysicsControl.java
  33. 4
      jme3-bullet/src/common/java/com/jme3/bullet/control/BetterCharacterControl.java
  34. 8
      jme3-bullet/src/common/java/com/jme3/bullet/control/CharacterControl.java
  35. 8
      jme3-bullet/src/common/java/com/jme3/bullet/control/GhostControl.java
  36. 3
      jme3-bullet/src/common/java/com/jme3/bullet/control/KinematicRagdollControl.java
  37. 8
      jme3-bullet/src/common/java/com/jme3/bullet/control/RigidBodyControl.java
  38. 9
      jme3-bullet/src/common/java/com/jme3/bullet/control/VehicleControl.java
  39. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/BoxCollisionShape.java
  40. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java
  41. 3
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CollisionShape.java
  42. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CompoundCollisionShape.java
  43. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/ConeCollisionShape.java
  44. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CylinderCollisionShape.java
  45. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/GImpactCollisionShape.java
  46. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/HeightfieldCollisionShape.java
  47. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/PlaneCollisionShape.java
  48. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SimplexCollisionShape.java
  49. 4
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SphereCollisionShape.java
  50. 4
      jme3-bullet/src/main/java/com/jme3/bullet/joints/HingeJoint.java
  51. 4
      jme3-bullet/src/main/java/com/jme3/bullet/joints/PhysicsJoint.java
  52. 3
      jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsRigidBody.java
  53. 2
      jme3-core/src/main/java/com/jme3/anim/Joint.java
  54. 1
      jme3-core/src/main/java/com/jme3/anim/MatrixJointModelTransform.java
  55. 1
      jme3-core/src/main/java/com/jme3/anim/SeparateJointModelTransform.java
  56. 4
      jme3-core/src/main/java/com/jme3/anim/TransformTrack.java
  57. 1
      jme3-core/src/main/java/com/jme3/anim/tween/action/BlendAction.java
  58. 1
      jme3-core/src/main/java/com/jme3/anim/tween/action/ClipAction.java
  59. 9
      jme3-core/src/main/java/com/jme3/animation/AudioTrack.java
  60. 4
      jme3-core/src/main/java/com/jme3/animation/BoneTrack.java
  61. 4
      jme3-core/src/main/java/com/jme3/animation/Pose.java
  62. 6
      jme3-core/src/main/java/com/jme3/animation/PoseTrack.java
  63. 4
      jme3-core/src/main/java/com/jme3/animation/SpatialTrack.java
  64. 4
      jme3-core/src/main/java/com/jme3/animation/TrackInfo.java
  65. 7
      jme3-core/src/main/java/com/jme3/app/AppTask.java
  66. 4
      jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java
  67. 3
      jme3-core/src/main/java/com/jme3/app/DebugKeysAppState.java
  68. 37
      jme3-core/src/main/java/com/jme3/app/LegacyApplication.java
  69. 3
      jme3-core/src/main/java/com/jme3/app/SimpleApplication.java
  70. 5
      jme3-core/src/main/java/com/jme3/app/StatsView.java
  71. 8
      jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java
  72. 4
      jme3-core/src/main/java/com/jme3/asset/AssetKey.java
  73. 4
      jme3-core/src/main/java/com/jme3/asset/CloneableAssetProcessor.java
  74. 24
      jme3-core/src/main/java/com/jme3/asset/DesktopAssetManager.java
  75. 4
      jme3-core/src/main/java/com/jme3/asset/ThreadingManager.java
  76. 8
      jme3-core/src/main/java/com/jme3/asset/cache/SimpleAssetCache.java
  77. 8
      jme3-core/src/main/java/com/jme3/asset/cache/WeakRefAssetCache.java
  78. 8
      jme3-core/src/main/java/com/jme3/asset/cache/WeakRefCloneAssetCache.java
  79. 5
      jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java
  80. 23
      jme3-core/src/main/java/com/jme3/audio/AudioNode.java
  81. 4
      jme3-core/src/main/java/com/jme3/audio/AudioStream.java
  82. 4
      jme3-core/src/main/java/com/jme3/audio/Filter.java
  83. 3
      jme3-core/src/main/java/com/jme3/audio/LowPassFilter.java
  84. 18
      jme3-core/src/main/java/com/jme3/audio/openal/ALAudioRenderer.java
  85. 15
      jme3-core/src/main/java/com/jme3/bounding/BoundingBox.java
  86. 16
      jme3-core/src/main/java/com/jme3/bounding/BoundingSphere.java
  87. 4
      jme3-core/src/main/java/com/jme3/bounding/BoundingVolume.java
  88. 11
      jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java
  89. 4
      jme3-core/src/main/java/com/jme3/cinematic/KeyFrame.java
  90. 4
      jme3-core/src/main/java/com/jme3/cinematic/TimeLine.java
  91. 21
      jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java
  92. 6
      jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java
  93. 4
      jme3-core/src/main/java/com/jme3/collision/CollisionResult.java
  94. 3
      jme3-core/src/main/java/com/jme3/collision/CollisionResults.java
  95. 3
      jme3-core/src/main/java/com/jme3/collision/SweepSphere.java
  96. 4
      jme3-core/src/main/java/com/jme3/collision/bih/BIHNode.java
  97. 5
      jme3-core/src/main/java/com/jme3/collision/bih/BIHTree.java
  98. 3
      jme3-core/src/main/java/com/jme3/collision/bih/TriangleAxisComparator.java
  99. 8
      jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java
  100. 4
      jme3-core/src/main/java/com/jme3/export/NullSavable.java
  101. Some files were not shown because too many files have changed in this diff Show More

@ -362,6 +362,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
* @param dialog
* @param whichButton
*/
@Override
public void onClick(DialogInterface dialog, int whichButton) {
if (whichButton != -2) {
if (app != null) {
@ -473,6 +474,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
handler.setLevel(Level.ALL);
}
@Override
public void initialize() {
app.initialize();
if (handleExitHook) {
@ -488,10 +490,12 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
}
}
@Override
public void reshape(int width, int height) {
app.reshape(width, height);
}
@Override
public void update() {
app.update();
// call to remove the splash screen, if present.
@ -503,10 +507,12 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
}
}
@Override
public void requestClose(boolean esc) {
app.requestClose(esc);
}
@Override
public void destroy() {
if (app != null) {
app.destroy();
@ -516,6 +522,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
}
}
@Override
public void gainFocus() {
logger.fine("gainFocus");
if (view != null) {
@ -547,6 +554,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
}
}
@Override
public void loseFocus() {
logger.fine("loseFocus");
if (app != null) {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014 jMonkeyEngine
* Copyright (c) 2014-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -82,6 +82,7 @@ import com.jme3.renderer.queue.RenderQueue;
public class DefaultAndroidProfiler implements AppProfiler {
private int androidApiLevel = Build.VERSION.SDK_INT;
@Override
public void appStep(AppStep appStep) {
if (androidApiLevel >= 18) {
switch(appStep) {
@ -140,6 +141,7 @@ public class DefaultAndroidProfiler implements AppProfiler {
}
@Override
public void vpStep(VpStep vpStep, ViewPort vp, RenderQueue.Bucket bucket) {
if (androidApiLevel >= 18) {
switch (vpStep) {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -73,6 +73,7 @@ public class VideoRecorderAppState extends AbstractAppState {
private Application app;
private ExecutorService executor = Executors.newCachedThreadPool(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
Thread th = new Thread(r);
th.setName("jME3 Video Processor");
@ -239,6 +240,7 @@ public class VideoRecorderAppState extends AbstractAppState {
renderer.readFrameBufferWithFormat(out, item.buffer, Image.Format.BGRA8);
executor.submit(new Callable<Void>() {
@Override
public Void call() throws Exception {
if (fastMode) {
item.data = item.buffer.array();
@ -260,6 +262,7 @@ public class VideoRecorderAppState extends AbstractAppState {
}
}
@Override
public void initialize(RenderManager rm, ViewPort viewPort) {
logger.log(Level.INFO, "initialize in VideoProcessor");
this.camera = viewPort.getCamera();
@ -275,13 +278,16 @@ public class VideoRecorderAppState extends AbstractAppState {
}
}
@Override
public void reshape(ViewPort vp, int w, int h) {
}
@Override
public boolean isInitialized() {
return this.isInitilized;
}
@Override
public void preFrame(float tpf) {
if (null == writer) {
try {
@ -292,14 +298,17 @@ public class VideoRecorderAppState extends AbstractAppState {
}
}
@Override
public void postQueue(RenderQueue rq) {
}
@Override
public void postFrame(FrameBuffer out) {
numFrames++;
addImage(renderManager.getRenderer(), out);
}
@Override
public void cleanup() {
logger.log(Level.INFO, "cleanup in VideoProcessor");
logger.log(Level.INFO, "VideoProcessor numFrames: {0}", numFrames);
@ -332,22 +341,27 @@ public class VideoRecorderAppState extends AbstractAppState {
this.ticks = 0;
}
@Override
public long getTime() {
return (long) (this.ticks * (1.0f / this.framerate) * 1000f);
}
@Override
public long getResolution() {
return 1000L;
}
@Override
public float getFrameRate() {
return this.framerate;
}
@Override
public float getTimePerFrame() {
return (float) (1.0f / this.framerate);
}
@Override
public void update() {
long time = System.currentTimeMillis();
long difference = time - lastTime;
@ -364,6 +378,7 @@ public class VideoRecorderAppState extends AbstractAppState {
this.ticks++;
}
@Override
public void reset() {
this.ticks = 0;
}

@ -17,6 +17,7 @@ public class AndroidLocator implements AssetLocator {
public AndroidLocator() {
}
@Override
public void setRootPath(String rootPath) {
this.rootPath = rootPath;
}

@ -10,44 +10,64 @@ public final class AndroidAL implements AL {
public AndroidAL() {
}
@Override
public native String alGetString(int parameter);
@Override
public native int alGenSources();
@Override
public native int alGetError();
@Override
public native void alDeleteSources(int numSources, IntBuffer sources);
@Override
public native void alGenBuffers(int numBuffers, IntBuffer buffers);
@Override
public native void alDeleteBuffers(int numBuffers, IntBuffer buffers);
@Override
public native void alSourceStop(int source);
@Override
public native void alSourcei(int source, int param, int value);
@Override
public native void alBufferData(int buffer, int format, ByteBuffer data, int size, int frequency);
@Override
public native void alSourcePlay(int source);
@Override
public native void alSourcePause(int source);
@Override
public native void alSourcef(int source, int param, float value);
@Override
public native void alSource3f(int source, int param, float value1, float value2, float value3);
@Override
public native int alGetSourcei(int source, int param);
@Override
public native void alSourceUnqueueBuffers(int source, int numBuffers, IntBuffer buffers);
@Override
public native void alSourceQueueBuffers(int source, int numBuffers, IntBuffer buffers);
@Override
public native void alListener(int param, FloatBuffer data);
@Override
public native void alListenerf(int param, float value);
@Override
public native void alListener3f(int param, float value1, float value2, float value3);
@Override
public native void alSource3i(int source, int param, int value1, int value2, int value3);
}

@ -12,19 +12,27 @@ public final class AndroidALC implements ALC {
public AndroidALC() {
}
@Override
public native void createALC();
@Override
public native void destroyALC();
@Override
public native boolean isCreated();
@Override
public native String alcGetString(int parameter);
@Override
public native boolean alcIsExtensionPresent(String extension);
@Override
public native void alcGetInteger(int param, IntBuffer buffer, int size);
@Override
public native void alcDevicePauseSOFT();
@Override
public native void alcDeviceResumeSOFT();
}

@ -8,25 +8,36 @@ public class AndroidEFX implements EFX {
public AndroidEFX() {
}
@Override
public native void alGenAuxiliaryEffectSlots(int numSlots, IntBuffer buffers);
@Override
public native void alGenEffects(int numEffects, IntBuffer buffers);
@Override
public native void alEffecti(int effect, int param, int value);
@Override
public native void alAuxiliaryEffectSloti(int effectSlot, int param, int value);
@Override
public native void alDeleteEffects(int numEffects, IntBuffer buffers);
@Override
public native void alDeleteAuxiliaryEffectSlots(int numEffectSlots, IntBuffer buffers);
@Override
public native void alGenFilters(int numFilters, IntBuffer buffers);
@Override
public native void alFilteri(int filter, int param, int value);
@Override
public native void alFilterf(int filter, int param, float value);
@Override
public native void alDeleteFilters(int numFilters, IntBuffer buffers);
@Override
public native void alEffectf(int effect, int param, float value);
}

@ -46,6 +46,7 @@ public class NativeVorbisLoader implements AssetLoader {
throw new IOException("Not supported for audio streams");
}
@Override
public void setTime(float time) {
try {
file.seekTime(time);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2015 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -46,6 +46,7 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
IntBuffer tmpBuff = BufferUtils.createIntBuffer(1);
@Override
public void resetStats() {
}
@ -86,10 +87,12 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
}
}
@Override
public void glActiveTexture(int texture) {
GLES20.glActiveTexture(texture);
}
@Override
public void glAttachShader(int program, int shader) {
GLES20.glAttachShader(program, shader);
}
@ -99,144 +102,179 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
GLES30.glBeginQuery(target, query);
}
@Override
public void glBindBuffer(int target, int buffer) {
GLES20.glBindBuffer(target, buffer);
}
@Override
public void glBindTexture(int target, int texture) {
GLES20.glBindTexture(target, texture);
}
@Override
public void glBlendFunc(int sfactor, int dfactor) {
GLES20.glBlendFunc(sfactor, dfactor);
}
@Override
public void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) {
GLES20.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
}
@Override
public void glBufferData(int target, FloatBuffer data, int usage) {
GLES20.glBufferData(target, getLimitBytes(data), data, usage);
}
@Override
public void glBufferData(int target, ShortBuffer data, int usage) {
GLES20.glBufferData(target, getLimitBytes(data), data, usage);
}
@Override
public void glBufferData(int target, ByteBuffer data, int usage) {
GLES20.glBufferData(target, getLimitBytes(data), data, usage);
}
@Override
public void glBufferData(int target, long data_size, int usage) {
GLES20.glBufferData(target, (int) data_size, null, usage);
}
@Override
public void glBufferSubData(int target, long offset, FloatBuffer data) {
GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
}
@Override
public void glBufferSubData(int target, long offset, ShortBuffer data) {
GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
}
@Override
public void glBufferSubData(int target, long offset, ByteBuffer data) {
GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
}
@Override
public void glGetBufferSubData(int target, long offset, ByteBuffer data) {
throw new UnsupportedOperationException("OpenGL ES 2 does not support glGetBufferSubData");
}
@Override
public void glClear(int mask) {
GLES20.glClear(mask);
}
@Override
public void glClearColor(float red, float green, float blue, float alpha) {
GLES20.glClearColor(red, green, blue, alpha);
}
@Override
public void glColorMask(boolean red, boolean green, boolean blue, boolean alpha) {
GLES20.glColorMask(red, green, blue, alpha);
}
@Override
public void glCompileShader(int shader) {
GLES20.glCompileShader(shader);
}
@Override
public void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, ByteBuffer data) {
GLES20.glCompressedTexImage2D(target, level, internalformat, width, height, 0, getLimitBytes(data), data);
}
@Override
public void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, ByteBuffer data) {
GLES20.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, getLimitBytes(data), data);
}
@Override
public int glCreateProgram() {
return GLES20.glCreateProgram();
}
@Override
public int glCreateShader(int shaderType) {
return GLES20.glCreateShader(shaderType);
}
@Override
public void glCullFace(int mode) {
GLES20.glCullFace(mode);
}
@Override
public void glDeleteBuffers(IntBuffer buffers) {
checkLimit(buffers);
GLES20.glDeleteBuffers(buffers.limit(), buffers);
}
@Override
public void glDeleteProgram(int program) {
GLES20.glDeleteProgram(program);
}
@Override
public void glDeleteShader(int shader) {
GLES20.glDeleteShader(shader);
}
@Override
public void glDeleteTextures(IntBuffer textures) {
checkLimit(textures);
GLES20.glDeleteTextures(textures.limit(), textures);
}
@Override
public void glDepthFunc(int func) {
GLES20.glDepthFunc(func);
}
@Override
public void glDepthMask(boolean flag) {
GLES20.glDepthMask(flag);
}
@Override
public void glDepthRange(double nearVal, double farVal) {
GLES20.glDepthRangef((float)nearVal, (float)farVal);
}
@Override
public void glDetachShader(int program, int shader) {
GLES20.glDetachShader(program, shader);
}
@Override
public void glDisable(int cap) {
GLES20.glDisable(cap);
}
@Override
public void glDisableVertexAttribArray(int index) {
GLES20.glDisableVertexAttribArray(index);
}
@Override
public void glDrawArrays(int mode, int first, int count) {
GLES20.glDrawArrays(mode, first, count);
}
@Override
public void glDrawRangeElements(int mode, int start, int end, int count, int type, long indices) {
GLES20.glDrawElements(mode, count, type, (int)indices);
}
@Override
public void glEnable(int cap) {
GLES20.glEnable(cap);
}
@Override
public void glEnableVertexAttribArray(int index) {
GLES20.glEnableVertexAttribArray(index);
}
@ -246,11 +284,13 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
GLES30.glEndQuery(target);
}
@Override
public void glGenBuffers(IntBuffer buffers) {
checkLimit(buffers);
GLES20.glGenBuffers(buffers.limit(), buffers);
}
@Override
public void glGenTextures(IntBuffer textures) {
checkLimit(textures);
GLES20.glGenTextures(textures.limit(), textures);
@ -261,29 +301,35 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
GLES30.glGenQueries(num, buff);
}
@Override
public int glGetAttribLocation(int program, String name) {
return GLES20.glGetAttribLocation(program, name);
}
@Override
public void glGetBoolean(int pname, ByteBuffer params) {
// GLES20.glGetBoolean(pname, params);
throw new UnsupportedOperationException("Today is not a good day for this");
}
@Override
public int glGetError() {
return GLES20.glGetError();
}
@Override
public void glGetInteger(int pname, IntBuffer params) {
checkLimit(params);
GLES20.glGetIntegerv(pname, params);
}
@Override
public void glGetProgram(int program, int pname, IntBuffer params) {
checkLimit(params);
GLES20.glGetProgramiv(program, pname, params);
}
@Override
public String glGetProgramInfoLog(int program, int maxLength) {
return GLES20.glGetProgramInfoLog(program);
}
@ -303,51 +349,63 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
return buff.get(0);
}
@Override
public void glGetShader(int shader, int pname, IntBuffer params) {
checkLimit(params);
GLES20.glGetShaderiv(shader, pname, params);
}
@Override
public String glGetShaderInfoLog(int shader, int maxLength) {
return GLES20.glGetShaderInfoLog(shader);
}
@Override
public String glGetString(int name) {
return GLES20.glGetString(name);
}
@Override
public int glGetUniformLocation(int program, String name) {
return GLES20.glGetUniformLocation(program, name);
}
@Override
public boolean glIsEnabled(int cap) {
return GLES20.glIsEnabled(cap);
}
@Override
public void glLineWidth(float width) {
GLES20.glLineWidth(width);
}
@Override
public void glLinkProgram(int program) {
GLES20.glLinkProgram(program);
}
@Override
public void glPixelStorei(int pname, int param) {
GLES20.glPixelStorei(pname, param);
}
@Override
public void glPolygonOffset(float factor, float units) {
GLES20.glPolygonOffset(factor, units);
}
@Override
public void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer data) {
GLES20.glReadPixels(x, y, width, height, format, type, data);
}
@Override
public void glScissor(int x, int y, int width, int height) {
GLES20.glScissor(x, y, width, height);
}
@Override
public void glShaderSource(int shader, String[] string, IntBuffer length) {
if (string.length != 1) {
throw new UnsupportedOperationException("Today is not a good day");
@ -355,186 +413,231 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
GLES20.glShaderSource(shader, string[0]);
}
@Override
public void glStencilFuncSeparate(int face, int func, int ref, int mask) {
GLES20.glStencilFuncSeparate(face, func, ref, mask);
}
@Override
public void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass) {
GLES20.glStencilOpSeparate(face, sfail, dpfail, dppass);
}
@Override
public void glTexImage2D(int target, int level, int internalFormat, int width, int height, int border, int format, int type, ByteBuffer data) {
GLES20.glTexImage2D(target, level, internalFormat, width, height, 0, format, type, data);
}
@Override
public void glTexParameterf(int target, int pname, float param) {
GLES20.glTexParameterf(target, pname, param);
}
@Override
public void glTexParameteri(int target, int pname, int param) {
GLES20.glTexParameteri(target, pname, param);
}
@Override
public void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer data) {
GLES20.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data);
}
@Override
public void glUniform1(int location, FloatBuffer value) {
GLES20.glUniform1fv(location, getLimitCount(value, 1), value);
}
@Override
public void glUniform1(int location, IntBuffer value) {
GLES20.glUniform1iv(location, getLimitCount(value, 1), value);
}
@Override
public void glUniform1f(int location, float v0) {
GLES20.glUniform1f(location, v0);
}
@Override
public void glUniform1i(int location, int v0) {
GLES20.glUniform1i(location, v0);
}
@Override
public void glUniform2(int location, IntBuffer value) {
GLES20.glUniform2iv(location, getLimitCount(value, 2), value);
}
@Override
public void glUniform2(int location, FloatBuffer value) {
GLES20.glUniform2fv(location, getLimitCount(value, 2), value);
}
@Override
public void glUniform2f(int location, float v0, float v1) {
GLES20.glUniform2f(location, v0, v1);
}
@Override
public void glUniform3(int location, IntBuffer value) {
GLES20.glUniform3iv(location, getLimitCount(value, 3), value);
}
@Override
public void glUniform3(int location, FloatBuffer value) {
GLES20.glUniform3fv(location, getLimitCount(value, 3), value);
}
@Override
public void glUniform3f(int location, float v0, float v1, float v2) {
GLES20.glUniform3f(location, v0, v1, v2);
}
@Override
public void glUniform4(int location, FloatBuffer value) {
GLES20.glUniform4fv(location, getLimitCount(value, 4), value);
}
@Override
public void glUniform4(int location, IntBuffer value) {
GLES20.glUniform4iv(location, getLimitCount(value, 4), value);
}
@Override
public void glUniform4f(int location, float v0, float v1, float v2, float v3) {
GLES20.glUniform4f(location, v0, v1, v2, v3);
}
@Override
public void glUniformMatrix3(int location, boolean transpose, FloatBuffer value) {
GLES20.glUniformMatrix3fv(location, getLimitCount(value, 3 * 3), transpose, value);
}
@Override
public void glUniformMatrix4(int location, boolean transpose, FloatBuffer value) {
GLES20.glUniformMatrix4fv(location, getLimitCount(value, 4 * 4), transpose, value);
}
@Override
public void glUseProgram(int program) {
GLES20.glUseProgram(program);
}
@Override
public void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, long pointer) {
GLES20.glVertexAttribPointer(index, size, type, normalized, stride, (int)pointer);
}
@Override
public void glViewport(int x, int y, int width, int height) {
GLES20.glViewport(x, y, width, height);
}
@Override
public void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) {
GLES30.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
@Override
public void glBufferData(int target, IntBuffer data, int usage) {
GLES20.glBufferData(target, getLimitBytes(data), data, usage);
}
@Override
public void glBufferSubData(int target, long offset, IntBuffer data) {
GLES20.glBufferSubData(target, (int)offset, getLimitBytes(data), data);
}
@Override
public void glDrawArraysInstancedARB(int mode, int first, int count, int primcount) {
GLES30.glDrawArraysInstanced(mode, first, count, primcount);
}
@Override
public void glDrawBuffers(IntBuffer bufs) {
GLES30.glDrawBuffers(bufs.limit(), bufs);
}
@Override
public void glDrawElementsInstancedARB(int mode, int indices_count, int type, long indices_buffer_offset, int primcount) {
GLES30.glDrawElementsInstanced(mode, indices_count, type, (int)indices_buffer_offset, primcount);
}
@Override
public void glGetMultisample(int pname, int index, FloatBuffer val) {
GLES31.glGetMultisamplefv(pname, index, val);
}
@Override
public void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height) {
GLES30.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
}
@Override
public void glTexImage2DMultisample(int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations) {
GLES31.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
}
@Override
public void glVertexAttribDivisorARB(int index, int divisor) {
GLES30.glVertexAttribDivisor(index, divisor);
}
@Override
public void glBindFramebufferEXT(int param1, int param2) {
GLES20.glBindFramebuffer(param1, param2);
}
@Override
public void glBindRenderbufferEXT(int param1, int param2) {
GLES20.glBindRenderbuffer(param1, param2);
}
@Override
public int glCheckFramebufferStatusEXT(int param1) {
return GLES20.glCheckFramebufferStatus(param1);
}
@Override
public void glDeleteFramebuffersEXT(IntBuffer param1) {
checkLimit(param1);
GLES20.glDeleteFramebuffers(param1.limit(), param1);
}
@Override
public void glDeleteRenderbuffersEXT(IntBuffer param1) {
checkLimit(param1);
GLES20.glDeleteRenderbuffers(param1.limit(), param1);
}
@Override
public void glFramebufferRenderbufferEXT(int param1, int param2, int param3, int param4) {
GLES20.glFramebufferRenderbuffer(param1, param2, param3, param4);
}
@Override
public void glFramebufferTexture2DEXT(int param1, int param2, int param3, int param4, int param5) {
GLES20.glFramebufferTexture2D(param1, param2, param3, param4, param5);
}
@Override
public void glGenFramebuffersEXT(IntBuffer param1) {
checkLimit(param1);
GLES20.glGenFramebuffers(param1.limit(), param1);
}
@Override
public void glGenRenderbuffersEXT(IntBuffer param1) {
checkLimit(param1);
GLES20.glGenRenderbuffers(param1.limit(), param1);
}
@Override
public void glGenerateMipmapEXT(int param1) {
GLES20.glGenerateMipmap(param1);
}
@Override
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
GLES20.glRenderbufferStorage(param1, param2, param3, param4);
}
@ -570,16 +673,20 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
GLES30.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}
@Override
public void glAlphaFunc(int func, float ref) {
}
@Override
public void glPointSize(float size) {
}
@Override
public void glPolygonMode(int face, int mode) {
}
// Wrapper to DrawBuffers as there's no DrawBuffer method in GLES
@Override
public void glDrawBuffer(int mode) {
tmpBuff.clear();
tmpBuff.put(0, mode);
@ -587,25 +694,30 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
glDrawBuffers(tmpBuff);
}
@Override
public void glReadBuffer(int mode) {
GLES30.glReadBuffer(mode);
}
@Override
public void glCompressedTexImage3D(int target, int level, int internalFormat, int width, int height, int depth,
int border, ByteBuffer data) {
GLES30.glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, getLimitBytes(data), data);
}
@Override
public void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width,
int height, int depth, int format, ByteBuffer data) {
GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, getLimitBytes(data), data);
}
@Override
public void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border,
int format, int type, ByteBuffer data) {
GLES30.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, data);
}
@Override
public void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height,
int depth, int format, int type, ByteBuffer data) {
GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);

@ -204,6 +204,7 @@ public class JmeAndroidSystem extends JmeSystemDelegate {
public void showSoftKeyboard(final boolean show) {
view.getHandler().post(new Runnable() {
@Override
public void run() {
InputMethodManager manager =
(InputMethodManager)view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -202,6 +202,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
// Setup unhandled Exception Handler
Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable thrown) {
listener.handleError("Exception thrown in " + thread.toString(), thrown);
}
@ -414,6 +415,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
}
}
@Override
public void requestDialog(final int id, final String title, final String initialValue, final SoftTextDialogInputListener listener) {
logger.log(Level.FINE, "requestDialog: title: {0}, initialValue: {1}",
new Object[]{title, initialValue});
@ -457,6 +459,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
AlertDialog dialogTextInput = new AlertDialog.Builder(view.getContext()).setTitle(title).setView(layoutTextDialogInput).setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK, send COMPLETE action
* and text */
@ -464,6 +467,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
}
}).setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked CANCEL, send CANCEL action
* and text */

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2014 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -67,6 +67,7 @@ public class AndroidBufferImageLoader implements AssetLoader {
}
}
@Override
public Object load(AssetInfo assetInfo) throws IOException {
Bitmap bitmap = null;
Image.Format format;

@ -25,6 +25,7 @@ public class AndroidNativeImageLoader implements AssetLoader {
private static native Image load(InputStream in, boolean flipY, byte[] tmpArray) throws IOException;
@Override
public Image load(AssetInfo info) throws IOException {
boolean flip = ((TextureKey) info.getKey()).isFlipY();
InputStream in = null;

@ -49,6 +49,7 @@ public class RingBuffer<T> implements Iterable<T> {
return item;
}
@Override
public Iterator<T> iterator() {
return new RingBufferIterator();
}
@ -58,14 +59,17 @@ public class RingBuffer<T> implements Iterable<T> {
private int i = 0;
@Override
public boolean hasNext() {
return i < count;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
@Override
public T next() {
if (!hasNext()) {
throw new NoSuchElementException();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -100,9 +100,11 @@ public class MaterialHelper extends AbstractBlenderHelper {
super(blenderVersion, blenderContext);
// setting alpha masks
alphaMasks.put(ALPHA_MASK_NONE, new IAlphaMask() {
@Override
public void setImageSize(int width, int height) {
}
@Override
public byte getAlpha(float x, float y) {
return (byte) 255;
}
@ -111,11 +113,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
private float r;
private float[] center;
@Override
public void setImageSize(int width, int height) {
r = Math.min(width, height) * 0.5f;
center = new float[] { width * 0.5f, height * 0.5f };
}
@Override
public byte getAlpha(float x, float y) {
float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1])));
return (byte) (d >= r ? 0 : 255);
@ -125,11 +129,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
private float r;
private float[] center;
@Override
public void setImageSize(int width, int height) {
r = Math.min(width, height) * 0.5f;
center = new float[] { width * 0.5f, height * 0.5f };
}
@Override
public byte getAlpha(float x, float y) {
float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1])));
return (byte) (d >= r ? 0 : -255.0f * d / r + 255.0f);
@ -139,11 +145,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
private float r;
private float[] center;
@Override
public void setImageSize(int width, int height) {
r = Math.min(width, height) * 0.5f;
center = new float[] { width * 0.5f, height * 0.5f };
}
@Override
public byte getAlpha(float x, float y) {
float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1]))) / r;
return d >= 1.0f ? 0 : (byte) ((-FastMath.sqrt((2.0f - d) * d) + 1.0f) * 255.0f);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -554,6 +554,7 @@ public final class DQuaternion implements Savable, Cloneable, java.io.Serializab
}
@Override
public void write(JmeExporter e) throws IOException {
OutputCapsule cap = e.getCapsule(this);
cap.write(x, "x", 0);
@ -562,6 +563,7 @@ public final class DQuaternion implements Savable, Cloneable, java.io.Serializab
cap.write(w, "w", 1);
}
@Override
public void read(JmeImporter e) throws IOException {
InputCapsule cap = e.getCapsule(this);
x = cap.readFloat("x", 0);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -158,6 +158,7 @@ public final class DTransform implements Savable, Cloneable, java.io.Serializabl
return this.getClass().getSimpleName() + "[ " + translation.x + ", " + translation.y + ", " + translation.z + "]\n" + "[ " + rotation.x + ", " + rotation.y + ", " + rotation.z + ", " + rotation.w + "]\n" + "[ " + scale.x + " , " + scale.y + ", " + scale.z + "]";
}
@Override
public void write(JmeExporter e) throws IOException {
OutputCapsule capsule = e.getCapsule(this);
capsule.write(rotation, "rot", new DQuaternion());
@ -165,6 +166,7 @@ public final class DTransform implements Savable, Cloneable, java.io.Serializabl
capsule.write(scale, "scale", Vector3d.UNIT_XYZ);
}
@Override
public void read(JmeImporter e) throws IOException {
InputCapsule capsule = e.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -851,6 +851,7 @@ public final class Vector3d implements Savable, Cloneable, Serializable {
return "(" + x + ", " + y + ", " + z + ")";
}
@Override
public void write(JmeExporter e) throws IOException {
OutputCapsule capsule = e.getCapsule(this);
capsule.write(x, "x", 0);
@ -858,6 +859,7 @@ public final class Vector3d implements Savable, Cloneable, Serializable {
capsule.write(z, "z", 0);
}
@Override
public void read(JmeImporter e) throws IOException {
InputCapsule capsule = e.getCapsule(this);
x = capsule.readDouble("x", 0);

@ -160,6 +160,7 @@ import com.jme3.util.TempVars;
Vector3f[] uvsArray = uvs.toArray(new Vector3f[uvs.size()]);
BoundingBox boundingBox = UVCoordinatesGenerator.getBoundingBox(geometries);
Set<TriangleTextureElement> triangleTextureElements = new TreeSet<TriangleTextureElement>(new Comparator<TriangleTextureElement>() {
@Override
public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
return o1.faceIndex - o2.faceIndex;
}

@ -70,6 +70,7 @@ import com.jme3.util.BufferUtils;
public TriangulatedTexture(Texture2D texture2d, List<Vector2f> uvs, BlenderContext blenderContext) {
maxTextureSize = blenderContext.getBlenderKey().getMaxTextureSize();
faceTextures = new TreeSet<TriangleTextureElement>(new Comparator<TriangleTextureElement>() {
@Override
public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
return o1.faceIndex - o2.faceIndex;
}
@ -184,6 +185,7 @@ import com.jme3.util.BufferUtils;
// sorting the parts by their height (from highest to the lowest)
List<TriangleTextureElement> list = new ArrayList<TriangleTextureElement>(faceTextures);
Collections.sort(list, new Comparator<TriangleTextureElement>() {
@Override
public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
return o2.image.getHeight() - o1.image.getHeight();
}

@ -103,6 +103,7 @@ import com.jme3.texture.Image;
}
}
@Override
public void copyBlendingData(TextureBlender textureBlender) {
if (textureBlender instanceof AbstractTextureBlender) {
flag = ((AbstractTextureBlender) textureBlender).flag;

@ -43,6 +43,7 @@ public class TextureBlenderLuminance extends AbstractTextureBlender {
super(flag, negateTexture, blendType, materialColor, color, blendFactor);
}
@Override
public Image blend(Image image, Image baseImage, BlenderContext blenderContext) {
this.prepareImagesForBlending(image, baseImage);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -109,30 +109,36 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
static {
noiseFunctions.put(Integer.valueOf(0), new NoiseFunction() {
// originalBlenderNoise
@Override
public float execute(float x, float y, float z) {
return NoiseFunctions.originalBlenderNoise(x, y, z);
}
@Override
public float executeSigned(float x, float y, float z) {
return 2.0f * NoiseFunctions.originalBlenderNoise(x, y, z) - 1.0f;
}
});
noiseFunctions.put(Integer.valueOf(1), new NoiseFunction() {
// orgPerlinNoise
@Override
public float execute(float x, float y, float z) {
return 0.5f + 0.5f * NoiseFunctions.noise3Perlin(x, y, z);
}
@Override
public float executeSigned(float x, float y, float z) {
return NoiseFunctions.noise3Perlin(x, y, z);
}
});
noiseFunctions.put(Integer.valueOf(2), new NoiseFunction() {
// newPerlin
@Override
public float execute(float x, float y, float z) {
return 0.5f + 0.5f * NoiseFunctions.newPerlin(x, y, z);
}
@Override
public float executeSigned(float x, float y, float z) {
return this.execute(x, y, z);
}
@ -142,11 +148,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final float[] pa = new float[12];
// voronoi_F1
@Override
public float execute(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return da[0];
}
@Override
public float executeSigned(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return 2.0f * da[0] - 1.0f;
@ -157,11 +165,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final float[] pa = new float[12];
// voronoi_F2
@Override
public float execute(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return da[1];
}
@Override
public float executeSigned(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return 2.0f * da[1] - 1.0f;
@ -172,11 +182,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final float[] pa = new float[12];
// voronoi_F3
@Override
public float execute(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return da[2];
}
@Override
public float executeSigned(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return 2.0f * da[2] - 1.0f;
@ -187,11 +199,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final float[] pa = new float[12];
// voronoi_F4
@Override
public float execute(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return da[3];
}
@Override
public float executeSigned(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return 2.0f * da[3] - 1.0f;
@ -202,11 +216,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final float[] pa = new float[12];
// voronoi_F1F2
@Override
public float execute(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return da[1] - da[0];
}
@Override
public float executeSigned(float x, float y, float z) {
NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
return 2.0f * (da[1] - da[0]) - 1.0f;
@ -216,11 +232,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
private final NoiseFunction voronoiF1F2NoiseFunction = noiseFunctions.get(Integer.valueOf(7));
// voronoi_Cr
@Override
public float execute(float x, float y, float z) {
float t = 10 * voronoiF1F2NoiseFunction.execute(x, y, z);
return t > 1.0f ? 1.0f : t;
}
@Override
public float executeSigned(float x, float y, float z) {
float t = 10.0f * voronoiF1F2NoiseFunction.execute(x, y, z);
return t > 1.0f ? 1.0f : 2.0f * t - 1.0f;
@ -228,6 +246,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
noiseFunctions.put(Integer.valueOf(14), new NoiseFunction() {
// cellNoise
@Override
public float execute(float x, float y, float z) {
int xi = (int) FastMath.floor(x);
int yi = (int) FastMath.floor(y);
@ -237,6 +256,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
return (n * (n * n * 15731 + 789221) + 1376312589) / 4294967296.0f;
}
@Override
public float executeSigned(float x, float y, float z) {
return 2.0f * this.execute(x, y, z) - 1.0f;
}
@ -248,24 +268,28 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
static {
distanceFunctions.put(Integer.valueOf(0), new DistanceFunction() {
// real distance
@Override
public float execute(float x, float y, float z, float e) {
return (float) Math.sqrt(x * x + y * y + z * z);
}
});
distanceFunctions.put(Integer.valueOf(1), new DistanceFunction() {
// distance squared
@Override
public float execute(float x, float y, float z, float e) {
return x * x + y * y + z * z;
}
});
distanceFunctions.put(Integer.valueOf(2), new DistanceFunction() {
// manhattan/taxicab/cityblock distance
@Override
public float execute(float x, float y, float z, float e) {
return FastMath.abs(x) + FastMath.abs(y) + FastMath.abs(z);
}
});
distanceFunctions.put(Integer.valueOf(3), new DistanceFunction() {
// Chebychev
@Override
public float execute(float x, float y, float z, float e) {
x = FastMath.abs(x);
y = FastMath.abs(y);
@ -276,6 +300,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
distanceFunctions.put(Integer.valueOf(4), new DistanceFunction() {
// Minkovsky, preset exponent 0.5 (MinkovskyH)
@Override
public float execute(float x, float y, float z, float e) {
float d = (float) (Math.sqrt(FastMath.abs(x)) + Math.sqrt(FastMath.abs(y)) + Math.sqrt(FastMath.abs(z)));
return d * d;
@ -283,6 +308,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
distanceFunctions.put(Integer.valueOf(5), new DistanceFunction() {
// Minkovsky, preset exponent 0.25 (Minkovsky4)
@Override
public float execute(float x, float y, float z, float e) {
x *= x;
y *= y;
@ -292,6 +318,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
distanceFunctions.put(Integer.valueOf(6), new DistanceFunction() {
// Minkovsky, general case
@Override
public float execute(float x, float y, float z, float e) {
return (float) Math.pow(Math.pow(FastMath.abs(x), e) + Math.pow(FastMath.abs(y), e) + Math.pow(FastMath.abs(z), e), 1.0f / e);
}
@ -303,6 +330,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
static {
musgraveFunctions.put(Integer.valueOf(TEX_MFRACTAL), new MusgraveFunction() {
@Override
public float execute(MusgraveData musgraveData, float x, float y, float z) {
float rmd, value = 1.0f, pwr = 1.0f, pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@ -322,6 +350,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
musgraveFunctions.put(Integer.valueOf(TEX_RIDGEDMF), new MusgraveFunction() {
@Override
public float execute(MusgraveData musgraveData, float x, float y, float z) {
float result, signal, weight;
float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@ -353,6 +382,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
musgraveFunctions.put(Integer.valueOf(TEX_HYBRIDMF), new MusgraveFunction() {
@Override
public float execute(MusgraveData musgraveData, float x, float y, float z) {
float result, signal, weight, rmd;
float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@ -386,6 +416,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
musgraveFunctions.put(Integer.valueOf(TEX_FBM), new MusgraveFunction() {
@Override
public float execute(MusgraveData musgraveData, float x, float y, float z) {
float rmd, value = 0.0f, pwr = 1.0f, pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@ -406,6 +437,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
});
musgraveFunctions.put(Integer.valueOf(TEX_HTERRAIN), new MusgraveFunction() {
@Override
public float execute(MusgraveData musgraveData, float x, float y, float z) {
float value, increment, rmd;
float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -46,17 +46,20 @@ public final class TextureGeneratorBlend extends TextureGenerator {
private static final IntensityFunction INTENSITY_FUNCTION[] = new IntensityFunction[7];
static {
INTENSITY_FUNCTION[0] = new IntensityFunction() {// Linear: stype = 0 (TEX_LIN)
@Override
public float getIntensity(float x, float y, float z) {
return (1.0f + x) * 0.5f;
}
};
INTENSITY_FUNCTION[1] = new IntensityFunction() {// Quad: stype = 1 (TEX_QUAD)
@Override
public float getIntensity(float x, float y, float z) {
float result = (1.0f + x) * 0.5f;
return result * result;
}
};
INTENSITY_FUNCTION[2] = new IntensityFunction() {// Ease: stype = 2 (TEX_EASE)
@Override
public float getIntensity(float x, float y, float z) {
float result = (1.0f + x) * 0.5f;
if (result <= 0.0f) {
@ -69,23 +72,27 @@ public final class TextureGeneratorBlend extends TextureGenerator {
}
};
INTENSITY_FUNCTION[3] = new IntensityFunction() {// Diagonal: stype = 3 (TEX_DIAG)
@Override
public float getIntensity(float x, float y, float z) {
return (2.0f + x + y) * 0.25f;
}
};
INTENSITY_FUNCTION[4] = new IntensityFunction() {// Sphere: stype = 4 (TEX_SPHERE)
@Override
public float getIntensity(float x, float y, float z) {
float result = 1.0f - (float) Math.sqrt(x * x + y * y + z * z);
return result < 0.0f ? 0.0f : result;
}
};
INTENSITY_FUNCTION[5] = new IntensityFunction() {// Halo: stype = 5 (TEX_HALO)
@Override
public float getIntensity(float x, float y, float z) {
float result = 1.0f - (float) Math.sqrt(x * x + y * y + z * z);
return result <= 0.0f ? 0.0f : result * result;
}
};
INTENSITY_FUNCTION[6] = new IntensityFunction() {// Radial: stype = 6 (TEX_RAD)
@Override
public float getIntensity(float x, float y, float z) {
return (float) Math.atan2(y, x) * FastMath.INV_TWO_PI + 0.5f;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -45,51 +45,61 @@ public class TextureGeneratorMagic extends TextureGenerator {
private static NoiseDepthFunction[] noiseDepthFunctions = new NoiseDepthFunction[10];
static {
noiseDepthFunctions[0] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[1] = -(float) Math.cos(xyz[0] - xyz[1] + xyz[2]) * turbulence;
}
};
noiseDepthFunctions[1] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[0] = (float) Math.cos(xyz[0] - xyz[1] - xyz[2]) * turbulence;
}
};
noiseDepthFunctions[2] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[2] = (float) Math.sin(-xyz[0] - xyz[1] - xyz[2]) * turbulence;
}
};
noiseDepthFunctions[3] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[0] = -(float) Math.cos(-xyz[0] + xyz[1] - xyz[2]) * turbulence;
}
};
noiseDepthFunctions[4] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[1] = -(float) Math.sin(-xyz[0] + xyz[1] + xyz[2]) * turbulence;
}
};
noiseDepthFunctions[5] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[1] = -(float) Math.cos(-xyz[0] + xyz[1] + xyz[2]) * turbulence;
}
};
noiseDepthFunctions[6] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[0] = (float) Math.cos(xyz[0] + xyz[1] + xyz[2]) * turbulence;
}
};
noiseDepthFunctions[7] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[2] = (float) Math.sin(xyz[0] + xyz[1] - xyz[2]) * turbulence;
}
};
noiseDepthFunctions[8] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[0] = -(float) Math.cos(-xyz[0] - xyz[1] + xyz[2]) * turbulence;
}
};
noiseDepthFunctions[9] = new NoiseDepthFunction() {
@Override
public void compute(float[] xyz, float turbulence) {
xyz[1] = -(float) Math.sin(xyz[0] - xyz[1] + xyz[2]) * turbulence;
}

@ -95,12 +95,14 @@ public class TextureGeneratorWood extends TextureGenerator {
static {
waveformFunctions[0] = new WaveForm() {// sinus (TEX_SIN)
@Override
public float execute(float x) {
return 0.5f + 0.5f * (float) Math.sin(x);
}
};
waveformFunctions[1] = new WaveForm() {// saw (TEX_SAW)
@Override
public float execute(float x) {
int n = (int) (x * FastMath.INV_TWO_PI);
x -= n * FastMath.TWO_PI;
@ -112,6 +114,7 @@ public class TextureGeneratorWood extends TextureGenerator {
};
waveformFunctions[2] = new WaveForm() {// triangle (TEX_TRI)
@Override
public float execute(float x) {
return 1.0f - 2.0f * FastMath.abs((float) Math.floor(x * FastMath.INV_TWO_PI + 0.5f) - x * FastMath.INV_TWO_PI);
}

@ -11,6 +11,7 @@ import jme3tools.converters.RGB565;
* @author Marcin Roguski (Kaelthas)
*/
/* package */class AWTPixelInputOutput implements PixelInputOutput {
@Override
public void read(Image image, int layer, TexturePixel pixel, int index) {
ByteBuffer data = image.getData(layer);
switch (image.getFormat()) {
@ -64,11 +65,13 @@ import jme3tools.converters.RGB565;
}
}
@Override
public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
int index = (y * image.getWidth() + x) * (image.getFormat().getBitsPerPixel() >> 3);
this.read(image, layer, pixel, index);
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int index) {
ByteBuffer data = image.getData(layer);
switch (image.getFormat()) {
@ -149,6 +152,7 @@ import jme3tools.converters.RGB565;
}
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
int index = (y * image.getWidth() + x) * (image.getFormat().getBitsPerPixel() >> 3);
this.write(image, layer, pixel, index);

@ -15,10 +15,12 @@ import jme3tools.converters.RGB565;
/**
* For this class the index should be considered as a pixel index in AWT image format.
*/
@Override
public void read(Image image, int layer, TexturePixel pixel, int index) {
this.read(image, layer, pixel, index % image.getWidth(), index / image.getWidth());
}
@Override
public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
int xTexetlIndex = x % image.getWidth() >> 2;
int yTexelIndex = y % image.getHeight() >> 2;
@ -161,10 +163,12 @@ import jme3tools.converters.RGB565;
pixel.alpha = alpha;
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int index) {
throw new UnsupportedOperationException("Cannot put the DXT pixel by index because not every index contains the pixel color!");
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
throw new UnsupportedOperationException("Writing to DDS texture pixel by pixel is not yet supported!");
}

@ -11,6 +11,7 @@ import java.nio.ByteBuffer;
* @author Marcin Roguski (Kaelthas)
*/
/* package */class LuminancePixelInputOutput implements PixelInputOutput {
@Override
public void read(Image image, int layer, TexturePixel pixel, int index) {
ByteBuffer data = image.getData(layer);
switch (image.getFormat()) {
@ -36,11 +37,13 @@ import java.nio.ByteBuffer;
}
}
@Override
public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
int index = y * image.getWidth() + x;
this.read(image, layer, pixel, index);
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int index) {
ByteBuffer data = image.getData(layer);
data.put(index, pixel.getInt());
@ -67,6 +70,7 @@ import java.nio.ByteBuffer;
}
}
@Override
public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
int index = y * image.getWidth() + x;
this.write(image, layer, pixel, index);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -182,6 +182,7 @@ public class BulletAppState
executor = new ScheduledThreadPoolExecutor(1);
final BulletAppState app = this;
Callable<Boolean> call = new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
detachedPhysicsLastUpdate = System.currentTimeMillis();
pSpace = new PhysicsSpace(worldMin, worldMax, broadphaseType);
@ -200,6 +201,7 @@ public class BulletAppState
}
}
private Callable<Boolean> parallelPhysicsUpdate = new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
pSpace.update(tpf * getSpeed());
return true;
@ -207,6 +209,7 @@ public class BulletAppState
};
long detachedPhysicsLastUpdate = 0;
private Callable<Boolean> detachedPhysicsUpdate = new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
pSpace.update(getPhysicsSpace().getAccuracy() * getSpeed());
pSpace.distributeEvents();
@ -484,6 +487,7 @@ public class BulletAppState
* @param space the space that is about to be stepped (not null)
* @param f the time per physics step (in seconds, &ge;0)
*/
@Override
public void prePhysicsTick(PhysicsSpace space, float f) {
}
@ -494,6 +498,7 @@ public class BulletAppState
* @param space the space that is about to be stepped (not null)
* @param f the time per physics step (in seconds, &ge;0)
*/
@Override
public void physicsTick(PhysicsSpace space, float f) {
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -89,6 +89,7 @@ public class ChildCollisionShape implements Savable {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule capsule = ex.getCapsule(this);
capsule.write(location, "location", new Vector3f());
@ -102,6 +103,7 @@ public class ChildCollisionShape implements Savable {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule capsule = im.getCapsule(this);
location = (Vector3f) capsule.readSavable("location", new Vector3f());

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -231,6 +231,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
*
* @param spatial the spatial to control (or null)
*/
@Override
public void setSpatial(Spatial spatial) {
if (this.spatial != null && this.spatial != spatial) {
removeSpatialData(this.spatial);
@ -262,6 +263,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
*
* @param enabled true&rarr;enable the control, false&rarr;disable it
*/
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (space != null) {
@ -284,13 +286,16 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
*
* @return true if enabled, otherwise false
*/
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void update(float tpf) {
}
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@ -326,6 +331,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
*
* @return the pre-existing space, or null for none
*/
@Override
public PhysicsSpace getPhysicsSpace() {
return space;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -194,6 +194,7 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
* @param space the space that is about to be stepped (not null)
* @param tpf the time per physics step (in seconds, &ge;0)
*/
@Override
public void prePhysicsTick(PhysicsSpace space, float tpf) {
checkOnGround();
if (wantToUnDuck && checkCanUnDuck()) {
@ -245,6 +246,7 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
* @param space the space that was just stepped (not null)
* @param tpf the time per physics step (in seconds, &ge;0)
*/
@Override
public void physicsTick(PhysicsSpace space, float tpf) {
rigidBody.getLinearVelocity(velocity);
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -120,6 +120,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
this.spatial = cloner.clone(spatial);
}
@Override
public void setSpatial(Spatial spatial) {
this.spatial = spatial;
setUserObject(spatial);
@ -136,6 +137,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
return this.spatial;
}
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (space != null) {
@ -152,6 +154,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
}
}
@Override
public boolean isEnabled() {
return enabled;
}
@ -172,6 +175,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
this.useViewDirection = viewDirectionEnabled;
}
@Override
public void update(float tpf) {
if (enabled && spatial != null) {
Quaternion localRotationQuat = spatial.getLocalRotation();
@ -195,6 +199,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
}
}
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@ -225,6 +230,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
space = newSpace;
}
@Override
public PhysicsSpace getPhysicsSpace() {
return space;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -196,6 +196,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
*
* @param spatial the spatial to control (or null)
*/
@Override
public void setSpatial(Spatial spatial) {
this.spatial = spatial;
setUserObject(spatial);
@ -222,6 +223,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
*
* @param enabled true&rarr;enable the control, false&rarr;disable it
*/
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (space != null) {
@ -244,6 +246,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
*
* @return true if enabled, otherwise false
*/
@Override
public boolean isEnabled() {
return enabled;
}
@ -255,6 +258,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
*
* @param tpf the time interval between frames (in seconds, &ge;0)
*/
@Override
public void update(float tpf) {
if (!enabled) {
return;
@ -271,6 +275,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
* @param rm the render manager (not null)
* @param vp the view port to render (not null)
*/
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@ -307,6 +312,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
*
* @return the pre-existing space, or null for none
*/
@Override
public PhysicsSpace getPhysicsSpace() {
return space;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -817,6 +817,7 @@ public class KinematicRagdollControl extends AbstractPhysicsControl implements P
*
* @param event (not null)
*/
@Override
public void collision(PhysicsCollisionEvent event) {
PhysicsCollisionObject objA = event.getObjectA();
PhysicsCollisionObject objB = event.getObjectB();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -193,6 +193,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
*
* @param spatial the spatial to control (or null)
*/
@Override
public void setSpatial(Spatial spatial) {
this.spatial = spatial;
setUserObject(spatial);
@ -249,6 +250,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
*
* @param enabled true&rarr;enable the control, false&rarr;disable it
*/
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (space != null) {
@ -271,6 +273,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
*
* @return true if enabled, otherwise false
*/
@Override
public boolean isEnabled() {
return enabled;
}
@ -347,6 +350,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
*
* @param tpf the time interval between frames (in seconds, &ge;0)
*/
@Override
public void update(float tpf) {
if (enabled && spatial != null) {
if (isKinematic() && kinematicSpatial) {
@ -366,6 +370,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
* @param rm the render manager (not null)
* @param vp the view port to render (not null)
*/
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@ -401,6 +406,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
*
* @return the pre-existing space, or null for none
*/
@Override
public PhysicsSpace getPhysicsSpace() {
return space;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -159,6 +159,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @return a new control (not null)
*/
@Override
public Object jmeClone() {
VehicleControl control = new VehicleControl(collisionShape, mass);
control.setAngularFactor(getAngularFactor());
@ -231,6 +232,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @param spatial spatial to control (or null)
*/
@Override
public void setSpatial(Spatial spatial) {
this.spatial = spatial;
setUserObject(spatial);
@ -250,6 +252,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @param enabled true&rarr;enable the control, false&rarr;disable it
*/
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (space != null) {
@ -272,6 +275,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @return true if enabled, otherwise false
*/
@Override
public boolean isEnabled() {
return enabled;
}
@ -282,6 +286,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @param tpf the time interval between frames (in seconds, &ge;0)
*/
@Override
public void update(float tpf) {
if (enabled && spatial != null) {
if (getMotionState().applyTransform(spatial)) {
@ -301,6 +306,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
* @param rm the render manager (not null)
* @param vp the view port to render (not null)
*/
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@ -336,6 +342,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
*
* @return the pre-existing space, or null for none
*/
@Override
public PhysicsSpace getPhysicsSpace() {
return space;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -86,6 +86,7 @@ public class BoxCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -98,6 +99,7 @@ public class BoxCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -141,6 +141,7 @@ public class CapsuleCollisionShape extends CollisionShape{
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -155,6 +156,7 @@ public class CapsuleCollisionShape extends CollisionShape{
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -201,6 +201,7 @@ public abstract class CollisionShape implements Savable {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule capsule = ex.getCapsule(this);
capsule.write(scale, "scale", new Vector3f(1, 1, 1));

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -152,6 +152,7 @@ public class CompoundCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -164,6 +165,7 @@ public class CompoundCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -119,6 +119,7 @@ public class ConeCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -133,6 +134,7 @@ public class ConeCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -128,6 +128,7 @@ public class CylinderCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -141,6 +142,7 @@ public class CylinderCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -122,6 +122,7 @@ public class GImpactCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -141,6 +142,7 @@ public class GImpactCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -193,6 +193,7 @@ public class HeightfieldCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -212,6 +213,7 @@ public class HeightfieldCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -84,6 +84,7 @@ public class PlaneCollisionShape extends CollisionShape{
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -96,6 +97,7 @@ public class PlaneCollisionShape extends CollisionShape{
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -118,6 +118,7 @@ public class SimplexCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -133,6 +134,7 @@ public class SimplexCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -85,6 +85,7 @@ public class SphereCollisionShape extends CollisionShape {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -97,6 +98,7 @@ public class SphereCollisionShape extends CollisionShape {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -242,6 +242,7 @@ public class HingeJoint extends PhysicsJoint {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
super.write(ex);
OutputCapsule capsule = ex.getCapsule(this);
@ -268,6 +269,7 @@ public class HingeJoint extends PhysicsJoint {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
super.read(im);
InputCapsule capsule = im.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -192,6 +192,7 @@ public abstract class PhysicsJoint implements Savable {
* @param ex exporter (not null)
* @throws IOException from exporter
*/
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule capsule = ex.getCapsule(this);
capsule.write(nodeA, "nodeA", null);
@ -206,6 +207,7 @@ public abstract class PhysicsJoint implements Savable {
* @param im importer (not null)
* @throws IOException from importer
*/
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule capsule = im.getCapsule(this);
this.nodeA = ((PhysicsRigidBody) capsule.readSavable("nodeA", null));

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -794,6 +794,7 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
*
* @param collisionShape the shape to apply (not null, alias created)
*/
@Override
public void setCollisionShape(CollisionShape collisionShape) {
super.setCollisionShape(collisionShape);
if (collisionShape instanceof MeshCollisionShape && mass != 0) {

@ -216,6 +216,7 @@ public class Joint implements Savable, JmeCloneable, HasLocalTransform {
this.name = name;
}
@Override
public void setLocalTransform(Transform localTransform) {
this.localTransform.set(localTransform);
}
@ -272,6 +273,7 @@ public class Joint implements Savable, JmeCloneable, HasLocalTransform {
return initialTransform;
}
@Override
public Transform getLocalTransform() {
return localTransform;
}

@ -22,6 +22,7 @@ public class MatrixJointModelTransform implements JointModelTransform {
}
@Override
public void getOffsetTransform(Matrix4f outTransform, Matrix4f inverseModelBindMatrix) {
modelTransformMatrix.mult(inverseModelBindMatrix, outTransform);
}

@ -23,6 +23,7 @@ public class SeparateJointModelTransform implements JointModelTransform {
}
}
@Override
public void getOffsetTransform(Matrix4f outTransform, Matrix4f inverseModelBindMatrix) {
modelTransform.toTransformMatrix(outTransform).mult(inverseModelBindMatrix, outTransform);
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -208,10 +208,12 @@ public class TransformTrack implements AnimTrack<Transform> {
}
}
@Override
public double getLength() {
return length;
}
@Override
public void getDataAtTime(double t, Transform transform) {
float time = (float) t;

@ -49,6 +49,7 @@ public class BlendAction extends BlendableAction {
}
}
@Override
public void doInterpolate(double t) {
blendWeight = blendSpace.getWeight();
BlendableAction firstActiveAction = (BlendableAction) actions[firstActiveIndex];

@ -63,6 +63,7 @@ public class ClipAction extends BlendableAction {
}
@Override
public String toString() {
return clip.toString();
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -73,10 +73,12 @@ public class AudioTrack implements ClonableTrack {
//Animation listener to stop the sound when the animation ends or is changed
private class OnEndListener implements AnimEventListener {
@Override
public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) {
stop();
}
@Override
public void onAnimChange(AnimControl control, AnimChannel channel, String animName) {
}
}
@ -120,6 +122,7 @@ public class AudioTrack implements ClonableTrack {
* @see Track#setTime(float, float, com.jme3.animation.AnimControl,
* com.jme3.animation.AnimChannel, com.jme3.util.TempVars)
*/
@Override
public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
if (time >= length) {
@ -146,6 +149,7 @@ public class AudioTrack implements ClonableTrack {
*
* @return length of the track
*/
@Override
public float getLength() {
return length;
}
@ -255,6 +259,7 @@ public class AudioTrack implements ClonableTrack {
data.addTrack(audioTrack);
}
@Override
public void cleanUp() {
TrackInfo t = (TrackInfo) audio.getUserData("TrackInfo");
t.getTracks().remove(this);
@ -308,6 +313,7 @@ public class AudioTrack implements ClonableTrack {
* @param ex exporter
* @throws IOException exception
*/
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule out = ex.getCapsule(this);
out.write(audio, "audio", null);
@ -321,6 +327,7 @@ public class AudioTrack implements ClonableTrack {
* @param im importer
* @throws IOException Exception
*/
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule in = im.getCapsule(this);
audio = (AudioNode) in.readSavable("audio", null);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -202,6 +202,7 @@ public final class BoneTrack implements JmeCloneable, Track {
* @param channel
* @param vars
*/
@Override
public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
BitSet affectedBones = channel.getAffectedBones();
if (affectedBones != null && !affectedBones.get(targetBoneIndex)) {
@ -268,6 +269,7 @@ public final class BoneTrack implements JmeCloneable, Track {
/**
* @return the length of the track
*/
@Override
public float getLength() {
return times == null ? 0 : times[times.length - 1] - times[0];
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -117,6 +117,7 @@ public final class Pose implements Savable, Cloneable {
}
}
@Override
public void write(JmeExporter e) throws IOException {
OutputCapsule out = e.getCapsule(this);
out.write(name, "name", "");
@ -125,6 +126,7 @@ public final class Pose implements Savable, Cloneable {
out.write(indices, "indices", null);
}
@Override
public void read(JmeImporter i) throws IOException {
InputCapsule in = i.getCapsule(this);
name = in.readString("name", "");

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -87,12 +87,14 @@ public final class PoseTrack implements Track {
}
}
@Override
public void write(JmeExporter e) throws IOException {
OutputCapsule out = e.getCapsule(this);
out.write(poses, "poses", null);
out.write(weights, "weights", null);
}
@Override
public void read(JmeImporter i) throws IOException {
InputCapsule in = i.getCapsule(this);
weights = in.readFloatArray("weights", null);
@ -132,6 +134,7 @@ public final class PoseTrack implements Track {
pb.updateData(pb.getData());
}
@Override
public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
// TODO: When MeshControl is created, it will gather targets
// list automatically which is then retrieved here.
@ -161,6 +164,7 @@ public final class PoseTrack implements Track {
/**
* @return the length of the track
*/
@Override
public float getLength() {
return times == null ? 0 : times[times.length - 1] - times[0];
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -101,6 +101,7 @@ public class SpatialTrack implements JmeCloneable, Track {
* @param time
* the current time of the animation
*/
@Override
public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
Spatial spatial = trackSpatial;
if (spatial == null) {
@ -242,6 +243,7 @@ public class SpatialTrack implements JmeCloneable, Track {
/**
* @return the length of the track
*/
@Override
public float getLength() {
return times == null ? 0 : times[times.length - 1] - times[0];
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -55,11 +55,13 @@ public class TrackInfo implements Savable, JmeCloneable {
public TrackInfo() {
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule c = ex.getCapsule(this);
c.writeSavableArrayList(tracks, "tracks", null);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule c = im.getCapsule(this);
tracks = c.readSavableArrayList("tracks", null);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -66,6 +66,7 @@ public class AppTask<V> implements Future<V> {
this.callable = callable;
}
@Override
public boolean cancel(boolean mayInterruptIfRunning) {
stateLock.lock();
try {
@ -82,6 +83,7 @@ public class AppTask<V> implements Future<V> {
}
}
@Override
public V get() throws InterruptedException, ExecutionException {
stateLock.lock();
try {
@ -97,6 +99,7 @@ public class AppTask<V> implements Future<V> {
}
}
@Override
public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
stateLock.lock();
try {
@ -115,6 +118,7 @@ public class AppTask<V> implements Future<V> {
}
}
@Override
public boolean isCancelled() {
stateLock.lock();
try {
@ -124,6 +128,7 @@ public class AppTask<V> implements Future<V> {
}
}
@Override
public boolean isDone() {
stateLock.lock();
try {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -129,6 +129,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
inputManager.setCursorVisible(dragToRotate);
}
@Override
public void onAction(String name, boolean keyPressed, float tpf) {
if (isEnabled()) {
if (dragToRotate) {
@ -150,6 +151,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
}
@Override
public void onAnalog(String name, float value, float tpf) {
if (isEnabled()) {
if (canRotate) {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -94,6 +94,7 @@ public class DebugKeysAppState extends AbstractAppState {
private class DebugKeyListener implements ActionListener {
@Override
public void onAction(String name, boolean value, float tpf) {
if (!value) {
return;

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -126,6 +126,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @return The lost focus behavior of the application.
*/
@Override
public LostFocusBehavior getLostFocusBehavior() {
return lostFocusBehavior;
}
@ -142,6 +143,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see LostFocusBehavior
*/
@Override
public void setLostFocusBehavior(LostFocusBehavior lostFocusBehavior) {
this.lostFocusBehavior = lostFocusBehavior;
}
@ -153,6 +155,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see #getLostFocusBehavior()
*/
@Override
public boolean isPauseOnLostFocus() {
return getLostFocusBehavior() == LostFocusBehavior.PauseOnLostFocus;
}
@ -173,6 +176,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see #setLostFocusBehavior(com.jme3.app.LostFocusBehavior)
*/
@Override
public void setPauseOnLostFocus(boolean pauseOnLostFocus) {
if (pauseOnLostFocus) {
setLostFocusBehavior(LostFocusBehavior.PauseOnLostFocus);
@ -227,6 +231,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @param settings The settings to set.
*/
@Override
public void setSettings(AppSettings settings){
this.settings = settings;
if (context != null && settings.useInput() != inputEnabled){
@ -248,6 +253,7 @@ public class LegacyApplication implements Application, SystemListener {
* frame times. By default, Application will use the Timer as returned
* by the current JmeContext implementation.
*/
@Override
public void setTimer(Timer timer){
this.timer = timer;
@ -260,6 +266,7 @@ public class LegacyApplication implements Application, SystemListener {
}
}
@Override
public Timer getTimer(){
return timer;
}
@ -355,6 +362,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link AssetManager asset manager} for this application.
*/
@Override
public AssetManager getAssetManager(){
return assetManager;
}
@ -362,6 +370,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return the {@link InputManager input manager}.
*/
@Override
public InputManager getInputManager(){
return inputManager;
}
@ -369,6 +378,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return the {@link AppStateManager app state manager}
*/
@Override
public AppStateManager getStateManager() {
return stateManager;
}
@ -376,6 +386,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return the {@link RenderManager render manager}
*/
@Override
public RenderManager getRenderManager() {
return renderManager;
}
@ -383,6 +394,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link Renderer renderer} for the application
*/
@Override
public Renderer getRenderer(){
return renderer;
}
@ -390,6 +402,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link AudioRenderer audio renderer} for the application
*/
@Override
public AudioRenderer getAudioRenderer() {
return audioRenderer;
}
@ -397,6 +410,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link Listener listener} object for audio
*/
@Override
public Listener getListener() {
return listener;
}
@ -404,6 +418,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link JmeContext display context} for the application
*/
@Override
public JmeContext getContext(){
return context;
}
@ -411,6 +426,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* @return The {@link Camera camera} for the application
*/
@Override
public Camera getCamera(){
return cam;
}
@ -420,6 +436,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see #start(com.jme3.system.JmeContext.Type)
*/
@Override
public void start(){
start(JmeContext.Type.Display, false);
}
@ -429,6 +446,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see #start(com.jme3.system.JmeContext.Type)
*/
@Override
public void start(boolean waitFor){
start(JmeContext.Type.Display, waitFor);
}
@ -468,6 +486,7 @@ public class LegacyApplication implements Application, SystemListener {
* specific steps within a single update frame. Value defaults
* to null.
*/
@Override
public void setAppProfiler(AppProfiler prof) {
this.prof = prof;
if (renderManager != null) {
@ -478,6 +497,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Returns the current AppProfiler hook, or null if none is set.
*/
@Override
public AppProfiler getAppProfiler() {
return prof;
}
@ -538,6 +558,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Internal use only.
*/
@Override
public void reshape(int w, int h){
if (renderManager != null) {
renderManager.notifyReshape(w, h);
@ -551,6 +572,7 @@ public class LegacyApplication implements Application, SystemListener {
* applied immediately; calling this method forces the context
* to restart, applying the new settings.
*/
@Override
public void restart(){
context.setSettings(settings);
context.restart();
@ -564,6 +586,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @see #stop(boolean)
*/
@Override
public void stop(){
stop(false);
}
@ -573,6 +596,7 @@ public class LegacyApplication implements Application, SystemListener {
* and making necessary cleanup operations.
* After the application has stopped, it cannot be used anymore.
*/
@Override
public void stop(boolean waitFor){
logger.log(Level.FINE, "Closing application: {0}", getClass().getName());
context.destroy(waitFor);
@ -588,6 +612,7 @@ public class LegacyApplication implements Application, SystemListener {
* perspective projection with 45° field of view, with near
* and far values 1 and 1000 units respectively.
*/
@Override
public void initialize(){
if (assetManager == null){
initAssetManager();
@ -611,6 +636,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Internal use only.
*/
@Override
public void handleError(String errMsg, Throwable t){
// Print error to log.
logger.log(Level.SEVERE, errMsg, t);
@ -630,6 +656,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Internal use only.
*/
@Override
public void gainFocus(){
if (lostFocusBehavior != LostFocusBehavior.Disabled) {
if (lostFocusBehavior == LostFocusBehavior.PauseOnLostFocus) {
@ -645,6 +672,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Internal use only.
*/
@Override
public void loseFocus(){
if (lostFocusBehavior != LostFocusBehavior.Disabled){
if (lostFocusBehavior == LostFocusBehavior.PauseOnLostFocus) {
@ -657,6 +685,7 @@ public class LegacyApplication implements Application, SystemListener {
/**
* Internal use only.
*/
@Override
public void requestClose(boolean esc){
context.destroy(false);
}
@ -671,6 +700,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @param callable The callable to run in the main jME3 thread
*/
@Override
public <V> Future<V> enqueue(Callable<V> callable) {
AppTask<V> task = new AppTask<V>(callable);
taskQueue.add(task);
@ -687,6 +717,7 @@ public class LegacyApplication implements Application, SystemListener {
*
* @param runnable The runnable to run in the main jME3 thread
*/
@Override
public void enqueue(Runnable runnable){
enqueue(new RunnableWrapper(runnable));
}
@ -707,6 +738,7 @@ public class LegacyApplication implements Application, SystemListener {
* Do not call manually.
* Callback from ContextListener.
*/
@Override
public void update(){
// Make sure the audio renderer is available to callables
AudioContext.setAudioRenderer(audioRenderer);
@ -752,6 +784,7 @@ public class LegacyApplication implements Application, SystemListener {
* Do not call manually.
* Callback from ContextListener.
*/
@Override
public void destroy(){
stateManager.cleanup();
@ -766,10 +799,12 @@ public class LegacyApplication implements Application, SystemListener {
* @return The GUI viewport. Which is used for the on screen
* statistics and FPS.
*/
@Override
public ViewPort getGuiViewPort() {
return guiViewPort;
}
@Override
public ViewPort getViewPort() {
return viewPort;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -82,6 +82,7 @@ public abstract class SimpleApplication extends LegacyApplication {
private class AppActionListener implements ActionListener {
@Override
public void onAction(String name, boolean value, float tpf) {
if (!value) {
return;

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -96,6 +96,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
return statText.getLineHeight() * statLabels.length;
}
@Override
public void update(float tpf) {
if (!isEnabled())
@ -133,6 +134,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
throw new UnsupportedOperationException("Not yet implemented.");
}
@Override
public void setSpatial(Spatial spatial) {
}
@ -145,6 +147,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
return enabled;
}
@Override
public void render(RenderManager rm, ViewPort vp) {
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -187,6 +187,7 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
super.initialize(stateManager, app);
}
@Override
public void onAction(String name, boolean value, float tpf) {
if (value){
capture = true;
@ -197,6 +198,7 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
capture = true;
}
@Override
public void initialize(RenderManager rm, ViewPort vp) {
renderer = rm.getRenderer();
this.rm = rm;
@ -208,18 +210,22 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
return super.isInitialized() && renderer != null;
}
@Override
public void reshape(ViewPort vp, int w, int h) {
outBuf = BufferUtils.createByteBuffer(w * h * 4);
width = w;
height = h;
}
@Override
public void preFrame(float tpf) {
}
@Override
public void postQueue(RenderQueue rq) {
}
@Override
public void postFrame(FrameBuffer out) {
if (capture){
capture = false;

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -191,11 +191,13 @@ public class AssetKey<T> implements Savable, Cloneable {
return name;
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
oc.write(name, "name", null);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
name = reducePath(ic.readString("name", null));

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -39,10 +39,12 @@ package com.jme3.asset;
*/
public class CloneableAssetProcessor implements AssetProcessor {
@Override
public Object postProcess(AssetKey key, Object obj) {
return obj;
}
@Override
public Object createClone(Object obj) {
CloneableSmartAsset asset = (CloneableSmartAsset) obj;
return asset.clone();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -99,26 +99,32 @@ public class DesktopAssetManager implements AssetManager {
}
}
@Override
public void addClassLoader(ClassLoader loader) {
classLoaders.add(loader);
}
@Override
public void removeClassLoader(ClassLoader loader) {
classLoaders.remove(loader);
}
@Override
public List<ClassLoader> getClassLoaders(){
return Collections.unmodifiableList(classLoaders);
}
@Override
public void addAssetEventListener(AssetEventListener listener) {
eventListeners.add(listener);
}
@Override
public void removeAssetEventListener(AssetEventListener listener) {
eventListeners.remove(listener);
}
@Override
public void clearAssetEventListeners() {
eventListeners.clear();
}
@ -128,6 +134,7 @@ public class DesktopAssetManager implements AssetManager {
eventListeners.add(listener);
}
@Override
public void registerLoader(Class<? extends AssetLoader> loader, String ... extensions){
handler.addLoader(loader, extensions);
if (logger.isLoggable(Level.FINER)){
@ -150,6 +157,7 @@ public class DesktopAssetManager implements AssetManager {
}
}
@Override
public void unregisterLoader(Class<? extends AssetLoader> loaderClass) {
handler.removeLoader(loaderClass);
if (logger.isLoggable(Level.FINER)){
@ -158,6 +166,7 @@ public class DesktopAssetManager implements AssetManager {
}
}
@Override
public void registerLocator(String rootPath, Class<? extends AssetLocator> locatorClass){
handler.addLocator(locatorClass, rootPath);
if (logger.isLoggable(Level.FINER)){
@ -180,6 +189,7 @@ public class DesktopAssetManager implements AssetManager {
}
}
@Override
public void unregisterLocator(String rootPath, Class<? extends AssetLocator> clazz){
handler.removeLocator(clazz, rootPath);
if (logger.isLoggable(Level.FINER)){
@ -188,6 +198,7 @@ public class DesktopAssetManager implements AssetManager {
}
}
@Override
public AssetInfo locateAsset(AssetKey<?> key){
AssetInfo info = handler.tryLocate(key);
if (info == null){
@ -383,48 +394,59 @@ public class DesktopAssetManager implements AssetManager {
return clone;
}
@Override
public Object loadAsset(String name){
return loadAsset(new AssetKey(name));
}
@Override
public Texture loadTexture(TextureKey key){
return (Texture) loadAsset(key);
}
@Override
public Material loadMaterial(String name){
return (Material) loadAsset(new MaterialKey(name));
}
@Override
public Texture loadTexture(String name){
TextureKey key = new TextureKey(name, true);
key.setGenerateMips(true);
return loadTexture(key);
}
@Override
public AudioData loadAudio(AudioKey key){
return (AudioData) loadAsset(key);
}
@Override
public AudioData loadAudio(String name){
return loadAudio(new AudioKey(name, false));
}
@Override
public BitmapFont loadFont(String name){
return (BitmapFont) loadAsset(new AssetKey(name));
}
@Override
public Spatial loadModel(ModelKey key){
return (Spatial) loadAsset(key);
}
@Override
public Spatial loadModel(String name){
return loadModel(new ModelKey(name));
}
@Override
public FilterPostProcessor loadFilter(FilterKey key){
return (FilterPostProcessor) loadAsset(key);
}
@Override
public FilterPostProcessor loadFilter(String name){
return loadFilter(new FilterKey(name));
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -53,6 +53,7 @@ public class ThreadingManager {
}
protected class LoadingThreadFactory implements ThreadFactory {
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r, "jME3-threadpool-" + (nextThreadId++));
t.setDaemon(true);
@ -69,6 +70,7 @@ public class ThreadingManager {
this.assetKey = assetKey;
}
@Override
public T call() throws Exception {
return owner.loadAsset(assetKey);
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -46,25 +46,31 @@ public class SimpleAssetCache implements AssetCache {
private final ConcurrentHashMap<AssetKey, Object> keyToAssetMap = new ConcurrentHashMap<AssetKey, Object>();
@Override
public <T> void addToCache(AssetKey<T> key, T obj) {
keyToAssetMap.put(key, obj);
}
@Override
public <T> void registerAssetClone(AssetKey<T> key, T clone) {
}
@Override
public <T> T getFromCache(AssetKey<T> key) {
return (T) keyToAssetMap.get(key);
}
@Override
public boolean deleteFromCache(AssetKey key) {
return keyToAssetMap.remove(key) != null;
}
@Override
public void clearCache() {
keyToAssetMap.clear();
}
@Override
public void notifyNoAssetClone() {
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -84,6 +84,7 @@ public class WeakRefAssetCache implements AssetCache {
}
}
@Override
public <T> void addToCache(AssetKey<T> key, T obj) {
removeCollectedAssets();
@ -93,6 +94,7 @@ public class WeakRefAssetCache implements AssetCache {
assetCache.put(key, ref);
}
@Override
public <T> T getFromCache(AssetKey<T> key) {
AssetRef ref = assetCache.get(key);
if (ref != null){
@ -102,17 +104,21 @@ public class WeakRefAssetCache implements AssetCache {
}
}
@Override
public boolean deleteFromCache(AssetKey key) {
return assetCache.remove(key) != null;
}
@Override
public void clearCache() {
assetCache.clear();
}
@Override
public <T> void registerAssetClone(AssetKey<T> key, T clone) {
}
@Override
public void notifyNoAssetClone() {
}
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -119,6 +119,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
}
}
@Override
public <T> void addToCache(AssetKey<T> originalKey, T obj) {
// Make room for new asset
removeCollectedAssets();
@ -143,16 +144,19 @@ public class WeakRefCloneAssetCache implements AssetCache {
loadStack.add(originalKey);
}
@Override
public <T> void registerAssetClone(AssetKey<T> key, T clone) {
ArrayList<AssetKey> loadStack = assetLoadStack.get();
((CloneableSmartAsset)clone).setKey(loadStack.remove(loadStack.size() - 1));
}
@Override
public void notifyNoAssetClone() {
ArrayList<AssetKey> loadStack = assetLoadStack.get();
loadStack.remove(loadStack.size() - 1);
}
@Override
public <T> T getFromCache(AssetKey<T> key) {
AssetRef smartInfo = smartCache.get(key);
if (smartInfo == null) {
@ -177,6 +181,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
}
}
@Override
public boolean deleteFromCache(AssetKey key) {
ArrayList<AssetKey> loadStack = assetLoadStack.get();
@ -188,6 +193,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
return smartCache.remove(key) != null;
}
@Override
public void clearCache() {
ArrayList<AssetKey> loadStack = assetLoadStack.get();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -59,6 +59,7 @@ public class AudioBuffer extends AudioData {
super(id);
}
@Override
public DataType getDataType() {
return DataType.Buffer;
}
@ -67,6 +68,7 @@ public class AudioBuffer extends AudioData {
* @return The duration of the audio in seconds. It is expected
* that audio is uncompressed.
*/
@Override
public float getDuration(){
int bytesPerSec = (bitsPerSample / 8) * channels * sampleRate;
if (audioData != null)
@ -98,6 +100,7 @@ public class AudioBuffer extends AudioData {
return audioData;
}
@Override
public void resetObject() {
id = -1;
setUpdateNeeded();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012, 2016, 2018-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -252,6 +252,7 @@ public class AudioNode extends Node implements AudioSource {
/**
* Do not use.
*/
@Override
public final void setChannel(int channel) {
if (status != AudioSource.Status.Stopped) {
throw new IllegalStateException("Can only set source id when stopped");
@ -263,6 +264,7 @@ public class AudioNode extends Node implements AudioSource {
/**
* Do not use.
*/
@Override
public int getChannel() {
return channel;
}
@ -271,6 +273,7 @@ public class AudioNode extends Node implements AudioSource {
* @return The {#link Filter dry filter} that is set.
* @see AudioNode#setDryFilter(com.jme3.audio.Filter)
*/
@Override
public Filter getDryFilter() {
return dryFilter;
}
@ -315,6 +318,7 @@ public class AudioNode extends Node implements AudioSource {
* {@link AudioNode#setAudioData(com.jme3.audio.AudioData, com.jme3.audio.AudioKey) }
* or any of the constructors that initialize the audio data.
*/
@Override
public AudioData getAudioData() {
return data;
}
@ -324,6 +328,7 @@ public class AudioNode extends Node implements AudioSource {
* The status will be changed when either the {@link AudioNode#play() }
* or {@link AudioNode#stop() } methods are called.
*/
@Override
public AudioSource.Status getStatus() {
return status;
}
@ -331,6 +336,7 @@ public class AudioNode extends Node implements AudioSource {
/**
* Do not use.
*/
@Override
public final void setStatus(AudioSource.Status status) {
this.status = status;
}
@ -353,6 +359,7 @@ public class AudioNode extends Node implements AudioSource {
* otherwise, false.
* @see AudioNode#setLooping(boolean)
*/
@Override
public boolean isLooping() {
return loop;
}
@ -373,6 +380,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setPitch(float)
*/
@Override
public float getPitch() {
return pitch;
}
@ -399,6 +407,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setVolume(float)
*/
@Override
public float getVolume() {
return volume;
}
@ -424,6 +433,7 @@ public class AudioNode extends Node implements AudioSource {
/**
* @return the time offset in the sound sample when to start playing.
*/
@Override
public float getTimeOffset() {
return timeOffset;
}
@ -456,6 +466,7 @@ public class AudioNode extends Node implements AudioSource {
return 0;
}
@Override
public Vector3f getPosition() {
return getWorldTranslation();
}
@ -465,6 +476,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setVelocity(com.jme3.math.Vector3f)
*/
@Override
public Vector3f getVelocity() {
return velocity;
}
@ -487,6 +499,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setReverbEnabled(boolean)
*/
@Override
public boolean isReverbEnabled() {
return reverbEnabled;
}
@ -513,6 +526,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setReverbFilter(com.jme3.audio.Filter)
*/
@Override
public Filter getReverbFilter() {
return reverbFilter;
}
@ -538,6 +552,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setMaxDistance(float)
*/
@Override
public float getMaxDistance() {
return maxDistance;
}
@ -572,6 +587,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setRefDistance(float)
*/
@Override
public float getRefDistance() {
return refDistance;
}
@ -601,6 +617,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setDirectional(boolean)
*/
@Override
public boolean isDirectional() {
return directional;
}
@ -626,6 +643,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setDirection(com.jme3.math.Vector3f)
*/
@Override
public Vector3f getDirection() {
return direction;
}
@ -648,6 +666,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setInnerAngle(float)
*/
@Override
public float getInnerAngle() {
return innerAngle;
}
@ -669,6 +688,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setOuterAngle(float)
*/
@Override
public float getOuterAngle() {
return outerAngle;
}
@ -690,6 +710,7 @@ public class AudioNode extends Node implements AudioSource {
*
* @see AudioNode#setPositional(boolean)
*/
@Override
public boolean isPositional() {
return positional;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -115,6 +115,7 @@ public class AudioStream extends AudioData implements Closeable {
return readSamples(buf, 0, buf.length);
}
@Override
public float getDuration() {
return duration;
}
@ -181,6 +182,7 @@ public class AudioStream extends AudioData implements Closeable {
*
* @throws IOException
*/
@Override
public void close() {
if (in != null && open) {
try {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -47,10 +47,12 @@ public abstract class Filter extends NativeObject implements Savable {
super(id);
}
@Override
public void write(JmeExporter ex) throws IOException {
// nothing to save
}
@Override
public void read(JmeImporter im) throws IOException {
// nothing to read
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -76,6 +76,7 @@ public class LowPassFilter extends Filter {
this.updateNeeded = true;
}
@Override
public void write(JmeExporter ex) throws IOException{
super.write(ex);
OutputCapsule oc = ex.getCapsule(this);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -216,6 +216,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
alc.destroyALC();
}
@Override
public void initialize() {
if (decoderThread.isAlive()) {
throw new IllegalStateException("Initialize already called");
@ -237,6 +238,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void run() {
long updateRateNanos = (long) (UPDATE_RATE * 1000000000);
mainloop:
@ -267,6 +269,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void cleanup() {
// kill audio thread
if (!decoderThread.isAlive()) {
@ -359,6 +362,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void updateSourceParam(AudioSource src, AudioParam param) {
checkDead();
synchronized (threadLock) {
@ -585,6 +589,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void updateListenerParam(Listener listener, ListenerParam param) {
checkDead();
synchronized (threadLock) {
@ -651,6 +656,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void setEnvironment(Environment env) {
checkDead();
synchronized (threadLock) {
@ -845,6 +851,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void update(float tpf) {
synchronized (threadLock) {
updateInRenderThread(tpf);
@ -977,6 +984,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
objManager.deleteUnused(this);
}
@Override
public void setListener(Listener listener) {
checkDead();
synchronized (threadLock) {
@ -996,6 +1004,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void pauseAll() {
if (!supportPauseDevice) {
throw new UnsupportedOperationException("Pause device is NOT supported!");
@ -1004,6 +1013,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
alc.alcDevicePauseSOFT();
}
@Override
public void resumeAll() {
if (!supportPauseDevice) {
throw new UnsupportedOperationException("Pause device is NOT supported!");
@ -1012,6 +1022,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
alc.alcDeviceResumeSOFT();
}
@Override
public void playSourceInstance(AudioSource src) {
checkDead();
synchronized (threadLock) {
@ -1049,6 +1060,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void playSource(AudioSource src) {
checkDead();
synchronized (threadLock) {
@ -1087,6 +1099,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void pauseSource(AudioSource src) {
checkDead();
synchronized (threadLock) {
@ -1103,6 +1116,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void stopSource(AudioSource src) {
synchronized (threadLock) {
if (audioDisabled) {
@ -1196,6 +1210,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void deleteFilter(Filter filter) {
int id = filter.getId();
if (id != -1) {
@ -1206,6 +1221,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
}
}
@Override
public void deleteAudioData(AudioData ad) {
synchronized (threadLock) {
if (audioDisabled) {

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2013 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -106,6 +106,7 @@ public class BoundingBox extends BoundingVolume {
setMinMax(min, max);
}
@Override
public Type getType() {
return Type.AABB;
}
@ -117,6 +118,7 @@ public class BoundingBox extends BoundingVolume {
* @param points
* the points to contain.
*/
@Override
public void computeFromPoints(FloatBuffer points) {
containAABB(points);
}
@ -293,6 +295,7 @@ public class BoundingBox extends BoundingVolume {
* @param store
* box to store result in
*/
@Override
public BoundingVolume transform(Transform trans, BoundingVolume store) {
BoundingBox box;
@ -326,6 +329,7 @@ public class BoundingBox extends BoundingVolume {
return box;
}
@Override
public BoundingVolume transform(Matrix4f trans, BoundingVolume store) {
BoundingBox box;
if (store == null || store.getType() != Type.AABB) {
@ -365,6 +369,7 @@ public class BoundingBox extends BoundingVolume {
* @param plane
* the plane to check against.
*/
@Override
public Plane.Side whichSide(Plane plane) {
float radius = FastMath.abs(xExtent * plane.getNormal().getX())
+ FastMath.abs(yExtent * plane.getNormal().getY())
@ -392,6 +397,7 @@ public class BoundingBox extends BoundingVolume {
* @return this box (with its components modified) or null if the second
* volume is of some type other than AABB or Sphere
*/
@Override
public BoundingVolume merge(BoundingVolume volume) {
return mergeLocal(volume);
}
@ -406,6 +412,7 @@ public class BoundingBox extends BoundingVolume {
* @return this box (with its components modified) or null if the second
* volume is of some type other than AABB or Sphere
*/
@Override
public BoundingVolume mergeLocal(BoundingVolume volume) {
if (volume == null) {
return this;
@ -548,6 +555,7 @@ public class BoundingBox extends BoundingVolume {
* a new store is created.
* @return the new BoundingBox
*/
@Override
public BoundingVolume clone(BoundingVolume store) {
if (store != null && store.getType() == Type.AABB) {
BoundingBox rVal = (BoundingBox) store;
@ -584,6 +592,7 @@ public class BoundingBox extends BoundingVolume {
*
* @see BoundingVolume#intersects(com.jme3.bounding.BoundingVolume)
*/
@Override
public boolean intersects(BoundingVolume bv) {
return bv.intersectsBoundingBox(this);
}
@ -593,6 +602,7 @@ public class BoundingBox extends BoundingVolume {
*
* @see BoundingVolume#intersectsSphere(com.jme3.bounding.BoundingSphere)
*/
@Override
public boolean intersectsSphere(BoundingSphere bs) {
return bs.intersectsBoundingBox(this);
}
@ -604,6 +614,7 @@ public class BoundingBox extends BoundingVolume {
*
* @see BoundingVolume#intersectsBoundingBox(com.jme3.bounding.BoundingBox)
*/
@Override
public boolean intersectsBoundingBox(BoundingBox bb) {
assert Vector3f.isValidVector(center) && Vector3f.isValidVector(bb.center);
@ -636,6 +647,7 @@ public class BoundingBox extends BoundingVolume {
*
* @see BoundingVolume#intersects(com.jme3.math.Ray)
*/
@Override
public boolean intersects(Ray ray) {
assert Vector3f.isValidVector(center);
@ -853,6 +865,7 @@ public class BoundingBox extends BoundingVolume {
&& FastMath.abs(center.z - point.z) <= zExtent;
}
@Override
public float distanceToEdge(Vector3f point) {
// compute coordinates of point in box coordinate system
TempVars vars= TempVars.get();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -85,6 +85,7 @@ public class BoundingSphere extends BoundingVolume {
this.radius = r;
}
@Override
public Type getType() {
return Type.Sphere;
}
@ -116,6 +117,7 @@ public class BoundingSphere extends BoundingVolume {
* @param points
* the points to contain.
*/
@Override
public void computeFromPoints(FloatBuffer points) {
calcWelzl(points);
}
@ -383,6 +385,7 @@ public class BoundingSphere extends BoundingVolume {
* @return BoundingVolume
* @return ref
*/
@Override
public BoundingVolume transform(Transform trans, BoundingVolume store) {
BoundingSphere sphere;
if (store == null || store.getType() != BoundingVolume.Type.Sphere) {
@ -398,6 +401,7 @@ public class BoundingSphere extends BoundingVolume {
return sphere;
}
@Override
public BoundingVolume transform(Matrix4f trans, BoundingVolume store) {
BoundingSphere sphere;
if (store == null || store.getType() != BoundingVolume.Type.Sphere) {
@ -441,6 +445,7 @@ public class BoundingSphere extends BoundingVolume {
* the plane to check against.
* @return side
*/
@Override
public Plane.Side whichSide(Plane plane) {
float distance = plane.pseudoDistance(center);
@ -461,6 +466,7 @@ public class BoundingSphere extends BoundingVolume {
* the sphere to combine with this sphere.
* @return a new sphere
*/
@Override
public BoundingVolume merge(BoundingVolume volume) {
if (volume == null) {
return this;
@ -506,6 +512,7 @@ public class BoundingSphere extends BoundingVolume {
* the sphere to combine with this sphere.
* @return this
*/
@Override
public BoundingVolume mergeLocal(BoundingVolume volume) {
if (volume == null) {
return this;
@ -629,6 +636,7 @@ public class BoundingSphere extends BoundingVolume {
* a new store is created.
* @return the new BoundingSphere
*/
@Override
public BoundingVolume clone(BoundingVolume store) {
if (store != null && store.getType() == Type.Sphere) {
BoundingSphere rVal = (BoundingSphere) store;
@ -661,6 +669,7 @@ public class BoundingSphere extends BoundingVolume {
*
* @see com.jme.bounding.BoundingVolume#intersects(com.jme.bounding.BoundingVolume)
*/
@Override
public boolean intersects(BoundingVolume bv) {
return bv.intersectsSphere(this);
}
@ -670,6 +679,7 @@ public class BoundingSphere extends BoundingVolume {
*
* @see com.jme.bounding.BoundingVolume#intersectsSphere(com.jme.bounding.BoundingSphere)
*/
@Override
public boolean intersectsSphere(BoundingSphere bs) {
return Intersection.intersect(bs, center, radius);
}
@ -679,6 +689,7 @@ public class BoundingSphere extends BoundingVolume {
*
* @see com.jme.bounding.BoundingVolume#intersectsBoundingBox(com.jme.bounding.BoundingBox)
*/
@Override
public boolean intersectsBoundingBox(BoundingBox bb) {
return Intersection.intersect(bb, center, radius);
}
@ -697,6 +708,7 @@ public class BoundingSphere extends BoundingVolume {
*
* @see com.jme.bounding.BoundingVolume#intersects(com.jme.math.Ray)
*/
@Override
public boolean intersects(Ray ray) {
assert Vector3f.isValidVector(center);
@ -988,6 +1000,7 @@ public class BoundingSphere extends BoundingVolume {
}
}
@Override
public int collideWith(Collidable other, CollisionResults results) {
if (other instanceof Ray) {
Ray ray = (Ray) other;
@ -1034,6 +1047,7 @@ public class BoundingSphere extends BoundingVolume {
return center.distanceSquared(point) <= (getRadius() * getRadius());
}
@Override
public float distanceToEdge(Vector3f point) {
return center.distance(point) - radius;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -317,10 +317,12 @@ public abstract class BoundingVolume implements Savable, Cloneable, Collidable {
}
}
@Override
public void write(JmeExporter e) throws IOException {
e.getCapsule(this).write(center, "center", Vector3f.ZERO);
}
@Override
public void read(JmeImporter e) throws IOException {
center = (Vector3f) e.getCapsule(this).readSavable("center", Vector3f.ZERO.clone());
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -270,6 +270,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
* @param stateManager the state manager
* @param app the application
*/
@Override
public void initialize(AppStateManager stateManager, Application app) {
initEvent(app, this);
for (CinematicEvent cinematicEvent : cinematicEvents) {
@ -288,6 +289,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @return true if initialized, otherwise false
*/
@Override
public boolean isInitialized() {
return initialized;
}
@ -312,6 +314,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @param enabled true or false
*/
@Override
public void setEnabled(boolean enabled) {
if (enabled) {
play();
@ -324,6 +327,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @return true if enabled
*/
@Override
public boolean isEnabled() {
return playState == PlayState.Playing;
}
@ -333,6 +337,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @param stateManager the state manager
*/
@Override
public void stateAttached(AppStateManager stateManager) {
}
@ -341,6 +346,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @param stateManager the state manager
*/
@Override
public void stateDetached(AppStateManager stateManager) {
stop();
}
@ -508,6 +514,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @see AppState#render(com.jme3.renderer.RenderManager)
*/
@Override
public void render(RenderManager rm) {
}
@ -516,6 +523,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @see AppState#postRender()
*/
@Override
public void postRender() {
}
@ -524,6 +532,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
*
* @see AppState#cleanup()
*/
@Override
public void cleanup() {
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -69,12 +69,14 @@ public class KeyFrame implements Savable {
return cinematicEvents.isEmpty();
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
oc.writeSavableArrayList((ArrayList) cinematicEvents, "cinematicEvents", null);
oc.write(index, "index", 0);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
cinematicEvents = ic.readSavableArrayList("cinematicEvents", null);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -104,6 +104,7 @@ public class TimeLine extends HashMap<Integer, KeyFrame> implements Savable {
return lastKeyFrameIndex;
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
ArrayList list = new ArrayList();
@ -111,6 +112,7 @@ public class TimeLine extends HashMap<Integer, KeyFrame> implements Savable {
oc.writeSavableArrayList(list, "keyFrames", null);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
ArrayList list = ic.readSavableArrayList("keyFrames", null);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -104,6 +104,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* or when it was force-stopped during playback.
* By default, this method just calls regular stop().
*/
@Override
public void forceStop(){
stop();
}
@ -111,6 +112,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
/**
* Play this event.
*/
@Override
public void play() {
onPlay();
playState = PlayState.Playing;
@ -131,6 +133,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Used internally only.
* @param tpf time per frame.
*/
@Override
public void internalUpdate(float tpf) {
if (playState == PlayState.Playing) {
time = time + (tpf * speed);
@ -161,6 +164,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Stops the animation.
* Next time when play() is called, the animation starts from the beginning.
*/
@Override
public void stop() {
onStop();
time = 0;
@ -182,6 +186,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Pause this event.
* Next time when play() is called, the animation restarts from here.
*/
@Override
public void pause() {
onPause();
playState = PlayState.Paused;
@ -202,6 +207,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Returns the actual duration of the animation (initialDuration/speed)
* @return the duration (in seconds)
*/
@Override
public float getDuration() {
return initialDuration / speed;
}
@ -212,6 +218,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* At speed = 2, the animation will last initialDuration/2...
* @param speed
*/
@Override
public void setSpeed(float speed) {
this.speed = speed;
}
@ -220,6 +227,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Returns the speed of the animation.
* @return the speed
*/
@Override
public float getSpeed() {
return speed;
}
@ -228,6 +236,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Returns the current playstate of the animation (playing or paused or stopped).
* @return the enum value
*/
@Override
public PlayState getPlayState() {
return playState;
}
@ -236,6 +245,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Returns the initial duration of the animation at speed = 1 in seconds.
* @return the duration in seconds
*/
@Override
public float getInitialDuration() {
return initialDuration;
}
@ -244,6 +254,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Sets the duration of the animation at speed = 1 in seconds.
* @param initialDuration
*/
@Override
public void setInitialDuration(float initialDuration) {
this.initialDuration = initialDuration;
}
@ -253,6 +264,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* @see LoopMode
* @return the enum value
*/
@Override
public LoopMode getLoopMode() {
return loopMode;
}
@ -262,6 +274,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* @see LoopMode
* @param loopMode
*/
@Override
public void setLoopMode(LoopMode loopMode) {
this.loopMode = loopMode;
}
@ -271,6 +284,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* @param ex exporter
* @throws IOException
*/
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
oc.write(playState, "playState", PlayState.Stopped);
@ -284,6 +298,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* @param im importer
* @throws IOException
*/
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
playState = ic.readEnum("playState", PlayState.class, PlayState.Stopped);
@ -297,6 +312,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* @param app
* @param cinematic
*/
@Override
public void initEvent(Application app, Cinematic cinematic) {
}
@ -331,6 +347,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
* Fast-forward the event to the given timestamp. Time=0 is the start of the event.
* @param time the time to fast forward to.
*/
@Override
public void setTime(float time) {
this.time = time ;
}
@ -338,10 +355,12 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
/**
* Return the current timestamp of the event. Time=0 is the start of the event.
*/
@Override
public float getTime() {
return time;
}
@Override
public void dispose() {
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -159,6 +159,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
this.loopMode = loopMode;
}
@Override
public void update(float tpf) {
if (isControl) {
internalUpdate(tpf);
@ -200,6 +201,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
onUpdate(0);
}
@Override
public void onUpdate(float tpf) {
traveledDistance = path.interpolatePath(time, this, tpf);
computeTargetDirection();
@ -457,9 +459,11 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
return playState != PlayState.Stopped;
}
@Override
public void render(RenderManager rm, ViewPort vp) {
}
@Override
public void setSpatial(Spatial spatial) {
this.spatial = spatial;
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -97,6 +97,7 @@ public class CollisionResult implements Comparable<CollisionResult> {
return store;
}
@Override
public int compareTo(CollisionResult other) {
return Float.compare(distance, other.distance);
}
@ -134,6 +135,7 @@ public class CollisionResult implements Comparable<CollisionResult> {
return triangleIndex;
}
@Override
public String toString() {
return "CollisionResult[geometry=" + geometry
+ ", contactPoint=" + contactPoint

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -61,6 +61,7 @@ public class CollisionResults implements Iterable<CollisionResult> {
*
* @return the iterator
*/
@Override
public Iterator<CollisionResult> iterator() {
if (results == null) {
List<CollisionResult> dumbCompiler = Collections.emptyList();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2018 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -412,6 +412,7 @@ class SweepSphere implements Collidable {
}
}
@Override
public int collideWith(Collidable other, CollisionResults results)
throws UnsupportedCollisionException {
if (other instanceof AbstractTriangle){

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -111,6 +111,7 @@ public final class BIHNode implements Savable {
this.rightPlane = rightPlane;
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
oc.write(leftIndex, "left_index", 0);
@ -122,6 +123,7 @@ public final class BIHNode implements Savable {
oc.write(right, "right_node", null);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
leftIndex = ic.readInt("left_index", 0);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -461,6 +461,7 @@ public class BIHTree implements CollisionData {
return root.intersectWhere(bv, bbox, worldMatrix, this, results);
}
@Override
public int collideWith(Collidable other,
Matrix4f worldMatrix,
BoundingVolume worldBound,
@ -477,6 +478,7 @@ public class BIHTree implements CollisionData {
}
}
@Override
public void write(JmeExporter ex) throws IOException {
OutputCapsule oc = ex.getCapsule(this);
oc.write(mesh, "mesh", null);
@ -486,6 +488,7 @@ public class BIHTree implements CollisionData {
oc.write(triIndices, "indices", null);
}
@Override
public void read(JmeImporter im) throws IOException {
InputCapsule ic = im.getCapsule(this);
mesh = (Mesh) ic.readSavable("mesh", null);

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -42,6 +42,7 @@ public class TriangleAxisComparator implements Comparator<BIHTriangle> {
this.axis = axis;
}
@Override
public int compare(BIHTriangle o1, BIHTriangle o2) {
float v1, v2;
Vector3f c1 = o1.getCenter();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -141,6 +141,7 @@ public class ParticleEmitter extends Geometry {
this.parentEmitter = cloner.clone(parentEmitter);
}
@Override
public void setSpatial(Spatial spatial) {
}
@ -152,17 +153,21 @@ public class ParticleEmitter extends Geometry {
return parentEmitter.isEnabled();
}
@Override
public void update(float tpf) {
parentEmitter.updateFromControl(tpf);
}
@Override
public void render(RenderManager rm, ViewPort vp) {
parentEmitter.renderFromControl(rm, vp);
}
@Override
public void write(JmeExporter ex) throws IOException {
}
@Override
public void read(JmeImporter im) throws IOException {
}
}
@ -180,6 +185,7 @@ public class ParticleEmitter extends Geometry {
/**
* The old clone() method that did not use the new Cloner utility.
*/
@Override
public ParticleEmitter oldClone(boolean cloneMaterial) {
ParticleEmitter clone = (ParticleEmitter) super.clone(cloneMaterial);
clone.shape = shape.deepClone();

@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2012 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -41,8 +41,10 @@ import java.io.IOException;
* @author Kirill Vainer
*/
public class NullSavable implements Savable {
@Override
public void write(JmeExporter ex) throws IOException {
}
@Override
public void read(JmeImporter im) throws IOException {
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save