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

jme3-core resolve javadoc warnings (#1493)

* jme3-core: resolve javadoc warnings, part 1

* jme3-core: resolve javadoc warnings, part 2

* jme3-core: resolve javadoc warnings, part 3

* jme3-core: resolve javadoc warnings, part 4

* jme3-core: resolve javadoc warnings, part 5

* jme3-core: resolve javadoc warnings, part 6

* jme3-core: resolve javadoc warnings, part 7

* jme3-core: resolve javadoc warnings, part 8

* jme3-core: resolve javadoc warnings, part 9

* build.gradle: don't suppress doclint warnings

* partial revert: some parameters documented more than once
Stephen Gold пре 4 година
родитељ
комит
92a94790a2
100 измењених фајлова са 694 додато и 292 уклоњено
  1. 0 7
      jme3-core/build.gradle
  2. 2 0
      jme3-core/src/main/java/checkers/quals/DefaultQualifier.java
  3. 1 1
      jme3-core/src/main/java/checkers/quals/DefaultQualifiers.java
  4. 2 2
      jme3-core/src/main/java/checkers/quals/Dependent.java
  5. 1 1
      jme3-core/src/main/java/checkers/quals/SubtypeOf.java
  6. 2 0
      jme3-core/src/main/java/checkers/quals/Unused.java
  7. 15 0
      jme3-core/src/main/java/com/jme3/anim/AnimComposer.java
  8. 6 6
      jme3-core/src/main/java/com/jme3/anim/Armature.java
  9. 6 0
      jme3-core/src/main/java/com/jme3/anim/ArmatureMask.java
  10. 4 1
      jme3-core/src/main/java/com/jme3/anim/MorphTrack.java
  11. 3 2
      jme3-core/src/main/java/com/jme3/anim/SkinningControl.java
  12. 2 1
      jme3-core/src/main/java/com/jme3/anim/TransformTrack.java
  13. 6 1
      jme3-core/src/main/java/com/jme3/anim/tween/Tween.java
  14. 31 1
      jme3-core/src/main/java/com/jme3/anim/tween/Tweens.java
  15. 5 1
      jme3-core/src/main/java/com/jme3/anim/util/Primitives.java
  16. 13 1
      jme3-core/src/main/java/com/jme3/animation/AnimChannel.java
  17. 1 1
      jme3-core/src/main/java/com/jme3/animation/AnimControl.java
  18. 3 3
      jme3-core/src/main/java/com/jme3/animation/Animation.java
  19. 5 4
      jme3-core/src/main/java/com/jme3/animation/AnimationUtils.java
  20. 3 3
      jme3-core/src/main/java/com/jme3/animation/AudioTrack.java
  21. 22 7
      jme3-core/src/main/java/com/jme3/animation/Bone.java
  22. 4 4
      jme3-core/src/main/java/com/jme3/animation/BoneTrack.java
  23. 19 11
      jme3-core/src/main/java/com/jme3/animation/CompactArray.java
  24. 2 2
      jme3-core/src/main/java/com/jme3/animation/EffectTrack.java
  25. 9 5
      jme3-core/src/main/java/com/jme3/animation/Skeleton.java
  26. 2 1
      jme3-core/src/main/java/com/jme3/animation/SkeletonControl.java
  27. 2 1
      jme3-core/src/main/java/com/jme3/animation/Track.java
  28. 16 1
      jme3-core/src/main/java/com/jme3/app/Application.java
  29. 6 0
      jme3-core/src/main/java/com/jme3/app/BasicProfiler.java
  30. 18 13
      jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java
  31. 17 0
      jme3-core/src/main/java/com/jme3/app/LegacyApplication.java
  32. 2 0
      jme3-core/src/main/java/com/jme3/app/SimpleApplication.java
  33. 3 1
      jme3-core/src/main/java/com/jme3/app/StatsAppState.java
  34. 3 1
      jme3-core/src/main/java/com/jme3/app/state/AbstractAppState.java
  35. 2 0
      jme3-core/src/main/java/com/jme3/app/state/AppState.java
  36. 22 5
      jme3-core/src/main/java/com/jme3/app/state/AppStateManager.java
  37. 3 1
      jme3-core/src/main/java/com/jme3/app/state/BaseAppState.java
  38. 5 0
      jme3-core/src/main/java/com/jme3/app/state/ConstantVerifierState.java
  39. 3 1
      jme3-core/src/main/java/com/jme3/app/state/RootNodeAppState.java
  40. 5 0
      jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java
  41. 2 2
      jme3-core/src/main/java/com/jme3/asset/AssetEventListener.java
  42. 2 1
      jme3-core/src/main/java/com/jme3/asset/AssetLoader.java
  43. 3 3
      jme3-core/src/main/java/com/jme3/asset/AssetLocator.java
  44. 7 1
      jme3-core/src/main/java/com/jme3/asset/AssetManager.java
  45. 3 2
      jme3-core/src/main/java/com/jme3/asset/AssetProcessor.java
  46. 6 6
      jme3-core/src/main/java/com/jme3/asset/cache/AssetCache.java
  47. 2 1
      jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java
  48. 3 1
      jme3-core/src/main/java/com/jme3/audio/AudioKey.java
  49. 3 1
      jme3-core/src/main/java/com/jme3/audio/AudioNode.java
  50. 6 0
      jme3-core/src/main/java/com/jme3/audio/AudioSource.java
  51. 16 12
      jme3-core/src/main/java/com/jme3/audio/openal/AL.java
  52. 6 4
      jme3-core/src/main/java/com/jme3/audio/openal/ALC.java
  53. 3 3
      jme3-core/src/main/java/com/jme3/bounding/BoundingBox.java
  54. 3 3
      jme3-core/src/main/java/com/jme3/bounding/BoundingSphere.java
  55. 6 2
      jme3-core/src/main/java/com/jme3/bounding/BoundingVolume.java
  56. 8 6
      jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java
  57. 9 4
      jme3-core/src/main/java/com/jme3/cinematic/MotionPath.java
  58. 13 10
      jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java
  59. 1 0
      jme3-core/src/main/java/com/jme3/cinematic/events/AnimationEvent.java
  60. 5 5
      jme3-core/src/main/java/com/jme3/cinematic/events/CameraEvent.java
  61. 6 4
      jme3-core/src/main/java/com/jme3/cinematic/events/CinematicEvent.java
  62. 26 12
      jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java
  63. 17 9
      jme3-core/src/main/java/com/jme3/cinematic/events/MotionTrack.java
  64. 3 2
      jme3-core/src/main/java/com/jme3/collision/CollisionResults.java
  65. 3 3
      jme3-core/src/main/java/com/jme3/collision/MotionAllowedListener.java
  66. 10 4
      jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java
  67. 5 1
      jme3-core/src/main/java/com/jme3/effect/ParticleMesh.java
  68. 5 4
      jme3-core/src/main/java/com/jme3/effect/influencers/RadialParticleInfluencer.java
  69. 4 4
      jme3-core/src/main/java/com/jme3/environment/EnvironmentCamera.java
  70. 1 0
      jme3-core/src/main/java/com/jme3/environment/LightProbeFactory.java
  71. 2 2
      jme3-core/src/main/java/com/jme3/environment/generation/IrradianceSphericalHarmonicsGenerator.java
  72. 2 2
      jme3-core/src/main/java/com/jme3/environment/generation/JobProgressAdapter.java
  73. 5 5
      jme3-core/src/main/java/com/jme3/environment/generation/PrefilteredEnvMapFaceGenerator.java
  74. 2 2
      jme3-core/src/main/java/com/jme3/environment/generation/RunnableWithProgress.java
  75. 3 3
      jme3-core/src/main/java/com/jme3/environment/util/EnvMapUtils.java
  76. 4 2
      jme3-core/src/main/java/com/jme3/environment/util/LightsDebugState.java
  77. 1 1
      jme3-core/src/main/java/com/jme3/export/SavableClassUtil.java
  78. 3 2
      jme3-core/src/main/java/com/jme3/font/BitmapFont.java
  79. 12 7
      jme3-core/src/main/java/com/jme3/font/BitmapText.java
  80. 5 0
      jme3-core/src/main/java/com/jme3/input/AbstractJoystick.java
  81. 63 32
      jme3-core/src/main/java/com/jme3/input/ChaseCamera.java
  82. 11 0
      jme3-core/src/main/java/com/jme3/input/DefaultJoystickAxis.java
  83. 2 2
      jme3-core/src/main/java/com/jme3/input/FlyByCamera.java
  84. 5 2
      jme3-core/src/main/java/com/jme3/input/Input.java
  85. 10 6
      jme3-core/src/main/java/com/jme3/input/InputManager.java
  86. 9 1
      jme3-core/src/main/java/com/jme3/input/Joystick.java
  87. 9 1
      jme3-core/src/main/java/com/jme3/input/JoystickAxis.java
  88. 3 1
      jme3-core/src/main/java/com/jme3/input/JoystickButton.java
  89. 32 0
      jme3-core/src/main/java/com/jme3/input/JoystickCompatibilityMappings.java
  90. 7 7
      jme3-core/src/main/java/com/jme3/input/RawInputListener.java
  91. 5 1
      jme3-core/src/main/java/com/jme3/input/controls/JoyAxisTrigger.java
  92. 3 3
      jme3-core/src/main/java/com/jme3/input/controls/JoyButtonTrigger.java
  93. 1 0
      jme3-core/src/main/java/com/jme3/input/event/JoyAxisEvent.java
  94. 2 0
      jme3-core/src/main/java/com/jme3/light/Light.java
  95. 6 4
      jme3-core/src/main/java/com/jme3/light/LightList.java
  96. 3 1
      jme3-core/src/main/java/com/jme3/light/LightProbe.java
  97. 3 2
      jme3-core/src/main/java/com/jme3/light/LightProbeBlendingStrategy.java
  98. 9 0
      jme3-core/src/main/java/com/jme3/light/ProbeArea.java
  99. 5 3
      jme3-core/src/main/java/com/jme3/light/SpotLight.java
  100. 4 0
      jme3-core/src/main/java/com/jme3/material/MatParam.java

+ 0 - 7
jme3-core/build.gradle

@@ -21,13 +21,6 @@ dependencies {
     testCompile project(':jme3-testdata')
 }
 
-javadoc {
-    // Disable doclint for JDK8+.
-    if (JavaVersion.current().isJava8Compatible()){
-        options.addStringOption('Xdoclint:none', '-quiet')
-    }
-}
-
 task updateVersionPropertiesFile {
     def versionFile = file('src/main/resources/com/jme3/system/version.properties')
     def versionFileText = "# THIS IS AN AUTO-GENERATED FILE..\n" +

+ 2 - 0
jme3-core/src/main/java/checkers/quals/DefaultQualifier.java

@@ -36,6 +36,8 @@ public @interface DefaultQualifier {
      * To prevent affecting other type systems, always specify an annotation
      * in your own type hierarchy.  (For example, do not set
      * "checkers.quals.Unqualified" as the default.)
+     * 
+     * @return the name of the default annotation
      */
     String value();
 

+ 1 - 1
jme3-core/src/main/java/checkers/quals/DefaultQualifiers.java

@@ -30,6 +30,6 @@ import java.lang.annotation.Target;
 @Retention(RetentionPolicy.RUNTIME)
 @Target({CONSTRUCTOR, METHOD, FIELD, LOCAL_VARIABLE, PARAMETER, TYPE})
 public @interface DefaultQualifiers {
-    /** The default qualifier settings */
+    /** @return the default qualifier settings */
     DefaultQualifier[] value() default { };
 }

+ 2 - 2
jme3-core/src/main/java/checkers/quals/Dependent.java

@@ -26,12 +26,12 @@ import java.lang.annotation.RetentionPolicy;
 public @interface Dependent {
 
     /**
-     * The class of the refined qualifier to be applied.
+     * @return the class of the refined qualifier to be applied.
      */
     Class<? extends Annotation> result();
 
     /**
-     * The qualifier class of the receiver that causes the {@code result}
+     * @return the qualifier class of the receiver that causes the {@code result}
      * qualifier to be applied.
      */
     Class<? extends Annotation> when();

+ 1 - 1
jme3-core/src/main/java/checkers/quals/SubtypeOf.java

@@ -54,6 +54,6 @@ import java.lang.annotation.*;
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.ANNOTATION_TYPE)
 public @interface SubtypeOf {
-    /** An array of the supertype qualifiers of the annotated qualifier **/
+    /** @return supertype qualifiers of the annotated qualifier **/
     Class<? extends Annotation>[] value();
 }

+ 2 - 0
jme3-core/src/main/java/checkers/quals/Unused.java

@@ -38,6 +38,8 @@ public @interface Unused {
     /**
      * The field that is annotated with @Unused may not be accessed via a
      * receiver that is annotated with the "when" annotation.
+     *
+     * @return the annotation class
      */
     Class<? extends Annotation> when();
 }

+ 15 - 0
jme3-core/src/main/java/com/jme3/anim/AnimComposer.java

@@ -202,6 +202,7 @@ public class AnimComposer extends AbstractControl {
      * Returns current time of the specified layer.
      * 
      * @param layerName The layer from which to get the time.
+     * @return the time (in seconds)
      */
     public double getTime(String layerName) {
         Layer l = layers.get(layerName);
@@ -213,6 +214,8 @@ public class AnimComposer extends AbstractControl {
     
     /**
      * Sets current time on the default layer.
+     *
+     * @param time the desired time (in seconds)
      */
     public void setTime(double time) {
         setTime(DEFAULT_LAYER, time);
@@ -220,6 +223,9 @@ public class AnimComposer extends AbstractControl {
 
     /**
      * Sets current time on the specified layer.
+     *
+     * @param layerName the name of the Layer to modify
+     * @param time the desired time (in seconds)
      */
     public void setTime(String layerName, double time) {
         Layer l = layers.get(layerName);
@@ -326,6 +332,10 @@ public class AnimComposer extends AbstractControl {
     /**
      * Creates an action that will interpolate over an entire sequence
      * of tweens in order.
+     *
+     * @param name a name for the new Action
+     * @param tweens the desired sequence of tweens
+     * @return a new instance
      */
     public BaseAction actionSequence(String name, Tween... tweens) {
         BaseAction action = new BaseAction(Tweens.sequence(tweens));
@@ -336,6 +346,11 @@ public class AnimComposer extends AbstractControl {
     /**
      * Creates an action that blends the named clips using the given blend
      * space.
+     *
+     * @param name a name for the new Action
+     * @param blendSpace how to blend the clips (not null, alias created)
+     * @param clips the names of the clips to be used (not null)
+     * @return a new instance
      */
     public BlendAction actionBlended(String name, BlendSpace blendSpace, String... clips) {
         BlendableAction[] acts = new BlendableAction[clips.length];

+ 6 - 6
jme3-core/src/main/java/com/jme3/anim/Armature.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +113,7 @@ public class Armature implements JmeCloneable, Savable {
      * Sets the JointModelTransform implementation
      * Default is {@link MatrixJointModelTransform}
      *
-     * @param modelTransformClass
+     * @param modelTransformClass which implementation to use
      * @see JointModelTransform
      * @see MatrixJointModelTransform
      * @see SeparateJointModelTransform
@@ -152,7 +152,7 @@ public class Armature implements JmeCloneable, Savable {
     /**
      * return a joint for the given index
      *
-     * @param index
+     * @param index a zero-based joint index (&ge;0)
      * @return the pre-existing instance
      */
     public Joint getJoint(int index) {
@@ -162,7 +162,7 @@ public class Armature implements JmeCloneable, Savable {
     /**
      * returns the joint with the given name
      *
-     * @param name
+     * @param name the name to search for
      * @return the pre-existing instance or null if not found
      */
     public Joint getJoint(String name) {
@@ -177,7 +177,7 @@ public class Armature implements JmeCloneable, Savable {
     /**
      * returns the bone index of the given bone
      *
-     * @param joint
+     * @param joint the Joint to search for
      * @return the index (&ge;0) or -1 if not found
      */
     public int getJointIndex(Joint joint) {
@@ -193,7 +193,7 @@ public class Armature implements JmeCloneable, Savable {
     /**
      * returns the joint index of the joint that has the given name
      *
-     * @param name
+     * @param name the name to search for
      * @return the index (&ge;0) or -1 if not found
      */
     public int getJointIndex(String name) {

+ 6 - 0
jme3-core/src/main/java/com/jme3/anim/ArmatureMask.java

@@ -28,6 +28,9 @@ public class ArmatureMask implements AnimationMask {
 
     /**
      * Add joints to be influenced by this animation mask.
+     * 
+     * @param armature the Armature containing the joints
+     * @param jointNames the names of the joints to be influenced
      */
     public void addBones(Armature armature, String... jointNames) {
         for (String jointName : jointNames) {
@@ -46,6 +49,9 @@ public class ArmatureMask implements AnimationMask {
 
     /**
      * Add a joint and all its sub armature joints to be influenced by this animation mask.
+     * 
+     * @param armature the Armature containing the ancestor joint
+     * @param jointName the names of the ancestor joint
      */
     public void addFromJoint(Armature armature, String jointName) {
         Joint joint = findJoint(armature, jointName);

+ 4 - 1
jme3-core/src/main/java/com/jme3/anim/MorphTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -65,10 +65,13 @@ public class MorphTrack implements AnimTrack<float[]> {
     /**
      * Creates a morph track with the given Geometry as a target
      *
+     * @param target   the desired target (alias created)
      * @param times    a float array with the time of each frame (alias created
      *                 -- do not modify after passing it to this constructor)
      * @param weights  the morphs for each frames (alias created -- do not
      *                 modify after passing it to this constructor)
+     * @param nbMorphTargets
+     *                 the desired number of morph targets
      */
     public MorphTrack(Geometry target, float[] times, float[] weights, int nbMorphTargets) {
         this.target = target;

+ 3 - 2
jme3-core/src/main/java/com/jme3/anim/SkinningControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -185,7 +185,8 @@ public class SkinningControl extends AbstractControl implements Cloneable, JmeCl
      * supported by GPU, it shall be enabled, if its not preferred, or not
      * supported by GPU, then it shall be disabled.
      *
-     * @param preferred
+     * @param preferred true to prefer hardware skinning, false to prefer 
+     * software skinning (default=true)
      * @see #isHardwareSkinningUsed()
      */
     public void setHardwareSkinningPreferred(boolean preferred) {

+ 2 - 1
jme3-core/src/main/java/com/jme3/anim/TransformTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,6 +69,7 @@ public class TransformTrack implements AnimTrack<Transform> {
     /**
      * Creates a transform track for the given bone index
      *
+     * @param target       the target Joint or Spatial of the new track
      * @param times        a float array with the time of each frame
      * @param translations the translation of the bone for each frame
      * @param rotations    the rotation of the bone for each frame

+ 6 - 1
jme3-core/src/main/java/com/jme3/anim/tween/Tween.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2020 jMonkeyEngine
+ * Copyright (c) 2015-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,6 +46,8 @@ public interface Tween extends Cloneable {
      * will run.  Note: all of the caveats are because tweens may be
      * externally scaled in such a way that 't' no longer represents
      * actual time.
+     *
+     * @return the duration (in de-scaled seconds)
      */
     public double getLength();
 
@@ -56,6 +58,9 @@ public interface Tween extends Cloneable {
      * then it is internally clamped and the method returns false.
      * If 't' is still in the tween's range then this method returns
      * true.
+     *
+     * @param t animation time (in de-scaled seconds)
+     * @return true if t&gt;length(), otherwise false
      */
     public boolean interpolate(double t);
 

+ 31 - 1
jme3-core/src/main/java/com/jme3/anim/tween/Tweens.java

@@ -61,6 +61,9 @@ public class Tweens {
     /**
      * Creates a tween that will interpolate over an entire sequence
      * of tweens in order.
+     *
+     * @param delegates the desired sequence of tweens
+     * @return a new instance
      */
     public static Tween sequence(Tween... delegates) {
         return new Sequence(delegates);
@@ -70,6 +73,9 @@ public class Tweens {
      * Creates a tween that will interpolate over an entire list
      * of tweens in parallel, ie: all tweens will be run at the same
      * time.
+     *
+     * @param delegates the tweens to be interpolated
+     * @return a new instance
      */
     public static Tween parallel(Tween... delegates) {
         return new Parallel(delegates);
@@ -78,6 +84,9 @@ public class Tweens {
     /**
      * Creates a tween that will perform a no-op until the length
      * has expired.
+     *
+     * @param length the desired duration (in seconds)
+     * @return a new instance
      */
     public static Tween delay(double length) {
         return new Delay(length);
@@ -87,6 +96,10 @@ public class Tweens {
      * Creates a tween that scales the specified delegate tween or tweens
      * to the desired length.  If more than one tween is specified then they
      * are wrapped in a sequence using the sequence() method.
+     *
+     * @param desiredLength the desired duration (in seconds)
+     * @param delegates the desired sequence of tweens
+     * @return a new instance
      */
     public static Tween stretch(double desiredLength, Tween... delegates) {
         if (delegates.length == 1) {
@@ -99,6 +112,9 @@ public class Tweens {
      * Creates a tween that uses a sine function to smooth step the time value
      * for the specified delegate tween or tweens.  These 'curved' wrappers
      * can be used to smooth the interpolation of another tween.
+     *
+     * @param delegates the desired sequence of tweens
+     * @return a new instance
      */
     public static Tween sineStep(Tween... delegates) {
         if (delegates.length == 1) {
@@ -112,6 +128,9 @@ public class Tweens {
      * for the specified delegate tween or tweens.  This is similar to GLSL's
      * smoothstep().  These 'curved' wrappers can be used to smooth the interpolation
      * of another tween.
+     *
+     * @param delegates the desired sequence of tweens
+     * @return a new instance
      */
     public static Tween smoothStep(Tween... delegates) {
         if (delegates.length == 1) {
@@ -124,6 +143,11 @@ public class Tweens {
      * Creates a Tween that will call the specified method and optional arguments
      * whenever supplied a time value greater than or equal to 0.  This creates
      * an "instant" tween of length 0.
+     *
+     * @param target object on which the method is to be invoked
+     * @param method name of the method to be invoked
+     * @param args arguments to be passed to the method
+     * @return a new instance
      */
     public static Tween callMethod(Object target, String method, Object... args) {
         return new CallMethod(target, method, args);
@@ -134,7 +158,7 @@ public class Tweens {
      * including the time value scaled between 0 and 1.  The method must take
      * a float or double value as its first or last argument, in addition to whatever
      * optional arguments are specified.
-     * <p>
+     *
      * <p>For example:</p>
      * <pre>Tweens.callTweenMethod(1, myObject, "foo", "bar")</pre>
      * <p>Would work for any of the following method signatures:</p>
@@ -144,6 +168,12 @@ public class Tweens {
      *    void foo( String arg, float t )
      *    void foo( String arg, double t )
      *  </pre>
+     *
+     * @param length the desired duration (in seconds)
+     * @param target object on which the method is to be invoked
+     * @param method name of the method to be invoked
+     * @param args additional arguments to be passed to the method
+     * @return a new instance
      */
     public static Tween callTweenMethod(double length, Object target, String method, Object... args) {
         return new CallTweenMethod(length, target, method, args);

+ 5 - 1
jme3-core/src/main/java/com/jme3/anim/util/Primitives.java

@@ -42,12 +42,16 @@ public class Primitives {
     /**
      * Returns the corresponding wrapper type of {@code type} if it is a primitive type; otherwise
      * returns {@code type} itself. Idempotent.
-     * <p>
+     *
      * <pre>
      *     wrap(int.class) == Integer.class
      *     wrap(Integer.class) == Integer.class
      *     wrap(String.class) == String.class
      * </pre>
+     *
+     * @param <T> type
+     * @param type the type to be boxed (not null)
+     * @return the boxed type
      */
     public static <T> Class<T> wrap(Class<T> type) {
         if (type == null) {

+ 13 - 1
jme3-core/src/main/java/com/jme3/animation/AnimChannel.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -244,6 +244,8 @@ public final class AnimChannel {
 
     /**
      * Add a single bone to be influenced by this animation channel.
+     * 
+     * @param name the name of the Bone to be influenced
      */
     public void addBone(String name) {
         addBone(control.getSkeleton().getBone(name));
@@ -251,6 +253,8 @@ public final class AnimChannel {
 
     /**
      * Add a single bone to be influenced by this animation channel.
+     *
+     * @param bone the Bone to be influenced
      */
     public void addBone(Bone bone) {
         int boneIndex = control.getSkeleton().getBoneIndex(bone);
@@ -263,6 +267,8 @@ public final class AnimChannel {
     /**
      * Add bones to be influenced by this animation channel starting from the
      * given bone name and going toward the root bone.
+     *
+     * @param name the name of the Bone to use as a starting point
      */
     public void addToRootBone(String name) {
         addToRootBone(control.getSkeleton().getBone(name));
@@ -271,6 +277,8 @@ public final class AnimChannel {
     /**
      * Add bones to be influenced by this animation channel starting from the
      * given bone and going toward the root bone.
+     *
+     * @param bone the Bone to use as a starting point
      */
     public void addToRootBone(Bone bone) {
         addBone(bone);
@@ -283,6 +291,8 @@ public final class AnimChannel {
     /**
      * Add bones to be influenced by this animation channel, starting
      * from the given named bone and going toward its children.
+     *
+     * @param name the name of the Bone to use as a starting point
      */
     public void addFromRootBone(String name) {
         addFromRootBone(control.getSkeleton().getBone(name));
@@ -291,6 +301,8 @@ public final class AnimChannel {
     /**
      * Add bones to be influenced by this animation channel, starting
      * from the given bone and going toward its children.
+     *
+     * @param bone the Bone to use as a starting point
      */
     public void addFromRootBone(Bone bone) {
         addBone(bone);

+ 1 - 1
jme3-core/src/main/java/com/jme3/animation/AnimControl.java

@@ -251,7 +251,7 @@ public final class AnimControl extends AbstractControl implements Cloneable, Jme
     /**
      * Removes the given listener from listening to events.
      *
-     * @param listener
+     * @param listener the listener to remove
      * @see AnimControl#addListener(com.jme3.animation.AnimEventListener)
      */
     public void removeListener(AnimEventListener listener) {

+ 3 - 3
jme3-core/src/main/java/com/jme3/animation/Animation.java

@@ -99,7 +99,7 @@ public class Animation implements Savable, Cloneable, JmeCloneable {
     /**
      * Set the length of the animation
      *
-     * @param length
+     * @param length the desired duration (in seconds)
      */
     public void setLength(float length) {
         this.length = length;
@@ -108,7 +108,7 @@ public class Animation implements Savable, Cloneable, JmeCloneable {
     /**
      * Sets the name of the animation
      *
-     * @param name
+     * @param name the desired name
      */
     public void setName(String name) {
         this.name = name;
@@ -193,7 +193,7 @@ public class Animation implements Savable, Cloneable, JmeCloneable {
 
     /**
      * 
-     * @param spat
+     * @param spat the Spatial to clone for
      * @return a new instance
      */
     public Animation cloneForSpatial(Spatial spat) {

+ 5 - 4
jme3-core/src/main/java/com/jme3/animation/AnimationUtils.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +42,10 @@ public class AnimationUtils {
     }
     /**
      * Clamps the time according to duration and loopMode
-     * @param time
-     * @param duration
-     * @param loopMode
+     *
+     * @param time the unclamped time value (in seconds)
+     * @param duration the animation's duration (in seconds)
+     * @param loopMode the animation's looping behavior (not null)
      * @return the clamped time (in seconds)
      */
      public static float clampWrapTime(float time, float duration, LoopMode loopMode){

+ 3 - 3
jme3-core/src/main/java/com/jme3/animation/AudioTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -279,7 +279,7 @@ public class AudioTrack implements ClonableTrack {
     /**
      * sets the audio node to be used for this track
      *
-     * @param audio
+     * @param audio the desired AudioNode (alias created)
      */
     public void setAudio(AudioNode audio) {
         if (this.audio != null) {
@@ -301,7 +301,7 @@ public class AudioTrack implements ClonableTrack {
     /**
      * set the start offset of the track
      *
-     * @param startOffset
+     * @param startOffset the desired start offset
      */
     public void setStartOffset(float startOffset) {
         this.startOffset = startOffset;

+ 22 - 7
jme3-core/src/main/java/com/jme3/animation/Bone.java

@@ -297,7 +297,8 @@ public final class Bone implements Savable, JmeCloneable {
         return modelScale;
     }
 
-    /**     
+    /**
+     * @return the pre-existing vector
      * @deprecated use {@link #getModelBindInversePosition()}
      */
     @Deprecated 
@@ -317,7 +318,8 @@ public final class Bone implements Savable, JmeCloneable {
         return modelBindInversePos;
     }
 
-    /**     
+    /**
+     * @return the pre-existing Quaternion
      * @deprecated use {@link #getModelBindInverseRotation()}
      */
     @Deprecated
@@ -338,7 +340,8 @@ public final class Bone implements Savable, JmeCloneable {
     }
 
 
-    /**     
+    /**
+     * @return the pre-existing vector
      * @deprecated use {@link #getModelBindInverseScale()}
      */
     @Deprecated
@@ -378,7 +381,8 @@ public final class Bone implements Savable, JmeCloneable {
         return t.invert();
     }
     
-    /**    
+    /**
+     * @return the pre-existing vector
      * @deprecated use {@link #getBindPosition()}
      */
     @Deprecated
@@ -398,7 +402,8 @@ public final class Bone implements Savable, JmeCloneable {
         return bindPos;
     }
 
-    /**  
+    /**
+     * @return the pre-existing Quaternion
      * @deprecated use {@link #getBindRotation() }
      */    
     @Deprecated
@@ -419,6 +424,7 @@ public final class Bone implements Savable, JmeCloneable {
     }  
     
     /**
+     * @return the pre-existing vector
      * @deprecated use {@link #getBindScale() }
      */
     @Deprecated
@@ -441,6 +447,8 @@ public final class Bone implements Savable, JmeCloneable {
     /**
      * If enabled, user can control bone transform with setUserTransforms.
      * Animation transforms are not applied to this bone when enabled.
+     *
+     * @param enable true for direct control, false for canned animations
      */
     public void setUserControl(boolean enable) {
         userControl = enable;
@@ -700,6 +708,7 @@ public final class Bone implements Savable, JmeCloneable {
      * Returns the local transform of this bone combined with the given position and rotation
      * @param position a position
      * @param rotation a rotation
+     * @return the resulting Transform (in reusable temporary storage!)
      */
     public Transform getCombinedTransform(Vector3f position, Quaternion rotation) {
         if(tmpTransform == null){
@@ -840,6 +849,10 @@ public final class Bone implements Savable, JmeCloneable {
     /**
      * Sets local bind transform for bone.
      * Call setBindingPose() after all of the skeleton bones' bind transforms are set to save them.
+     *
+     * @param translation the desired bind translation (not null, unaffected)
+     * @param rotation the desired bind rotation (not null, unaffected)
+     * @param scale the desired bind scale (unaffected) or null for no scaling
      */
     public void setBindTransforms(Vector3f translation, Quaternion rotation, Vector3f scale) {
         bindPos.set(translation);
@@ -925,7 +938,8 @@ public final class Bone implements Savable, JmeCloneable {
     /**
      * Sets the rotation of the bone in object space.
      * Warning: you need to call {@link #setUserControl(boolean)} with true to be able to do that operation
-     * @param rot
+     *
+     * @param rot the desired rotation (not null, unaffected)
      */
     public void setLocalRotation(Quaternion rot){
         if (!userControl) {
@@ -937,7 +951,8 @@ public final class Bone implements Savable, JmeCloneable {
     /**
      * Sets the position of the bone in object space.
      * Warning: you need to call {@link #setUserControl(boolean)} with true to be able to do that operation
-     * @param pos
+     *
+     * @param pos the desired translation (not null, unaffected)
      */
     public void setLocalTranslation(Vector3f pos){
         if (!userControl) {

+ 4 - 4
jme3-core/src/main/java/com/jme3/animation/BoneTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -198,9 +198,9 @@ public final class BoneTrack implements JmeCloneable, Track {
      *
      * @param time the current time of the animation
      * @param weight the weight of the animation
-     * @param control
-     * @param channel
-     * @param vars
+     * @param control to access the Skeleton
+     * @param channel which bones can be affected
+     * @param vars storage for temporary values
      */
     @Override
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {

+ 19 - 11
jme3-core/src/main/java/com/jme3/animation/CompactArray.java

@@ -40,7 +40,8 @@ import java.util.Map;
 /**
  * Object is indexed and stored in primitive float[]
  * @author Lim, YongHoon
- * @param <T>
+ *
+ * @param <T> the type of object (i.e. Vector3f)
  */
 public abstract class CompactArray<T> implements JmeCloneable {
 
@@ -57,8 +58,9 @@ public abstract class CompactArray<T> implements JmeCloneable {
 
     /**
      * create array using serialized data
-     * @param compressedArray
-     * @param index
+     *
+     * @param compressedArray storage for float data
+     * @param index storage for indices
      */
     public CompactArray(float[] compressedArray, int[] index) {
         this.array = compressedArray;
@@ -68,7 +70,8 @@ public abstract class CompactArray<T> implements JmeCloneable {
     /**
      * Add objects.
      * They are serialized automatically when get() method is called.
-     * @param objArray
+     *
+     * @param objArray the objects to be added (may be null)
      */
     @SuppressWarnings("unchecked")
     public void add(T... objArray) {
@@ -119,8 +122,8 @@ public abstract class CompactArray<T> implements JmeCloneable {
     }
 
     /**
-     * @param index
-     * @param value
+     * @param index zero-origin index of the element to be altered
+     * @param value the desired value
      */
     public final void set(int index, T value) {
         int j = getCompactIndex(index);
@@ -194,7 +197,8 @@ public abstract class CompactArray<T> implements JmeCloneable {
 
     /**
      * Return an array of indices for the given objects
-     * @param objArray
+     *
+     * @param objArray the input objects
      * @return a new array
      */
     @SuppressWarnings("unchecked")
@@ -209,7 +213,8 @@ public abstract class CompactArray<T> implements JmeCloneable {
 
     /**
      * returns the corresponding index in the compact array
-     * @param objIndex
+     *
+     * @param objIndex the input index
      * @return object index in the compacted object array
      */
     public int getCompactIndex(int objIndex) {
@@ -260,7 +265,7 @@ public abstract class CompactArray<T> implements JmeCloneable {
      * Create a deep clone of this array.
      *
      * @return a new array
-     * @throws java.lang.CloneNotSupportedException
+     * @throws CloneNotSupportedException never
      */
     @Override
     public Object clone() throws CloneNotSupportedException {
@@ -300,19 +305,22 @@ public abstract class CompactArray<T> implements JmeCloneable {
     /**
      * serialize object
      * @param compactIndex compacted object index
-     * @param store
+     * @param store the value to be serialized (not null, unaffected)
      */
     protected abstract void serialize(int compactIndex, T store);
 
     /**
      * deserialize object
      * @param compactIndex compacted object index
-     * @param store
+     * @param store storage for the result
+     * @return the deserialized value
      */
     protected abstract T deserialize(int compactIndex, T store);
 
     /**
      * serialized size of one object element
+     *
+     * @return the number of primitive components (floats) per object
      */
     protected abstract int getTupleSize();
 

+ 2 - 2
jme3-core/src/main/java/com/jme3/animation/EffectTrack.java

@@ -347,7 +347,7 @@ public class EffectTrack implements ClonableTrack {
     /**
      * Sets the Emitter to use in this track
      *
-     * @param emitter
+     * @param emitter the emitter to be controlled (alias created)
      */
     public void setEmitter(ParticleEmitter emitter) {
         if (this.emitter != null) {
@@ -373,7 +373,7 @@ public class EffectTrack implements ClonableTrack {
     /**
      * set the start offset of the track
      *
-     * @param startOffset
+     * @param startOffset the start offset (in seconds)
      */
     public void setStartOffset(float startOffset) {
         this.startOffset = startOffset;

+ 9 - 5
jme3-core/src/main/java/com/jme3/animation/Skeleton.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -211,7 +211,8 @@ public final class Skeleton implements Savable, JmeCloneable {
 
     /**
      * return a bone for the given index
-     * @param index
+     *
+     * @param index the (zero-based) bone index (&ge;0)
      * @return the pre-existing instance
      */
     public Bone getBone(int index) {
@@ -220,7 +221,8 @@ public final class Skeleton implements Savable, JmeCloneable {
 
     /**
      * returns the bone with the given name
-     * @param name
+     *
+     * @param name the name to search for
      * @return the pre-existing instance, or null if not found
      */
     public Bone getBone(String name) {
@@ -234,7 +236,8 @@ public final class Skeleton implements Savable, JmeCloneable {
 
     /**
      * returns the bone index of the given bone
-     * @param bone
+     *
+     * @param bone the Bone to search for (unaffected)
      * @return the index (&ge;0) or -1 if not found
      */
     public int getBoneIndex(Bone bone) {
@@ -249,7 +252,8 @@ public final class Skeleton implements Savable, JmeCloneable {
 
     /**
      * returns the bone index of the bone that has the given name
-     * @param name
+     *
+     * @param name the name to search for
      * @return the index (&ge;0) or -1 if not found 
      */
     public int getBoneIndex(String name) {

+ 2 - 1
jme3-core/src/main/java/com/jme3/animation/SkeletonControl.java

@@ -167,7 +167,8 @@ public class SkeletonControl extends AbstractControl implements Cloneable, JmeCl
      * supported by GPU, it shall be enabled, if it's not preferred, or not
      * supported by GPU, then it shall be disabled.
      * 
-     * @param preferred
+     * @param preferred true to prefer hardware skinning, false to prefer 
+     * software skinning (default=true)
      * @see #isHardwareSkinningUsed() 
      */
     public void setHardwareSkinningPreferred(boolean preferred) {

+ 2 - 1
jme3-core/src/main/java/com/jme3/animation/Track.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,6 +48,7 @@ public interface Track extends Savable, Cloneable {
      * @param weight The weight from 0 to 1 on how much to apply the track
      * @param control The control which the track should affect
      * @param channel The channel which the track should affect
+     * @param vars temporary storage
      */
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars);
 

+ 16 - 1
jme3-core/src/main/java/com/jme3/app/Application.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -115,6 +115,8 @@ public interface Application {
      * Sets the Timer implementation that will be used for calculating
      * frame times.  By default, Application will use the Timer as returned
      * by the current JmeContext implementation.
+     * 
+     * @param timer the desired timer (alias created)
      */
     public void setTimer(Timer timer);
 
@@ -174,6 +176,9 @@ public interface Application {
     /**
      * Starts the application.
      * A bug occuring when using LWJGL3 prevents this method from returning until after the application is stopped.
+     *
+     * @param waitFor true&rarr;wait for the context to be initialized,
+     * false&rarr;don't wait
      */
     public void start(boolean waitFor);
 
@@ -181,11 +186,16 @@ public interface Application {
      * Sets an AppProfiler hook that will be called back for
      * specific steps within a single update frame.  Value defaults
      * to null.
+     * 
+     * @param prof the profiler to use (alias created) or null for none
+     * (default=null)
      */
     public void setAppProfiler(AppProfiler prof);
 
     /**
      * Returns the current AppProfiler hook, or null if none is set.
+     *
+     * @return the pre-existing instance, or null if none
      */
     public AppProfiler getAppProfiler();
 
@@ -212,6 +222,9 @@ public interface Application {
      * Requests the context to close, shutting down the main loop
      * and making necessary cleanup operations.
      * After the application has stopped, it cannot be used anymore.
+     * 
+     @param waitFor true&rarr;wait for the context to be fully destroyed,
+     * true&rarr;don't wait
      */
     public void stop(boolean waitFor);
 
@@ -223,7 +236,9 @@ public interface Application {
      * They are executed even if the application is currently paused
      * or out of focus.
      *
+     * @param <V> type of result returned by the Callable
      * @param callable The callable to run in the main jME3 thread
+     * @return a new instance
      */
     public <V> Future<V> enqueue(Callable<V> callable);
 

+ 6 - 0
jme3-core/src/main/java/com/jme3/app/BasicProfiler.java

@@ -83,6 +83,8 @@ public class BasicProfiler implements AppProfiler {
     /**
      *  Sets the number of frames to display and track.  By default
      *  this is 1280.
+     * 
+     * @param size the desired number of frames (&ge;0, default=1280)
      */
     public final void setFrameCount( int size ) {
         if( this.size == size ) {
@@ -106,6 +108,8 @@ public class BasicProfiler implements AppProfiler {
     /**
      *  Sets the number of nanoseconds to wait before updating the
      *  mesh.  By default this is once a millisecond, ie: 1000000 nanoseconds.
+     * 
+     * @param nanos the desired update interval (in nanoseconds, default=1e6)
      */
     public void setUpdateInterval( long nanos ) {
         this.updateInterval = nanos;
@@ -118,6 +122,8 @@ public class BasicProfiler implements AppProfiler {
     /**
      *  Returns the mesh that contains the bar chart of tracked frame
      *  timings.
+     * 
+     * @return the pre-existing Mesh
      */
     public Mesh getMesh() {
         return mesh;

+ 18 - 13
jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java

@@ -194,6 +194,8 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
 
     /**
      * move the camera toward or away the target
+     *
+     * @param value the distance to move
      */
     protected void zoomCamera(float value) {
         distance = FastMath.clamp(distance + value, minDistance, maxDistance);
@@ -221,7 +223,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * new MouseButtonTrigger(MouseInput.BUTTON_LEFT) left mouse button new
      * MouseButtonTrigger(MouseInput.BUTTON_RIGHT) right mouse button
      *
-     * @param triggers
+     * @param triggers the desired triggers
      */
     public void setToggleRotationTrigger(Trigger... triggers) {
         toggleRotateTrigger = triggers;
@@ -236,7 +238,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * Sets custom triggers for zooming in the cam default is new
      * MouseAxisTrigger(MouseInput.AXIS_WHEEL, true) mouse wheel up
      *
-     * @param triggers
+     * @param triggers the desired triggers
      */
     public void setZoomInTrigger(Trigger... triggers) {
         zoomInTrigger = triggers;
@@ -251,7 +253,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * Sets custom triggers for zooming out the cam default is new
      * MouseAxisTrigger(MouseInput.AXIS_WHEEL, false) mouse wheel down
      *
-     * @param triggers
+     * @param triggers the desired triggers
      */
     public void setZoomOutTrigger(Trigger... triggers) {
         zoomOutTrigger = triggers;
@@ -274,7 +276,8 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * Sets the max zoom distance of the camera (default is 40)
      *
-     * @param maxDistance
+     * @param maxDistance the desired maximum distance (in world units,
+     * default=40)
      */
     public void setMaxDistance(float maxDistance) {
         this.maxDistance = maxDistance;
@@ -286,7 +289,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * Returns the min zoom distance of the camera (default is 1)
      *
-     * @return minDistance
+     * @return the minimum distance (in world units)
      */
     public float getMinDistance() {
         return minDistance;
@@ -295,7 +298,8 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * Sets the min zoom distance of the camera (default is 1)
      * 
-     * @param minDistance
+     * @param minDistance the desired minimum distance (in world units,
+     * default=1)
      */
     public void setMinDistance(float minDistance) {
         this.minDistance = minDistance;
@@ -316,7 +320,8 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * Sets the maximal vertical rotation angle in radian of the camera around
      * the target. Default is Pi/2;
      *
-     * @param maxVerticalRotation
+     * @param maxVerticalRotation the desired maximum angle (in radians,
+     * default=Pi/2)
      */
     public void setMaxVerticalRotation(float maxVerticalRotation) {
         this.maxVerticalRotation = maxVerticalRotation;
@@ -338,7 +343,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * Sets the minimal vertical rotation angle in radian of the camera around
      * the target default is 0;
      *
-     * @param minHeight
+     * @param minHeight the desired minimum angle (in radians, default=0)
      */
     public void setMinVerticalRotation(float minHeight) {
         this.minVerticalRotation = minHeight;
@@ -388,7 +393,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * Sets the default distance at start of application
      *
-     * @param defaultDistance
+     * @param defaultDistance the desired distance (in world units, default=20)
      */
     public void setDefaultDistance(float defaultDistance) {
         distance = defaultDistance;
@@ -398,7 +403,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * sets the default horizontal rotation in radian of the camera at start of
      * the application
      *
-     * @param angleInRad
+     * @param angleInRad the desired rotation (in radians, default=0)
      */
     public void setDefaultHorizontalRotation(float angleInRad) {
         horizontalRotation = angleInRad;
@@ -408,7 +413,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
      * sets the default vertical rotation in radian of the camera at start of
      * the application
      *
-     * @param angleInRad
+     * @param angleInRad the desired rotation (in radians, default=0)
      */
     public void setDefaultVerticalRotation(float angleInRad) {
         verticalRotation = angleInRad;
@@ -441,7 +446,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * invert the vertical axis movement of the mouse
      *
-     * @param invertYaxis
+     * @param invertYaxis true&rarr;inverted, false&rarr;not inverted
      */
     public void setInvertVerticalAxis(boolean invertYaxis) {
         this.invertYaxis = invertYaxis;
@@ -456,7 +461,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
     /**
      * invert the Horizontal axis movement of the mouse
      *
-     * @param invertXaxis
+     * @param invertXaxis true&rarr;inverted, false&rarr;not inverted
      */
     public void setInvertHorizontalAxis(boolean invertXaxis) {
         this.invertXaxis = invertXaxis;

+ 17 - 0
jme3-core/src/main/java/com/jme3/app/LegacyApplication.java

@@ -108,6 +108,8 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Create a new instance of <code>LegacyApplication</code>, preinitialized
      * with the specified set of app states.
+     *
+     * @param initialStates app states to pre-attach, or null for none
      */
     public LegacyApplication( AppState... initialStates ) {
         initStateManager();
@@ -444,6 +446,8 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Starts the application in {@link Type#Display display} mode.
      *
+     * @param waitFor true&rarr;wait for the context to be initialized,
+     * false&rarr;don't wait
      * @see #start(com.jme3.system.JmeContext.Type)
      */
     @Override
@@ -455,6 +459,8 @@ public class LegacyApplication implements Application, SystemListener {
      * Starts the application.
      * Creating a rendering context and executing
      * the main loop in a separate thread.
+     *
+     * @param contextType the type of context to create
      */
     public void start(JmeContext.Type contextType) {
         start(contextType, false);
@@ -464,6 +470,10 @@ public class LegacyApplication implements Application, SystemListener {
      * Starts the application.
      * Creating a rendering context and executing
      * the main loop in a separate thread.
+     *
+     * @param contextType the type of context to create
+     * @param waitFor true&rarr;wait for the context to be initialized,
+     * false&rarr;don't wait
      */
     public void start(JmeContext.Type contextType, boolean waitFor){
         if (context != null && context.isCreated()){
@@ -485,6 +495,8 @@ public class LegacyApplication implements Application, SystemListener {
      * Sets an AppProfiler hook that will be called back for
      * specific steps within a single update frame.  Value defaults
      * to null.
+     * 
+     * @param prof the profiler to use (alias created) or null for none
      */
     @Override
     public void setAppProfiler(AppProfiler prof) {
@@ -595,6 +607,9 @@ public class LegacyApplication implements Application, SystemListener {
      * Requests the context to close, shutting down the main loop
      * and making necessary cleanup operations.
      * After the application has stopped, it cannot be used anymore.
+     *
+     * @param waitFor true&rarr;wait for the context to be fully destroyed,
+     * true&rarr;don't wait
      */
     @Override
     public void stop(boolean waitFor){
@@ -698,7 +713,9 @@ public class LegacyApplication implements Application, SystemListener {
      * They are executed even if the application is currently paused
      * or out of focus.
      *
+     * @param <V> type of result returned by the Callable
      * @param callable The callable to run in the main jME3 thread
+     * @return a new instance
      */
     @Override
     public <V> Future<V> enqueue(Callable<V> callable) {

+ 2 - 0
jme3-core/src/main/java/com/jme3/app/SimpleApplication.java

@@ -186,6 +186,8 @@ public abstract class SimpleApplication extends LegacyApplication {
     /**
      *  Creates the font that will be set to the guiFont field
      *  and subsequently set as the font for the stats text.
+     * 
+     * @return the loaded BitmapFont
      */
     protected BitmapFont loadGuiFont() {
         return assetManager.loadFont("Interface/Fonts/Default.fnt");

+ 3 - 1
jme3-core/src/main/java/com/jme3/app/StatsAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -80,6 +80,8 @@ public class StatsAppState extends AbstractAppState {
      *  so that the fpsText can be created before init.  This
      *  is because several applications expect to directly access
      *  fpsText... unfortunately.
+     * 
+     * @param guiFont the desired font (not null, alias created)
      */
     public void setFont( BitmapFont guiFont ) {
         this.guiFont = guiFont;

+ 3 - 1
jme3-core/src/main/java/com/jme3/app/state/AbstractAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,6 +73,8 @@ public abstract class AbstractAppState implements AppState {
      *  Sets the unique ID of this app state.  Note: that setting
      *  this while an app state is attached to the state manager will
      *  have no effect on ID-based lookups.
+     *
+     * @param id the desired ID
      */
     protected void setId( String id ) {
         this.id = id;

+ 2 - 0
jme3-core/src/main/java/com/jme3/app/state/AppState.java

@@ -93,6 +93,8 @@ public interface AppState {
     /**
      *  Returns the unique ID for this AppState or null if it has no
      *  unique ID.
+     *
+     * @return the ID, or null if none
      */
     public String getId();
 

+ 22 - 5
jme3-core/src/main/java/com/jme3/app/state/AppStateManager.java

@@ -103,6 +103,8 @@ public class AppStateManager {
 
     /**
      *  Returns the Application to which this AppStateManager belongs.
+     *
+     * @return the pre-existing instance
      */
     public Application getApplication() {
         return app;
@@ -224,8 +226,9 @@ public class AppStateManager {
 
     /**
      * Returns the first state that is an instance of subclass of the specified class.
-     * @param <T>
-     * @param stateClass
+     *
+     * @param <T> the desired type of AppState
+     * @param stateClass the desired type of AppState
      * @return First attached state that is an instance of stateClass
      */
     public <T extends AppState> T getState(Class<T> stateClass){
@@ -234,9 +237,10 @@ public class AppStateManager {
     
     /**
      * Returns the first state that is an instance of subclass of the specified class.
-     * @param <T>
-     * @param stateClass
-     * @param failOnMiss 
+     *
+     * @param <T> the desired type of AppState
+     * @param stateClass the desired type of AppState
+     * @param failOnMiss true to thrown an exception, false to return null
      * @return First attached state that is an instance of stateClass. If failOnMiss is true 
      * then an IllegalArgumentException is thrown if the state is not attached.
      */
@@ -271,6 +275,11 @@ public class AppStateManager {
     /**
      *  Returns the state associated with the specified ID at the time it was
      *  attached or null if not state was attached with that ID.
+     *
+     * @param <T> the desired type of AppState
+     * @param id the AppState ID
+     * @param stateClass the desired type of AppState
+     * @return the pre-existing instance, or null if not found
      */
     public <T extends AppState> T getState( String id, Class<T> stateClass ) {
         return stateClass.cast(stateIndex.get(id));
@@ -279,6 +288,9 @@ public class AppStateManager {
     /**
      *  Returns true if there is currently a state associated with the specified
      *  ID.
+     *
+     * @param id the AppState ID
+     * @return true if found, otherwise false
      */
     public boolean hasState( String id ) {
         return stateIndex.containsKey(id);
@@ -288,6 +300,11 @@ public class AppStateManager {
      *  Returns the state associated with the specified ID at the time it
      *  was attached or throws an IllegalArgumentException if the ID was 
      *  not found.
+     *
+     * @param <T> the desired type of AppState
+     * @param id the AppState ID
+     * @param stateClass the desired type of AppState
+     * @return the pre-existing instance (not null)
      */   
     public <T extends AppState> T stateForId( String id, Class<T> stateClass ) {
         T result = getState(id, stateClass);

+ 3 - 1
jme3-core/src/main/java/com/jme3/app/state/BaseAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 jMonkeyEngine
+ * Copyright (c) 2014-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -145,6 +145,8 @@ public abstract class BaseAppState implements AppState {
      *  Sets the unique ID of this app state.  Note: that setting
      *  this while an app state is attached to the state manager will
      *  have no effect on ID-based lookups.
+     *
+     * @param id the desired ID
      */
     protected void setId( String id ) {
         this.id = id;

+ 5 - 0
jme3-core/src/main/java/com/jme3/app/state/ConstantVerifierState.java

@@ -102,6 +102,8 @@ public class ConstantVerifierState extends BaseAppState {
     /**
      *  Creates a verifier app state that will check all of the default
      *  constant checks using the specified error reporting mechanism.
+     * 
+     * @param errorType the mechanism to use
      */
     public ConstantVerifierState( ErrorType errorType ) {
         this(errorType, DEFAULT_CHECKS);
@@ -110,6 +112,9 @@ public class ConstantVerifierState extends BaseAppState {
     /**
      *  Creates a verifier app state that will check all of the specified
      *  checks and report errors using the specified error type.
+     * 
+     * @param errorType the mechanism to use
+     * @param checkers which checks to perform
      */
     public ConstantVerifierState( ErrorType errorType, Checker... checkers ) {
         this.errorType = errorType;

+ 3 - 1
jme3-core/src/main/java/com/jme3/app/state/RootNodeAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2014 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -88,6 +88,8 @@ public class RootNodeAppState extends AbstractAppState {
     /**
      * Creates the AppState with the given unique ID, ViewPort, and root Node, attaches
      * the root Node to the ViewPort and updates it.
+     *
+     * @param id the desired AppState ID
      * @param viewPort An existing ViewPort
      * @param rootNode An existing root Node
      */

+ 5 - 0
jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java

@@ -161,6 +161,8 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
 
     /**
      * Sets the base index that will used for subsequent screen shots. 
+     *
+     * @param index the desired base index
      */
     public void setShotIndex(long index) {
         this.shotIndex = index;
@@ -315,6 +317,9 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
 
     /**
      *  Called by postFrame() once the screen has been captured to outBuf.
+     * 
+     * @param file the output file
+     * @throws IOException if an I/O error occurs
      */
     protected void writeImageFile( File file ) throws IOException {
         OutputStream outStream = new FileOutputStream(file);

+ 2 - 2
jme3-core/src/main/java/com/jme3/asset/AssetEventListener.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,7 +56,7 @@ public interface AssetEventListener {
      * In contrast to the assetLoaded() method, this one will be called even
      * if the asset has failed to load, or if it was retrieved from the cache.
      *
-     * @param key
+     * @param key the key of the requested asset
      */
     public void assetRequested(AssetKey key);
     

+ 2 - 1
jme3-core/src/main/java/com/jme3/asset/AssetLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,6 +46,7 @@ public interface AssetLoader {
      * Loads asset from the given input stream, parsing it into
      * an application-usable object.
      *
+     * @param assetInfo the located asset
      * @return An object representing the resource.
      * @throws java.io.IOException If an I/O error occurs while loading
      */

+ 3 - 3
jme3-core/src/main/java/com/jme3/asset/AssetLocator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,8 +51,8 @@ public interface AssetLocator {
      * The {@link AssetInfo} implementation provided should have a proper
      * return value for its {@link AssetInfo#openStream() } method.
      * 
-     * @param manager
-     * @param key
+     * @param manager for managing assets
+     * @param key identifies the asset to be located
      * @return The {@link AssetInfo} that was located, or null if not found.
      */
     public AssetInfo locate(AssetManager manager, AssetKey key);

+ 7 - 1
jme3-core/src/main/java/com/jme3/asset/AssetManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -99,12 +99,16 @@ public interface AssetManager {
 
     /**
      * Remove a {@link ClassLoader} from the list of registered ClassLoaders
+     * 
+     * @param loader the ClassLoader to be removed
      */
     public void removeClassLoader(ClassLoader loader);
 
     /**
      * Retrieve the list of registered ClassLoaders that are used for loading 
      * {@link Class classes} from asset files.
+     * 
+     * @return an unmodifiable list
      */
     public List<ClassLoader> getClassLoaders();
     
@@ -355,6 +359,8 @@ public interface AssetManager {
     
     /**
      * Returns the shaderGenerator responsible for generating the shaders
+     *
+     * @param caps a set of required capabilities
      * @return the shaderGenerator 
      */
     public ShaderGenerator getShaderGenerator(EnumSet<Caps> caps);

+ 3 - 2
jme3-core/src/main/java/com/jme3/asset/AssetProcessor.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,7 +48,8 @@ public interface AssetProcessor {
      * Applies post processing to an asset.
      * The method may return an object that is not the same
      * instance as the parameter object, and it could be from a different class.
-     * 
+     *
+     * @param key the key used to load the asset
      * @param obj The asset that was loaded from an {@link AssetLoader}.
      * @return Either the same object with processing applied, or an instance
      * of a new object.

+ 6 - 6
jme3-core/src/main/java/com/jme3/asset/cache/AssetCache.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +59,7 @@ public interface AssetCache {
      * However the caching criteria may at some point choose that the asset
      * should be removed from the cache to save memory, in that case, 
      * {@link #getFromCache(com.jme3.asset.AssetKey) } will return null.
-     * <p><font color="red">Thread-Safe</font>
+     * <p>Thread-Safe</p>
      * 
      * @param <T> The type of the asset to cache.
      * @param key The asset key that can be used to look up the asset.
@@ -71,7 +71,7 @@ public interface AssetCache {
      * This should be called by the asset manager when it has successfully
      * acquired a cached asset (with {@link #getFromCache(com.jme3.asset.AssetKey) })
      * and cloned it for use. 
-     * <p><font color="red">Thread-Safe</font>
+     * <p>Thread-Safe</p>
      * 
      * @param <T> The type of the asset to register.
      * @param key The asset key of the loaded asset (used to retrieve from cache)
@@ -95,7 +95,7 @@ public interface AssetCache {
      * {@link #addToCache(com.jme3.asset.AssetKey, java.lang.Object) }. 
      * The asset may be removed from the cache automatically even if
      * it was added previously, in that case, this method will return null.
-     * <p><font color="red">Thread-Safe</font>
+     * <p>Thread-Safe</p>
      * 
      * @param <T> The type of the asset to retrieve
      * @param key The key used to lookup the asset.
@@ -105,7 +105,7 @@ public interface AssetCache {
     
     /**
      * Deletes an asset from the cache.
-     * <p><font color="red">Thread-Safe</font>
+     * <p>Thread-Safe</p>
      * 
      * @param key The asset key to find the asset to delete.
      * @return True if the asset was successfully found in the cache
@@ -115,7 +115,7 @@ public interface AssetCache {
     
     /**
      * Deletes all assets from the cache.
-     * <p><font color="red">Thread-Safe</font>
+     * <p>Thread-Safe</p>
      */
     public void clearCache();
 }

+ 2 - 1
jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java

@@ -86,7 +86,8 @@ public class AudioBuffer extends AudioData {
 
     /**
      * Update the data in the buffer with new data.
-     * @param data
+     *
+     * @param data the audio data provided (not null, direct, alias created)
      * @throws IllegalArgumentException if the provided buffer is not a direct buffer
      */
     public void updateData(ByteBuffer data){

+ 3 - 1
jme3-core/src/main/java/com/jme3/audio/AudioKey.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -110,6 +110,8 @@ public class AudioKey extends AssetKey<AudioData> {
      * When enabled, the audio stream will
      * be read entirely but not decoded, allowing features such as 
      * seeking, looping and determining duration.
+     * 
+     * @return true if stream cache is in use, otherwise false
      */
     public boolean useStreamCache(){
         return streamCache;

+ 3 - 1
jme3-core/src/main/java/com/jme3/audio/AudioNode.java

@@ -335,6 +335,8 @@ public class AudioNode extends Node implements AudioSource {
 
     /**
      * Do not use.
+     *
+     * @param status the desired status
      */
     @Override
     public final void setStatus(AudioSource.Status status) {
@@ -652,7 +654,7 @@ public class AudioNode extends Node implements AudioSource {
      * Set the direction of this audio node.
      * Does nothing if the audio node is not directional.
      *
-     * @param direction
+     * @param direction a direction vector (alias created)
      * @see AudioNode#setDirectional(boolean)
      */
     public void setDirection(Vector3f direction) {

+ 6 - 0
jme3-core/src/main/java/com/jme3/audio/AudioSource.java

@@ -64,11 +64,15 @@ public interface AudioSource {
     
     /**
      * Do not use.
+     *
+     * @param channel the desired channel index, or -1 if stopped
      */
     public void setChannel(int channel);
 
     /**
      * Do not use.
+     *
+     * @return the channel index, or -1 if stopped
      */
     public int getChannel();
 
@@ -87,6 +91,8 @@ public interface AudioSource {
 
     /**
      * Do not use.
+     * 
+     * @param status the desired Status
      */
     public void setStatus(Status status);
     

+ 16 - 12
jme3-core/src/main/java/com/jme3/audio/openal/AL.java

@@ -285,14 +285,16 @@ public interface AL {
 
     /**
      * Obtains error information.
-     * <p>
+     *
      * <p>Each detectable error is assigned a numeric code. When an error is detected by AL, a flag is set and the error code is recorded. Further errors, if they
      * occur, do not affect this recorded code. When alGetError is called, the code is returned and the flag is cleared, so that a further error will again
      * record its code. If a call to alGetError returns AL_NO_ERROR then there has been no detectable error since the last call to alGetError (or since the AL
      * was initialized).</p>
-     * <p>
+     *
      * <p>Error codes can be mapped to strings. The alGetString function returns a pointer to a constant (literal) string that is identical to the identifier used
      * for the enumeration value, as defined in the specification.</p>
+     *
+     * @return the error code, or AL_NO_ERROR if none
      */
     public int alGetError();
 
@@ -322,7 +324,7 @@ public interface AL {
 
     /**
      * Sets the source state to AL_STOPPED.
-     * <p>
+     *
      * <p>alSourceStop applied to an AL_INITIAL source is a legal NOP. alSourceStop applied to a AL_PLAYING source will change its state to AL_STOPPED. The source
      * is exempt from processing, its current state is preserved. alSourceStop applied to a AL_PAUSED source will change its state to AL_STOPPED, with the same
      * consequences as on a AL_PLAYING source. alSourceStop applied to a AL_STOPPED source is a legal NOP.</p>
@@ -342,17 +344,17 @@ public interface AL {
 
     /**
      * Sets the sample data of the specified buffer.
-     * <p>
+     *
      * <p>The data specified is copied to an internal software, or if possible, hardware buffer. The implementation is free to apply decompression, conversion,
      * resampling, and filtering as needed.</p>
-     * <p>
+     *
      * <p>8-bit data is expressed as an unsigned value over the range 0 to 255, 128 being an audio output level of zero.</p>
-     * <p>
+     *
      * <p>16-bit data is expressed as a signed value over the range -32768 to 32767, 0 being an audio output level of zero. Byte order for 16-bit values is
      * determined by the native format of the CPU.</p>
-     * <p>
+     *
      * <p>Stereo data is expressed in an interleaved format, left channel sample followed by the right channel sample.</p>
-     * <p>
+     *
      * <p>Buffers containing audio data with more than one channel will be played without 3D spatialization features – these formats are normally used for
      * background music.</p>
      *
@@ -363,13 +365,14 @@ public interface AL {
      *  {@link #AL_FORMAT_STEREO8 FORMAT_STEREO8}
      *  {@link #AL_FORMAT_STEREO16 FORMAT_STEREO16}
      * @param data      the sample data.
+     * @param size      the length of the data (in bytes, &ge;0)
      * @param frequency the data frequency.
      */
     public void alBufferData(int buffer, int format, ByteBuffer data, int size, int frequency);
 
     /**
      * Sets the source state to AL_PLAYING.
-     * <p>
+     *
      * <p>alSourcePlay applied to an AL_INITIAL source will promote the source to AL_PLAYING, thus the data found in the buffer will be fed into the processing,
      * starting at the beginning. alSourcePlay applied to a AL_PLAYING source will restart the source from the beginning. It will not affect the configuration,
      * and will leave the source in AL_PLAYING state, but reset the sampling offset to the beginning. alSourcePlay applied to a AL_PAUSED source will resume
@@ -382,7 +385,7 @@ public interface AL {
 
     /**
      * Sets the source state to AL_PAUSED.
-     * <p>
+     *
      * <p>alSourcePause applied to an AL_INITIAL source is a legal NOP. alSourcePause applied to a AL_PLAYING source will change its state to AL_PAUSED. The
      * source is exempt from processing, its current state is preserved. alSourcePause applied to a AL_PAUSED source is a legal NOP. alSourcePause applied to a
      * AL_STOPPED source is a legal NOP.</p>
@@ -461,12 +464,13 @@ public interface AL {
      *  {@link #AL_REFERENCE_DISTANCE REFERENCE_DISTANCE}
      *  {@link #AL_ROLLOFF_FACTOR ROLLOFF_FACTOR}
      *  {@link #AL_MAX_DISTANCE MAX_DISTANCE}
+     * @return the parameter value
      */
     public int alGetSourcei(int source, int param);
 
     /**
      * Removes a number of buffer entries that have finished processing, in the order of apperance, from the queue of the specified source.
-     * <p>
+     *
      * <p>Once a queue entry for a buffer has been appended to a queue and is pending processing, it should not be changed. Removal of a given queue entry is not
      * possible unless either the source is stopped (in which case then entire queue is considered processed), or if the queue entry has already been processed
      * (AL_PLAYING or AL_PAUSED source). A playing source will enter the AL_STOPPED state if it completes playback of the last buffer in its queue (the same
@@ -480,7 +484,7 @@ public interface AL {
 
     /**
      * Queues up one or multiple buffer names to the specified source.
-     * <p>
+     *
      * <p>The buffers will be queued in the sequence in which they appear in the array. This command is legal on a source in any playback state (to allow for
      * streaming, queuing has to be possible on a AL_PLAYING source). All buffers in a queue must have the same format and attributes, with the exception of
      * the {@code NULL} buffer (i.e., 0) which can always be queued.</p>

+ 6 - 4
jme3-core/src/main/java/com/jme3/audio/openal/ALC.java

@@ -88,16 +88,18 @@ public interface ALC {
      *  {@link #ALC_EXTENSIONS EXTENSIONS}
      *  {@link #ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER CAPTURE_DEFAULT_DEVICE_SPECIFIER}
      *  {@link #ALC_CAPTURE_DEVICE_SPECIFIER CAPTURE_DEVICE_SPECIFIER}
+     * @return the parameter value
      */
     public String alcGetString(int parameter);
 
     /**
      * Verifies that a given extension is available for the current context and the device it is associated with.
-     * <p>
+     *
      * <p>Invalid and unsupported string tokens return ALC_FALSE. A {@code NULL} deviceHandle is acceptable. {@code extName} is not case sensitive – the implementation
      * will convert the name to all upper-case internally (and will express extension names in upper-case).</p>
      *
      * @param extension the extension name.
+     * @return true if the extension is available, otherwise false
      */
     public boolean alcIsExtensionPresent(String extension);
 
@@ -117,7 +119,7 @@ public interface ALC {
 
     /**
      * Pauses a playback device.
-     * <p>
+     *
      * <p>When paused, no contexts associated with the device will be processed or updated. Playing sources will not produce sound, have their offsets
      * incremented, or process any more buffers, until the device is resumed. Pausing a device that is already paused is a legal no-op.</p>
      */
@@ -125,10 +127,10 @@ public interface ALC {
 
     /**
      * Resumes playback of a paused device.
-     * <p>
+     *
      * <p>This will restart processing on the device -- sources will resume playing sound as normal. Resuming playback on a device that is not paused is a legal
      * no-op.</p>
-     * <p>
+     *
      * <p>These functions are not reference counted. alcDeviceResumeSOFT only needs to be called once to resume playback, regardless of how many times
      * {@link #alcDevicePauseSOFT DevicePauseSOFT} was called.</p>
      */

+ 3 - 3
jme3-core/src/main/java/com/jme3/bounding/BoundingBox.java

@@ -127,9 +127,9 @@ public class BoundingBox extends BoundingVolume {
      * <code>computeFromTris</code> creates a new Bounding Box from a given
      * set of triangles. It is used in OBBTree calculations.
      *
-     * @param tris
-     * @param start
-     * @param end
+     * @param tris triangle data (unaffected)
+     * @param start the index of the first triangle to be used
+     * @param end the index of the triangle after the last one to be used
      */
     public void computeFromTris(Triangle[] tris, int start, int end) {
         if (end - start <= 0) {

+ 3 - 3
jme3-core/src/main/java/com/jme3/bounding/BoundingSphere.java

@@ -126,9 +126,9 @@ public class BoundingSphere extends BoundingVolume {
      * <code>computeFromTris</code> creates a new Bounding Box from a given
      * set of triangles. It is used in OBBTree calculations.
      *
-     * @param tris
-     * @param start
-     * @param end
+     * @param tris triangle data (unaffected)
+     * @param start the index of the first triangle to be used
+     * @param end the index of the triangle after the last one to be used
      */
     public void computeFromTris(Triangle[] tris, int start, int end) {
         if (end - start <= 0) {

+ 6 - 2
jme3-core/src/main/java/com/jme3/bounding/BoundingVolume.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -79,6 +79,8 @@ public abstract class BoundingVolume implements Savable, Cloneable, Collidable {
 
     /**
      * Grabs the checkplane we should check first.
+     *
+     * @return the index of the plane to be checked first
      */
     public int getCheckPlane() {
         return checkPlane;
@@ -87,7 +89,7 @@ public abstract class BoundingVolume implements Savable, Cloneable, Collidable {
     /**
      * Sets the index of the plane that should be first checked during rendering.
      *
-     * @param value
+     * @param value the index of the plane to be checked first
      */
     public final void setCheckPlane(int value) {
         checkPlane = value;
@@ -95,6 +97,8 @@ public abstract class BoundingVolume implements Savable, Cloneable, Collidable {
 
     /**
      * getType returns the type of bounding volume this is.
+     * 
+     * @return an enum value
      */
     public abstract Type getType();
 

+ 8 - 6
jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java

@@ -214,8 +214,8 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
     /**
      * used internally for serialization
      *
-     * @param ex
-     * @throws IOException
+     * @param ex the exporter (not null)
+     * @throws IOException from the exporter
      */
     @Override
     public void write(JmeExporter ex) throws IOException {
@@ -230,8 +230,8 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
     /**
      * used internally for serialization
      *
-     * @param im
-     * @throws IOException
+     * @param im the importer (not null)
+     * @throws IOException from the importer
      */
     @Override
     @SuppressWarnings("unchecked")
@@ -299,6 +299,8 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *  Sets the unique ID of this app state.  Note: that setting
      *  this while an app state is attached to the state manager will
      *  have no effect on ID-based lookups.
+     *
+     * @param id the desired ID
      */
     protected void setId( String id ) {
         this.id = id;
@@ -355,7 +357,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
     /**
      * called internally don't call it directly.
      *
-     * @param tpf
+     * @param tpf time per frame (in seconds)
      */
     @Override
     public void update(float tpf) {
@@ -367,7 +369,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
     /**
      * used internally, don't call this directly.
      *
-     * @param tpf
+     * @param tpf time per frame (in seconds)
      */
     @Override
     public void onUpdate(float tpf) {

+ 9 - 4
jme3-core/src/main/java/com/jme3/cinematic/MotionPath.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,6 +73,8 @@ public class MotionPath implements Savable {
      * this methods sets the new localTranslation to the spatial of the MotionEvent control.
      * @param time the time since the animation started
      * @param control the control over the moving spatial
+     * @param tpf time per frame (in seconds)
+     * @return the distance travelled (in world units)
      */
     public float interpolatePath(float time, MotionEvent control, float tpf) {
 
@@ -180,6 +182,7 @@ public class MotionPath implements Savable {
      * compute the index of the waypoint and the interpolation value according to a distance
      * returns a vector 2 containing the index in the x field and the interpolation value in the y field
      * @param distance the distance traveled on this path
+     * @param store storage for the result (not null, modified)
      * @return the waypoint index and the interpolation value in a vector2
      */
     public Vector2f getWayPointIndexForDistance(float distance, Vector2f store) {
@@ -260,7 +263,7 @@ public class MotionPath implements Savable {
 
     /**
      * sets the type of spline used for the path interpolation for this path
-     * @param pathSplineType
+     * @param pathSplineType the desired type
      */
     public void setPathSplineType(SplineType pathSplineType) {
         spline.setType(pathSplineType);
@@ -342,7 +345,8 @@ public class MotionPath implements Savable {
 
     /**
      * sets the tension of the curve (only for catmull rom) 0.0 will give a linear curve, 1.0 a round curve
-     * @param curveTension
+     *
+     * @param curveTension the desired value
      */
     public void setCurveTension(float curveTension) {
         spline.setCurveTension(curveTension);
@@ -361,7 +365,8 @@ public class MotionPath implements Savable {
 
     /**
      * Sets the path to be a cycle
-     * @param cycle
+     *
+     * @param cycle true for a cycle, false for a non-cycle
      */
     public void setCycle(boolean cycle) {
 

+ 13 - 10
jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,7 +74,8 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
 
     /**
      * Construct a cinematic event with the given initial duration.
-     * @param initialDuration 
+     *
+     * @param initialDuration the desired duration (in seconds, default=10)
      */
     public AbstractCinematicEvent(float initialDuration) {
         this.initialDuration = initialDuration;
@@ -82,7 +83,8 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
 
     /**
      * Construct a cinematic event with the given loopMode.
-     * @param loopMode 
+     *
+     * @param loopMode the desired mode (Loop/DontLoop/Cycle)
      */
     public AbstractCinematicEvent(LoopMode loopMode) {
         this.loopMode = loopMode;
@@ -216,7 +218,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Sets the speed of the animation.
      * At speed = 1, the animation will last initialDuration seconds,
      * At speed = 2, the animation will last initialDuration/2...
-     * @param speed
+     * @param speed the desired speedup factor (default=1)
      */
     @Override
     public void setSpeed(float speed) {
@@ -252,7 +254,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
 
     /**
      * Sets the duration of the animation at speed = 1 in seconds.
-     * @param initialDuration
+     * @param initialDuration the desired duration (in de-scaled seconds)
      */
     @Override
     public void setInitialDuration(float initialDuration) {
@@ -272,7 +274,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
     /**
      * Sets the loopMode of the animation.
      * @see LoopMode
-     * @param loopMode
+     * @param loopMode the desired mode (default=DontLoop)
      */
     @Override
     public void setLoopMode(LoopMode loopMode) {
@@ -282,7 +284,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
     /**
      * Used for serialization only.
      * @param ex exporter
-     * @throws IOException 
+     * @throws IOException from the exporter
      */
     @Override
     public void write(JmeExporter ex) throws IOException {
@@ -296,7 +298,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
     /**
      * Used for serialization only.
      * @param im importer
-     * @throws IOException 
+     * @throws IOException from the importer
      */
     @Override
     public void read(JmeImporter im) throws IOException {
@@ -309,8 +311,9 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
 
     /**
      * Initialize this event (called internally only).
-     * @param app
-     * @param cinematic 
+     *
+     * @param app ignored
+     * @param cinematic ignored
      */
     @Override
     public void initEvent(Application app, Cinematic cinematic) {

+ 1 - 0
jme3-core/src/main/java/com/jme3/cinematic/events/AnimationEvent.java

@@ -233,6 +233,7 @@ public class AnimationEvent extends AbstractCinematicEvent {
      *
      * @param model the model on which the animation will be played
      * @param animationName the name of the animation to play
+     * @param loopMode the desired mode (Loop/DontLoop/Cycle)
      * @param channelIndex the index of the channel default is 0. Events on the
      * @param blendTime the time during the animation are gonna be blended
      * same channelIndex will use the same channel.

+ 5 - 5
jme3-core/src/main/java/com/jme3/cinematic/events/CameraEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2017 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -116,8 +116,8 @@ public class CameraEvent extends AbstractCinematicEvent{
     /**
      * used internally for serialization
      *
-     * @param ex
-     * @throws IOException
+     * @param ex the exporter (not null)
+     * @throws IOException from the exporter
      */
     @Override
     public void write(JmeExporter ex) throws IOException {
@@ -130,8 +130,8 @@ public class CameraEvent extends AbstractCinematicEvent{
     /**
      * used internally for serialization
      *
-     * @param im
-     * @throws IOException
+     * @param im the importer (not null)
+     * @throws IOException from the importer
      */
     @Override
     public void read(JmeImporter im) throws IOException {

+ 6 - 4
jme3-core/src/main/java/com/jme3/cinematic/events/CinematicEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,7 +74,8 @@ public interface CinematicEvent extends Savable {
 
     /**
      * Sets the speed of the animation (1 is normal speed, 2 is twice faster)
-     * @param speed
+     *
+     * @param speed the desired speed (default=1)
      */
     public void setSpeed(float speed);
 
@@ -117,8 +118,9 @@ public interface CinematicEvent extends Savable {
     public float getInitialDuration();
 
     /**
-     * Sets the duration of the antionamtion at speed = 1 in seconds
-     * @param initialDuration
+     * Sets the duration of the animation at speed = 1 in seconds
+     * 
+     * @param initialDuration the desired duration (in de-scaled seconds)
      */
     public void setInitialDuration(float initialDuration);
 

+ 26 - 12
jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java

@@ -114,8 +114,9 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
     
     /**
      * Creates a MotionPath for the given spatial on the given motion path.
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
      */
     public MotionEvent(Spatial spatial, MotionPath path) {
         super();
@@ -125,8 +126,10 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path.
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param initialDuration the desired duration (in seconds, default=10)
      */
     public MotionEvent(Spatial spatial, MotionPath path, float initialDuration) {
         super(initialDuration);
@@ -136,8 +139,10 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path.
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param loopMode (default=DontLoop)
      */
     public MotionEvent(Spatial spatial, MotionPath path, LoopMode loopMode) {
         super();
@@ -148,8 +153,11 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path.
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param initialDuration the desired duration (in seconds, default=10)
+     * @param loopMode (default=DontLoop)
      */
     public MotionEvent(Spatial spatial, MotionPath path, float initialDuration, LoopMode loopMode) {
         super(initialDuration);
@@ -272,7 +280,8 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
 
     /**
      * Clone this control for the given spatial.
-     * @param spatial
+     *
+     * @param spatial ignored
      * @return never
      */
     @Deprecated
@@ -331,6 +340,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
     /**
      * This method is meant to be called by the motion path only.
      *
+     * @param currentValue the desired value
      */
     public void setCurrentValue(float currentValue) {
         this.currentValue = currentValue;
@@ -347,6 +357,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
     /**
      * This method is meant to be called by the motion path only.
      *
+     * @param currentWayPoint the desired waypoint index
      */
     public void setCurrentWayPoint(int currentWayPoint) {
         this.currentWayPoint = currentWayPoint;
@@ -365,7 +376,8 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
      * Use MotionEvent#setDirection((Vector3f direction,Vector3f upVector) if 
      * you want a custom up vector.
      * This method is used by the motion path.
-     * @param direction
+     *
+     * @param direction the desired forward direction (not null, unaffected)
      */
     public void setDirection(Vector3f direction) {
         setDirection(direction, Vector3f.UNIT_Y); 
@@ -374,7 +386,8 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
     /**
      * Sets the direction of the spatial with the given up vector.
      * This method is used by the motion path.
-     * @param direction
+     *
+     * @param direction the desired forward direction (not null, unaffected)
      * @param upVector the up vector to consider for this direction.
      */
     public void setDirection(Vector3f direction,Vector3f upVector) {
@@ -440,7 +453,8 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
 
     /**
      * Sets the motion path to follow.
-     * @param path
+     *
+     * @param path the desired path (alias created)
      */
     public void setPath(MotionPath path) {
         this.path = path;

+ 17 - 9
jme3-core/src/main/java/com/jme3/cinematic/events/MotionTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,8 +53,9 @@ public class MotionTrack extends MotionEvent {
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
      */
     public MotionTrack(Spatial spatial, MotionPath path) {
         super(spatial, path);
@@ -62,8 +63,10 @@ public class MotionTrack extends MotionEvent {
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param initialDuration the desired duration (in seconds, default=10)
      */
     public MotionTrack(Spatial spatial, MotionPath path, float initialDuration) {
         super(spatial, path, initialDuration);
@@ -71,8 +74,10 @@ public class MotionTrack extends MotionEvent {
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param loopMode (default=DontLoop)
      */
     public MotionTrack(Spatial spatial, MotionPath path, LoopMode loopMode) {
         super(spatial, path, loopMode);
@@ -81,8 +86,11 @@ public class MotionTrack extends MotionEvent {
 
     /**
      * Creates a MotionPath for the given spatial on the given motion path
-     * @param spatial
-     * @param path
+     *
+     * @param spatial the Spatial to move (not null)
+     * @param path the path to be taken (alias created)
+     * @param initialDuration the desired duration (in seconds, default=10)
+     * @param loopMode (default=DontLoop)
      */
     public MotionTrack(Spatial spatial, MotionPath path, float initialDuration, LoopMode loopMode) {
         super(spatial, path, initialDuration, loopMode);

+ 3 - 2
jme3-core/src/main/java/com/jme3/collision/CollisionResults.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -130,7 +130,8 @@ public class CollisionResults implements Iterable<CollisionResult> {
 
     /**
      * Internal use only.
-     * @param index
+     *
+     * @param index the zero-based index of the desired result
      * @return the pre-existing instance
      */
     public CollisionResult getCollisionDirect(int index){

+ 3 - 3
jme3-core/src/main/java/com/jme3/collision/MotionAllowedListener.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +40,8 @@ public interface MotionAllowedListener {
      * Check if motion allowed. Modify position and velocity vectors
      * appropriately if not allowed..
      * 
-     * @param position
-     * @param velocity
+     * @param position the position vector (modified)
+     * @param velocity the velocity vector (modified)
      */
     public void checkMotionAllowed(Vector3f position, Vector3f velocity);
 

+ 10 - 4
jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -842,6 +842,8 @@ public class ParticleEmitter extends Geometry {
 
     /**
      * @deprecated Use ParticleEmitter.getParticleInfluencer().getInitialVelocity() instead.
+     * 
+     * @return the pre-existing velocity vector
      */
     @Deprecated
     public Vector3f getInitialVelocity() {
@@ -868,6 +870,7 @@ public class ParticleEmitter extends Geometry {
     }
 
     /**
+     * @return the velocity variation
      * @deprecated
      * This method is deprecated.
      * Use ParticleEmitter.getParticleInfluencer().getVelocityVariation(); instead.
@@ -944,6 +947,8 @@ public class ParticleEmitter extends Geometry {
 
     /**
      * Instantly emits available particles, up to num.
+     * 
+     * @param num the maximum number of particles to emit
      */
     public void emitParticles(int num) {
         // Force world transform to update
@@ -1143,7 +1148,8 @@ public class ParticleEmitter extends Geometry {
 
     /**
      * Callback from Control.update(), do not use.
-     * @param tpf
+     *
+     * @param tpf time per frame (in seconds)
      */
     public void updateFromControl(float tpf) {
         if (enabled) {
@@ -1154,8 +1160,8 @@ public class ParticleEmitter extends Geometry {
     /**
      * Callback from Control.render(), do not use.
      *
-     * @param rm
-     * @param vp
+     * @param rm the RenderManager rendering this Emitter (not null)
+     * @param vp the ViewPort being rendered (not null)
      */
     private void renderFromControl(RenderManager rm, ViewPort vp) {
         Camera cam = vp.getCamera();

+ 5 - 1
jme3-core/src/main/java/com/jme3/effect/ParticleMesh.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -79,6 +79,10 @@ public abstract class ParticleMesh extends Mesh {
     
     /**
      * Update the particle visual data. Typically called every frame.
+     *
+     * @param particles the particles to update
+     * @param cam the camera to use for billboarding
+     * @param inverseRotation the inverse rotation matrix
      */
     public abstract void updateParticleData(Particle[] particles, Camera cam, Matrix3f inverseRotation);
 

+ 5 - 4
jme3-core/src/main/java/com/jme3/effect/influencers/RadialParticleInfluencer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,7 +82,8 @@ public class RadialParticleInfluencer extends DefaultParticleInfluencer {
 
     /**
      * the origin used for computing the radial velocity direction
-     * @param origin
+     *
+     * @param origin the desired origin location (alias created)
      */
     public void setOrigin(Vector3f origin) {
         this.origin = origin;
@@ -98,7 +99,7 @@ public class RadialParticleInfluencer extends DefaultParticleInfluencer {
 
     /**
      * the radial velocity
-     * @param radialVelocity
+     * @param radialVelocity the desired speed
      */
     public void setRadialVelocity(float radialVelocity) {
         this.radialVelocity = radialVelocity;
@@ -114,7 +115,7 @@ public class RadialParticleInfluencer extends DefaultParticleInfluencer {
 
     /**
      * nullify y component of particle velocity to make the effect expand only on x and z axis
-     * @param horizontal
+     * @param horizontal true to zero the Y component, false to preserve it
      */
     public void setHorizontal(boolean horizontal) {
         this.horizontal = horizontal;

+ 4 - 4
jme3-core/src/main/java/com/jme3/environment/EnvironmentCamera.java

@@ -365,8 +365,8 @@ public class EnvironmentCamera extends BaseAppState {
     /**
      * creates an offsceen VP
      *
-     * @param name
-     * @param offCamera
+     * @param name the desired name for the offscreen viewport
+     * @param offCamera the Camera to be used (alias created)
      * @return a new instance
      */
     protected ViewPort createOffViewPort(final String name, final Camera offCamera) {
@@ -379,8 +379,8 @@ public class EnvironmentCamera extends BaseAppState {
     /**
      * create an offscreen frame buffer.
      *
-     * @param mapSize
-     * @param offView
+     * @param mapSize the desired size (pixels per side)
+     * @param offView the off-screen viewport to be used (alias created)
      * @return a new instance
      */
     protected FrameBuffer createOffScreenFrameBuffer(int mapSize, ViewPort offView) {

+ 1 - 0
jme3-core/src/main/java/com/jme3/environment/LightProbeFactory.java

@@ -218,6 +218,7 @@ public class LightProbeFactory {
      * Will return a Node meant to be added to a GUI presenting the 2 cube maps in a cross pattern with all the mip maps.
      *
      * @param manager the asset manager
+     * @param probe the LightProbe to be debugged (not null)
      * @return a debug node
      */
     public static Node getDebugGui(AssetManager manager, LightProbe probe) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/environment/generation/IrradianceSphericalHarmonicsGenerator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +59,7 @@ public class IrradianceSphericalHarmonicsGenerator extends RunnableWithProgress
      * process is thread safe.
      *
      * @param app      the Application
-     * @param listener
+     * @param listener to monitor progress (alias created)
      */
     public IrradianceSphericalHarmonicsGenerator(Application app, JobProgressListener<Integer> listener) {
         super(listener);

+ 2 - 2
jme3-core/src/main/java/com/jme3/environment/generation/JobProgressAdapter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2015 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,7 +37,7 @@ package com.jme3.environment.generation;
  * only a subset of method implemented.
  * 
  * @author nehon
- * @param <T>
+ * @param <T> the type of result
  */
 public abstract class JobProgressAdapter<T> implements JobProgressListener<T>{
 

+ 5 - 5
jme3-core/src/main/java/com/jme3/environment/generation/PrefilteredEnvMapFaceGenerator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -81,7 +81,7 @@ public class PrefilteredEnvMapFaceGenerator extends RunnableWithProgress {
      *
      * @param app      the Application
      * @param face     the face to generate
-     * @param listener
+     * @param listener to monitor progress (alias created)
      */
     public PrefilteredEnvMapFaceGenerator(Application app, int face, JobProgressListener<Integer> listener) {
         super(listener);
@@ -98,7 +98,7 @@ public class PrefilteredEnvMapFaceGenerator extends RunnableWithProgress {
      *                       pixel)
      * @param fixSeamsMethod the method used to fix seams as described in
      *                       {@link com.jme3.environment.util.EnvMapUtils.FixSeamsMethod}
-     * @param genType
+     * @param genType        select Fast or HighQuality
      * @param store          The cube map to store the result in.
      */
     public void setGenerationParam(TextureCubeMap sourceMap, int targetMapSize, EnvMapUtils.FixSeamsMethod fixSeamsMethod, EnvMapUtils.GenerationType genType, TextureCubeMap store) {
@@ -331,8 +331,8 @@ public class PrefilteredEnvMapFaceGenerator extends RunnableWithProgress {
     /**
      * Computes GGX half vector in local space
      *
-     * @param xi
-     * @param a2
+     * @param xi (not null)
+     * @param a2 fourth power of roughness
      * @param store caller-provided storage
      * @return either store or a new vector (not null)
      */

+ 2 - 2
jme3-core/src/main/java/com/jme3/environment/generation/RunnableWithProgress.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,7 +54,7 @@ public abstract class RunnableWithProgress implements Runnable {
     /**
      * set the end step value of the process.
      *
-     * @param end
+     * @param end the desired end value (default=0)
      */
     protected void setEnd(int end) {
         this.end = end;

+ 3 - 3
jme3-core/src/main/java/com/jme3/environment/util/EnvMapUtils.java

@@ -147,7 +147,7 @@ public class EnvMapUtils {
      * the same area of the buffer. The position, limit and mark are not an
      * issue.
      *
-     * @param sourceMap
+     * @param sourceMap the map to be copied (not null, unaffected)
      * @return a new instance
      */
     public static TextureCubeMap duplicateCubeMap(TextureCubeMap sourceMap) {
@@ -485,8 +485,8 @@ public class EnvMapUtils {
      * Computes SH coefficient for a given textel dir The method used is the one
      * from this article : http://graphics.stanford.edu/papers/envmap/envmap.pdf
      *
-     * @param texelVect
-     * @param shDir
+     * @param texelVect the input texel (not null, unaffected)
+     * @param shDir storage for the results
      */
     public static void evalShBasis(Vector3f texelVect, float[] shDir) {
 

+ 4 - 2
jme3-core/src/main/java/com/jme3/environment/util/LightsDebugState.java

@@ -125,7 +125,8 @@ public class LightsDebugState extends BaseAppState {
 
     /**
      * Set the scenes for which to render light gizmos.
-     * @param scene 
+     *
+     * @param scene the root of the desired scene (alias created)
      */
     public void setScene(Spatial scene) {
         this.scene = scene;
@@ -165,7 +166,8 @@ public class LightsDebugState extends BaseAppState {
 
     /**
      * sets the scale of the probe's debug sphere
-     * @param probeScale 
+     *
+     * @param probeScale the scale factor (default=1)
      */
     public void setProbeScale(float probeScale) {
         this.probeScale = probeScale;

+ 1 - 1
jme3-core/src/main/java/com/jme3/export/SavableClassUtil.java

@@ -175,7 +175,7 @@ public class SavableClassUtil {
      * @return the Savable instance of the class.
      * @throws InstantiationException thrown if the class does not have an empty constructor.
      * @throws IllegalAccessException thrown if the class is not accessable.
-     * @throws java.lang.reflect.InvocationTargetException
+     * @throws InvocationTargetException if the underlying constructor throws an exception
      * @throws ClassNotFoundException thrown if the class name is not in the classpath.
      */
     public static Savable fromName(String className)

+ 3 - 2
jme3-core/src/main/java/com/jme3/font/BitmapFont.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -126,7 +126,8 @@ public class BitmapFont implements Savable {
     
     /**
      * Gets the line height of a StringBlock.
-     * @param sb
+     *
+     * @param sb the block to measure (not null, unaffected)
      * @return the line height
      */
     public float getLineHeight(StringBlock sb) {

+ 12 - 7
jme3-core/src/main/java/com/jme3/font/BitmapText.java

@@ -213,6 +213,8 @@ public class BitmapText extends Node {
      *  to default... which will be 1 for anything unspecified
      *  and color tags will be reset to 1 or their encoded
      *  alpha.
+     *
+     * @param alpha the desired alpha, or -1 to revert to the default
      */
     public void setAlpha(float alpha) {
         letters.setBaseAlpha(alpha);
@@ -285,7 +287,8 @@ public class BitmapText extends Node {
 
     /**
      * Set horizontal alignment. Applicable only when text bound is set.
-     * @param align
+     *
+     * @param align the desired alignment (such as Align.Left)
      */
     public void setAlignment(BitmapFont.Align align) {
         if (block.getTextBox() == null && align != Align.Left) {
@@ -298,7 +301,8 @@ public class BitmapText extends Node {
 
     /**
      * Set vertical alignment. Applicable only when text bound is set.
-     * @param align
+     *
+     * @param align the desired alignment (such as Align.Top)
      */
     public void setVerticalAlignment(BitmapFont.VAlign align) {
         if (block.getTextBox() == null && align != VAlign.Top) {
@@ -321,7 +325,7 @@ public class BitmapText extends Node {
      * Set the font style of substring. If font doesn't contain style, default style is used
      * @param start start index to set style. inclusive.
      * @param end   end index to set style. EXCLUSIVE.
-     * @param style
+     * @param style the style to apply
      */
     public void setStyle(int start, int end, int style) {
         letters.setStyle(start, end, style);
@@ -330,7 +334,7 @@ public class BitmapText extends Node {
     /**
      * Set the font style of substring. If font doesn't contain style, default style is applied
      * @param regexp regular expression
-     * @param style
+     * @param style  the style to apply
      */
     public void setStyle(String regexp, int style) {
         Pattern p = Pattern.compile(regexp);
@@ -344,7 +348,7 @@ public class BitmapText extends Node {
      * Set the color of substring.
      * @param start start index to set style. inclusive.
      * @param end   end index to set style. EXCLUSIVE.
-     * @param color
+     * @param color the desired color
      */
     public void setColor(int start, int end, ColorRGBA color) {
         letters.setColor(start, end, color);
@@ -355,7 +359,7 @@ public class BitmapText extends Node {
     /**
      * Set the color of substring.
      * @param regexp regular expression
-     * @param color
+     * @param color  the desired color
      */
     public void setColor(String regexp, ColorRGBA color) {
         Pattern p = Pattern.compile(regexp);
@@ -389,7 +393,8 @@ public class BitmapText extends Node {
     /**
      * for setLineWrapType(LineWrapType.NoWrap),
      * set the last character when the text exceeds the bound.
-     * @param c
+     *
+     * @param c the character to indicate truncated text
      */
     public void setEllipsisChar(char c) {
         block.setEllipsisChar(c);

+ 5 - 0
jme3-core/src/main/java/com/jme3/input/AbstractJoystick.java

@@ -52,6 +52,11 @@ public abstract class AbstractJoystick implements Joystick {
 
     /**
      * Creates a new joystick instance. Only used internally.
+     *
+     * @param inputManager (alias created)
+     * @param joyInput (alias created)
+     * @param joyId ID to assign to the instance
+     * @param name name to assign to the instance
      */
     protected AbstractJoystick(InputManager inputManager, JoyInput joyInput,
                                int joyId, String name) {

+ 63 - 32
jme3-core/src/main/java/com/jme3/input/ChaseCamera.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -232,7 +232,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Registers inputs with the input manager
-     * @param inputManager
+     *
+     * @param inputManager (alias created)
      */
     public final void registerWithInput(InputManager inputManager) {
 
@@ -288,7 +289,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * default are
      * new MouseButtonTrigger(MouseInput.BUTTON_LEFT)  left mouse button
      * new MouseButtonTrigger(MouseInput.BUTTON_RIGHT)  right mouse button
-     * @param triggers
+     *
+     * @param triggers the triggers to assign
      */
     public void setToggleRotationTrigger(Trigger... triggers) {
         inputManager.deleteMapping(CameraInput.CHASECAM_TOGGLEROTATE);
@@ -300,7 +302,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * Sets custom triggers for zooming in the cam
      * default is
      * new MouseAxisTrigger(MouseInput.AXIS_WHEEL, true)  mouse wheel up
-     * @param triggers
+     *
+     * @param triggers the triggers to assign
      */
     public void setZoomInTrigger(Trigger... triggers) {
         inputManager.deleteMapping(CameraInput.CHASECAM_ZOOMIN);
@@ -312,7 +315,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * Sets custom triggers for zooming out the cam
      * default is
      * new MouseAxisTrigger(MouseInput.AXIS_WHEEL, false)  mouse wheel down
-     * @param triggers
+     *
+     * @param triggers the triggers to assign
      */
     public void setZoomOutTrigger(Trigger... triggers) {
         inputManager.deleteMapping(CameraInput.CHASECAM_ZOOMOUT);
@@ -385,6 +389,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Updates the camera, should only be called internally
+     *
+     * @param tpf time per frame (in seconds)
      */
     protected void updateCamera(float tpf) {
         if (enabled) {
@@ -546,7 +552,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Returns the max zoom distance of the camera (default is 40)
-     * @return maxDistance
+     *
+     * @return maxDistance the configured distance (in world units)
      */
     public float getMaxDistance() {
         return maxDistance;
@@ -554,7 +561,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the max zoom distance of the camera (default is 40)
-     * @param maxDistance
+     *
+     * @param maxDistance the desired distance (in world units, default=40)
      */
     public void setMaxDistance(float maxDistance) {
         this.maxDistance = maxDistance;
@@ -565,7 +573,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Returns the min zoom distance of the camera (default is 1)
-     * @return minDistance
+     *
+     * @return minDistance the configured distance (in world units)
      */
     public float getMinDistance() {
         return minDistance;
@@ -573,6 +582,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the min zoom distance of the camera (default is 1)
+     *
+     * @param minDistance the desired distance (in world units, default=1)
      */
     public void setMinDistance(float minDistance) {
         this.minDistance = minDistance;
@@ -584,7 +595,7 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
     /**
      * clone this camera for a spatial
      *
-     * @param spatial
+     * @param spatial ignored
      * @return never
      */
     @Deprecated
@@ -612,7 +623,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
          
     /**
      * Sets the spatial for the camera control, should only be used internally
-     * @param spatial
+     *
+     * @param spatial the desired camera target, or null for none
      */
     @Override
     public void setSpatial(Spatial spatial) {
@@ -627,7 +639,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * update the camera control, should only be used internally
-     * @param tpf
+     *
+     * @param tpf time per frame (in seconds)
      */
     @Override
     public void update(float tpf) {
@@ -636,8 +649,9 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * renders the camera control, should only be used internally
-     * @param rm
-     * @param vp
+     *
+     * @param rm ignored
+     * @param vp ignored
      */
     @Override
     public void render(RenderManager rm, ViewPort vp) {
@@ -647,7 +661,7 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
     /**
      * Write the camera
      * @param ex the exporter
-     * @throws IOException
+     * @throws IOException from the exporter
      */
     @Override
     public void write(JmeExporter ex) throws IOException {
@@ -656,8 +670,9 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Read the camera
-     * @param im
-     * @throws IOException
+     *
+     * @param im the importer (not null)
+     * @throws IOException from the importer
      */
     @Override
     public void read(JmeImporter im) throws IOException {
@@ -675,7 +690,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the maximal vertical rotation angle in radian of the camera around the target. Default is Pi/2;
-     * @param maxVerticalRotation
+     *
+     * @param maxVerticalRotation the desired angle (in radians, default=Pi/2)
      */
     public void setMaxVerticalRotation(float maxVerticalRotation) {
         this.maxVerticalRotation = maxVerticalRotation;
@@ -691,7 +707,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the minimal vertical rotation angle in radian of the camera around the target default is 0;
-     * @param minHeight
+     *
+     * @param minHeight the desired angle (in radians, default=0)
      */
     public void setMinVerticalRotation(float minHeight) {
         this.minVerticalRotation = minHeight;
@@ -706,7 +723,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Enables smooth motion for this chase camera
-     * @param smoothMotion
+     *
+     * @param smoothMotion true to enable, false to disable (default=false)
      */
     public void setSmoothMotion(boolean smoothMotion) {
         this.smoothMotion = smoothMotion;
@@ -725,7 +743,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * Sets the chasing sensitivity, the lower the value the slower the camera will follow the target when it moves
      * default is 5
      * Only has an effect if smoothMotion is set to true and trailing is enabled
-     * @param chasingSensitivity
+     *
+     * @param chasingSensitivity the desired value (default=5)
      */
     public void setChasingSensitivity(float chasingSensitivity) {
         this.chasingSensitivity = chasingSensitivity;
@@ -744,7 +763,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * default is 5, values over 5 should have no effect.
      * If you want a significant slow down try values below 1.
      * Only has an effect if smoothMotion is set to true
-     * @param rotationSensitivity
+     *
+     * @param rotationSensitivity the desired value (default=5)
      */
     public void setRotationSensitivity(float rotationSensitivity) {
         this.rotationSensitivity = rotationSensitivity;
@@ -761,7 +781,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
     /**
      * Enable the camera trailing : The camera smoothly go in the targets trail when it moves.
      * Only has an effect if smoothMotion is set to true
-     * @param trailingEnabled
+     *
+     * @param trailingEnabled true to enable, false to disable (default=true)
      */
     public void setTrailingEnabled(boolean trailingEnabled) {
         this.trailingEnabled = trailingEnabled;
@@ -780,7 +801,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * Sets the trailing rotation inertia : default is 0.1. This causes the camera to stop roughly when the target stops moving
      * before the camera reaches the trail position.
      * Only has an effect if smoothMotion is set to true and trailing is enabled
-     * @param trailingRotationInertia
+     *
+     * @param trailingRotationInertia the desired value (default=0.05)
      */
     public void setTrailingRotationInertia(float trailingRotationInertia) {
         this.trailingRotationInertia = trailingRotationInertia;
@@ -798,7 +820,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
      * Only has an effect if smoothMotion is set to true and trailing is enabled
      * Sets the trailing sensitivity, the lower the value, the slower the camera will go in the target trail when it moves.
      * default is 0.5;
-     * @param trailingSensitivity
+     *
+     * @param trailingSensitivity the desired value (default=0.5)
      */
     public void setTrailingSensitivity(float trailingSensitivity) {
         this.trailingSensitivity = trailingSensitivity;
@@ -815,7 +838,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
     /**
      * Sets the zoom sensitivity, the lower the value, the slower the camera will zoom in and out.
      * default is 2.
-     * @param zoomSensitivity
+     *
+     * @param zoomSensitivity the desired factor (default=2)
      */
     public void setZoomSensitivity(float zoomSensitivity) {
         this.zoomSensitivity = zoomSensitivity;
@@ -842,7 +866,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the default distance at start of application
-     * @param defaultDistance
+     *
+     * @param defaultDistance the desired distance (in world units, default=20)
      */
     public void setDefaultDistance(float defaultDistance) {
         distance = defaultDistance;
@@ -851,7 +876,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * sets the default horizontal rotation in radian of the camera at start of the application
-     * @param angleInRad
+     *
+     * @param angleInRad the desired angle (in radians, default=0)
      */
     public void setDefaultHorizontalRotation(float angleInRad) {
         rotation = angleInRad;
@@ -860,7 +886,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * sets the default vertical rotation in radian of the camera at start of the application
-     * @param angleInRad
+     *
+     * @param angleInRad the desired angle (in radians, default=Pi/6)
      */
     public void setDefaultVerticalRotation(float angleInRad) {
         vRotation = angleInRad;
@@ -943,7 +970,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the offset from the target's position where the camera looks at
-     * @param lookAtOffset
+     *
+     * @param lookAtOffset the desired offset (alias created)
      */
     public void setLookAtOffset(Vector3f lookAtOffset) {
         this.lookAtOffset = lookAtOffset;
@@ -951,7 +979,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * Sets the up vector of the camera used for the lookAt on the target
-     * @param up
+     *
+     * @param up the desired direction (alias created)
      */
     public void setUpVector(Vector3f up) {
         initialUpVec = up;
@@ -975,7 +1004,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * invert the vertical axis movement of the mouse
-     * @param invertYaxis
+     *
+     * @param invertYaxis true&rarr;invert, false&rarr;don't invert
      */
     public void setInvertVerticalAxis(boolean invertYaxis) {
         this.invertYaxis = invertYaxis;
@@ -993,7 +1023,8 @@ public class ChaseCamera implements ActionListener, AnalogListener, Control, Jme
 
     /**
      * invert the Horizontal axis movement of the mouse
-     * @param invertXaxis
+     *
+     * @param invertXaxis true&rarr;invert, false&rarr;don't invert
      */
     public void setInvertHorizontalAxis(boolean invertXaxis) {
         this.invertXaxis = invertXaxis;

+ 11 - 0
jme3-core/src/main/java/com/jme3/input/DefaultJoystickAxis.java

@@ -51,6 +51,15 @@ public class DefaultJoystickAxis implements JoystickAxis {
 
     /**
      *  Creates a new joystick axis instance. Only used internally.
+     *
+     * @param inputManager (alias created)
+     * @param parent (alias created)
+     * @param axisIndex index for the new axis
+     * @param name name for the new axis
+     * @param logicalId logical identifier for the new axis
+     * @param isAnalog true&rarr;continuous range, false&rarr;discrete values
+     * @param isRelative true&rarr;presents relative values
+     * @param deadZone the radius of the dead zone
      */
     public DefaultJoystickAxis(InputManager inputManager, Joystick parent,
                                int axisIndex, String name, String logicalId,
@@ -146,6 +155,8 @@ public class DefaultJoystickAxis implements JoystickAxis {
     /**
      *  Sets/overrides the dead zone for this axis.  This indicates that values
      *  within +/- deadZone should be ignored.
+     *
+     * @param f the desired radius
      */
     public void setDeadZone( float f ) {
         this.deadZone = f;

+ 2 - 2
jme3-core/src/main/java/com/jme3/input/FlyByCamera.java

@@ -123,7 +123,7 @@ public class FlyByCamera implements AnalogListener, ActionListener {
     /**
      * Sets the up vector that should be used for the camera.
      *
-     * @param upVec
+     * @param upVec the desired direction (not null, unaffected)
      */
     public void setUpVector(Vector3f upVec) {
         initialUpVec.set(upVec);
@@ -249,7 +249,7 @@ public class FlyByCamera implements AnalogListener, ActionListener {
      * Register this controller to receive input events from the specified input
      * manager.
      *
-     * @param inputManager
+     * @param inputManager (not null, alias created)
      */
     public void registerWithInput(InputManager inputManager){
         this.inputManager = inputManager;

+ 5 - 2
jme3-core/src/main/java/com/jme3/input/Input.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,13 +69,16 @@ public interface Input {
      * Sets the input listener to receive events from this device. The
      * appropriate events should be dispatched through the callbacks
      * in RawInputListener.
-     * @param listener
+     *
+     * @param listener the desired listener
      */
     public void setInputListener(RawInputListener listener);
 
     /**
      * @return The current absolute time as nanoseconds. This time is expected
      * to be relative to the time given in InputEvents time property.
+     *
+     * @return the current time (in nanoseconds)
      */
     public long getInputTimeNanos();
 }

+ 10 - 6
jme3-core/src/main/java/com/jme3/input/InputManager.java

@@ -124,10 +124,10 @@ public class InputManager implements RawInputListener {
      *
      * <p>This should only be called internally in {@link Application}.
      *
-     * @param mouse
-     * @param keys
-     * @param joystick
-     * @param touch
+     * @param mouse (not null, alias created)
+     * @param keys (not null, alias created)
+     * @param joystick (may be null, alias created)
+     * @param touch (may be null, alias created)
      * @throws IllegalArgumentException If either mouseInput or keyInput are null.
      */
     public InputManager(MouseInput mouse, KeyInput keys, JoyInput joystick, TouchInput touch) {
@@ -594,7 +594,7 @@ public class InputManager implements RawInputListener {
      * for the given mappingName.
      *
      * @param mappingName The mapping name to check.
-     *
+     * @return true if the mapping is registered, otherwise false
      * @see InputManager#addMapping(java.lang.String, com.jme3.input.controls.Trigger[])
      * @see InputManager#deleteMapping(java.lang.String)
      */
@@ -774,6 +774,7 @@ public class InputManager implements RawInputListener {
      * @deprecated Use isSimulateMouse
      * Returns state of simulation of mouse events. Used for touchscreen input only.
      *
+     * @return true if a mouse is simulated, otherwise false
      */
     @Deprecated
     public boolean getSimulateMouse() {
@@ -787,6 +788,7 @@ public class InputManager implements RawInputListener {
     /**
      * Returns state of simulation of mouse events. Used for touchscreen input only.
      *
+     * @return true if a mouse is simulated, otherwise false
      */
     public boolean isSimulateMouse() {
         if (touch != null) {
@@ -810,6 +812,7 @@ public class InputManager implements RawInputListener {
     /**
      * Returns state of simulation of key events. Used for touchscreen input only.
      *
+     * @return true if a keyboard is simulated, otherwise false
      */
     public boolean isSimulateKeyboard() {
         if (touch != null) {
@@ -960,7 +963,7 @@ public class InputManager implements RawInputListener {
      * Re-sets the joystick list when a joystick is added or removed.
      * This should only be called internally.
      *
-     * @param joysticks
+     * @param joysticks (alias created)
      */
     public void setJoysticks(Joystick[] joysticks) {
         this.joysticks = joysticks;
@@ -970,6 +973,7 @@ public class InputManager implements RawInputListener {
      * Add a listener that reports when a joystick has been added or removed.
      * Currently only implemented in LWJGL3
      * @param listener the listener
+     * @return true
      */
     public boolean addJoystickConnectionListener(JoystickConnectionListener listener) {
         return joystickConnectionListeners.add(listener);

+ 9 - 1
jme3-core/src/main/java/com/jme3/input/Joystick.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -77,11 +77,13 @@ public interface Joystick {
      * Returns the JoystickAxis with the specified logical ID.
      *
      * @param logicalId The id of the axis to search for as returned by JoystickAxis.getLogicalId().
+     * @return the pre-existing instance, or null if not found
      */
     public JoystickAxis getAxis(String logicalId);
 
     /**
      * Returns a read-only list of all joystick axes for this Joystick.
+     * @return an unmodifiable list of pre-existing instances
      */
     public List<JoystickAxis> getAxes();
 
@@ -89,11 +91,13 @@ public interface Joystick {
      * Returns the JoystickButton with the specified logical ID.
      *
      * @param logicalId The id of the axis to search for as returned by JoystickButton.getLogicalId().
+     * @return the pre-existing instance, or null if not found
      */
     public JoystickButton getButton(String logicalId);
 
     /**
      * Returns a read-only list of all joystick buttons for this Joystick.
+     * @return an unmodifiable list of pre-existing instances
      */
     public List<JoystickButton> getButtons();
 
@@ -102,6 +106,7 @@ public interface Joystick {
      *
      * <p>E.g. for most gamepads, the left control stick X axis will be returned.
      *
+     * @return the pre-existing instance
      * @see JoystickAxis#assignAxis(java.lang.String, java.lang.String)
      */
     public JoystickAxis getXAxis();     
@@ -111,6 +116,7 @@ public interface Joystick {
      *
      * <p>E.g. for most gamepads, the left control stick Y axis will be returned.
      *
+     * @return the pre-existing instance
      * @see JoystickAxis#assignAxis(java.lang.String, java.lang.String)
      */
     public JoystickAxis getYAxis();     
@@ -119,6 +125,7 @@ public interface Joystick {
      * Returns the POV X axis for this joystick.  This is a convenience axis 
      * providing an x-axis subview of the HAT axis.
      *
+     * @return the pre-existing instance
      * @see JoystickAxis#assignAxis(java.lang.String, java.lang.String)
      */
     public JoystickAxis getPovXAxis();     
@@ -127,6 +134,7 @@ public interface Joystick {
      * Returns the POV Y axis for this joystick.  This is a convenience axis 
      * providing a y-axis subview of the HAT axis.
      *
+     * @return the pre-existing instance
      * @see JoystickAxis#assignAxis(java.lang.String, java.lang.String)
      */
     public JoystickAxis getPovYAxis();     

+ 9 - 1
jme3-core/src/main/java/com/jme3/input/JoystickAxis.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -79,6 +79,8 @@ public interface JoystickAxis {
     
     /**
      *  Returns the joystick to which this axis object belongs.
+     *
+     * @return the pre-existing instance
      */
     public Joystick getJoystick(); 
 
@@ -107,17 +109,23 @@ public interface JoystickAxis {
     /**
      *  Returns true if this is an analog axis, meaning the values
      *  are a continuous range instead of 1, 0, and -1.
+     *
+     * @return true if analog, otherwise false
      */
     public boolean isAnalog(); 
     
     /**
      *  Returns true if this axis presents relative values.
+     * 
+     * @return true if relative, otherwise false
      */
     public boolean isRelative(); 
     
     /**
      *  Returns the suggested dead zone for this axis.  Values less than this
      *  can be safely ignored.
+     * 
+     * @return the radius of the dead zone
      */
     public float getDeadZone();
 }

+ 3 - 1
jme3-core/src/main/java/com/jme3/input/JoystickButton.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,6 +61,8 @@ public interface JoystickButton {
     
     /**
      *  Returns the joystick to which this axis object belongs.
+     *
+     * @return the pre-existing instance
      */
     public Joystick getJoystick(); 
 

+ 32 - 0
jme3-core/src/main/java/com/jme3/input/JoystickCompatibilityMappings.java

@@ -269,6 +269,10 @@ public class JoystickCompatibilityMappings {
     /**
      * Returns the remapped version of the axis/button name if there
      * is a mapping for it otherwise it returns the original name.
+     *
+     * @param joystickName which joystick (not null)
+     * @param componentId the unmapped axis/button name
+     * @return the resulting axis/button name
      */
     public static String remapComponent(String joystickName, String componentId) {
         logger.log(Level.FINE, "remapComponent(" + joystickName + ", " + componentId + ")");
@@ -301,6 +305,8 @@ public class JoystickCompatibilityMappings {
      * Returns a set of Joystick axis name remappings if they exist otherwise
      * it returns an empty map.
      *
+     * @param joystickName which joystick (not null)
+     * @return an unmodifiable map
      * @author Markil3
      */
     public static Map<String, AxisData> getJoystickAxisMappings(String joystickName) {
@@ -314,6 +320,8 @@ public class JoystickCompatibilityMappings {
      * Returns a set of Joystick button name remappings if they exist otherwise
      * it returns an empty map.
      *
+     * @param joystickName which joystick (not null)
+     * @return an unmodifiable map
      * @author Markil3
      */
     public static Map<String, String> getJoystickButtonMappings(String joystickName) {
@@ -326,6 +334,9 @@ public class JoystickCompatibilityMappings {
     /**
      * Returns a set of Joystick axis/button name remappings if they exist otherwise
      * it returns an empty map.
+     *
+     * @param joystickName which joystick (not null)
+     * @return an unmodifiable map
      */
     public static Map<String, String> getJoystickMappings(String joystickName) {
         Map<String, String> result = getMappings(joystickName.trim(), false);
@@ -339,6 +350,9 @@ public class JoystickCompatibilityMappings {
      * joystick's name and axis/button name.  The "remap" value will be
      * used instead.
      *
+     * @param stickName which joystick (not null)
+     * @param sourceComponentId the name to be remapped
+     * @param remapId the remapped name
      * @author Markil3
      */
     public static void addAxisMapping(String stickName, String sourceComponentId, String remapId) {
@@ -351,6 +365,10 @@ public class JoystickCompatibilityMappings {
      * joystick's name and axis/button name.  The "remap" value will be
      * used instead.
      *
+     * @param stickName which joystick (not null)
+     * @param sourceComponentId the name to be remapped
+     * @param remapId the remapped name
+     * @param range the desired range (not null, exactly 2 elements)
      * @author Markil3
      */
     public static void addAxisMapping(String stickName, String sourceComponentId, String remapId, float[] range) {
@@ -366,6 +384,9 @@ public class JoystickCompatibilityMappings {
      * joystick's name and axis/button name.  The "remap" value will be
      * used instead.
      *
+     * @param stickName which joystick (not null)
+     * @param sourceComponentId the name to be remapped
+     * @param remapId the remapped name
      * @author Markil3
      */
     public static void addButtonMapping(String stickName, String sourceComponentId, String remapId) {
@@ -377,6 +398,10 @@ public class JoystickCompatibilityMappings {
      * Adds a single Joystick axis or button remapping based on the
      * joystick's name and axis/button name.  The "remap" value will be
      * used instead.
+     * 
+     * @param stickName which joystick (not null)
+     * @param sourceComponentId the name to be remapped
+     * @param remapId the remapped name
      */
     public static void addMapping(String stickName, String sourceComponentId, String remapId) {
         logger.log(Level.FINE, "addMapping(" + stickName + ", " + sourceComponentId + ", " + remapId + ")");
@@ -391,6 +416,7 @@ public class JoystickCompatibilityMappings {
      * addMapping(stickName, sourceComponent, remap) for every property
      * that it is able to parse.
      *
+     * @param p (not null)
      * @author Paul Speed
      * @author Markil 3
      */
@@ -471,6 +497,9 @@ public class JoystickCompatibilityMappings {
 
     /**
      * Maps a regular expression to a normalized name for that joystick.
+     *
+     * @param regex the regular expression to be matched
+     * @param name the remapped name
      */
     public static void addJoystickNameRegex(String regex, String name) {
         logger.log(Level.FINE, "addJoystickNameRegex(" + regex + ", " + name + ")");
@@ -496,6 +525,9 @@ public class JoystickCompatibilityMappings {
     /**
      * Loads a set of compatibility mappings from the property file
      * specified by the given URL.
+     *
+     * @param u the URL of the properties file (not null)
+     * @throws IOException if an I/O exception occurs
      */
     public static void loadMappingProperties(URL u) throws IOException {
         logger.log(Level.FINE, "Loading mapping properties:{0}", u);

+ 7 - 7
jme3-core/src/main/java/com/jme3/input/RawInputListener.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,35 +56,35 @@ public interface RawInputListener {
     /**
      * Invoked on joystick axis events.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onJoyAxisEvent(JoyAxisEvent evt);
 
     /**
      * Invoked on joystick button presses.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onJoyButtonEvent(JoyButtonEvent evt);
 
     /**
      * Invoked on mouse movement/motion events.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onMouseMotionEvent(MouseMotionEvent evt);
 
     /**
      * Invoked on mouse button events.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onMouseButtonEvent(MouseButtonEvent evt);
 
     /**
      * Invoked on keyboard key press or release events.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onKeyEvent(KeyInputEvent evt);
 
@@ -92,7 +92,7 @@ public interface RawInputListener {
     /**
      * Invoked on touchscreen touch events.
      *
-     * @param evt
+     * @param evt information about the event
      */
     public void onTouchEvent(TouchEvent evt);
 

+ 5 - 1
jme3-core/src/main/java/com/jme3/input/controls/JoyAxisTrigger.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +41,10 @@ public class JoyAxisTrigger implements Trigger {
     /**
      * Use {@link Joystick#assignAxis(java.lang.String, java.lang.String, int) }
      * instead.
+     *
+     * @param joyId which joystick
+     * @param axisId which joystick axis
+     * @param negative true to negate input values, false to leave unchanged
      */
     public JoyAxisTrigger(int joyId, int axisId, boolean negative) {
         this.joyId = joyId;

+ 3 - 3
jme3-core/src/main/java/com/jme3/input/controls/JoyButtonTrigger.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +40,8 @@ public class JoyButtonTrigger implements Trigger {
     /**
      * Use {@link Joystick#assignButton(java.lang.String, int) } instead.
      * 
-     * @param joyId
-     * @param axisId 
+     * @param joyId the ID of a joystick
+     * @param axisId the ID of a joystick axis
      */
     public JoyButtonTrigger(int joyId, int axisId) {
         this.joyId = joyId;

+ 1 - 0
jme3-core/src/main/java/com/jme3/input/event/JoyAxisEvent.java

@@ -71,6 +71,7 @@ public class JoyAxisEvent extends InputEvent {
     /**
      * Returns the JoystickAxis that triggered this event.
      *
+     * @return the pre-existing instance
      * @see com.jme3.input.JoystickAxis#assignAxis(java.lang.String, java.lang.String)
      */
     public JoystickAxis getAxis() {

+ 2 - 0
jme3-core/src/main/java/com/jme3/light/Light.java

@@ -277,6 +277,8 @@ public abstract class Light implements Savable, Cloneable {
 
     /**
      * Used internally to compute the last distance value.
+     *
+     * @param owner the Spatial whose distance is to be determined
      */
     protected abstract void computeLastDistance(Spatial owner);
     

+ 6 - 4
jme3-core/src/main/java/com/jme3/light/LightList.java

@@ -90,7 +90,8 @@ public final class LightList implements Iterable<Light>, Savable, Cloneable, Jme
 
     /**
      * Set the owner of the LightList. Only used for cloning.
-     * @param owner
+     *
+     * @param owner the desired owner (alias created)
      */
     public void setOwner(Spatial owner){
         this.owner = owner;
@@ -122,7 +123,7 @@ public final class LightList implements Iterable<Light>, Savable, Cloneable, Jme
     /**
      * Remove the light at the given index.
      *
-     * @param index
+     * @param index the zero-based index of the Light to be removed (&ge;0)
      */
     public void remove(int index){
         if (index >= listSize || index < 0)
@@ -162,6 +163,7 @@ public final class LightList implements Iterable<Light>, Savable, Cloneable, Jme
     }
 
     /**
+     * @param num the zero-based index of the light to be accessed (&ge;0)
      * @return the light at the given index.
      * @throws IndexOutOfBoundsException If the given index is outside bounds.
      */
@@ -224,8 +226,8 @@ public final class LightList implements Iterable<Light>, Savable, Cloneable, Jme
      * Updates a "world-space" light list, using the spatial's local-space
      * light list and its parent's world-space light list.
      *
-     * @param local
-     * @param parent
+     * @param local the local-space LightList (not null)
+     * @param parent the parent's world-space LightList
      */
     public void update(LightList local, LightList parent){
         // clear the list as it will be reconstructed

+ 3 - 1
jme3-core/src/main/java/com/jme3/light/LightProbe.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -145,6 +145,8 @@ public class LightProbe extends Light implements Savable {
      * <p>
      * The radius is obvious for a SphereProbeArea,
      * but in the case of a OrientedBoxProbeArea it's the max of the extent vector's components.
+     *
+     * @return the pre-existing matrix
      */
     public Matrix4f getUniformMatrix(){
 

+ 3 - 2
jme3-core/src/main/java/com/jme3/light/LightProbeBlendingStrategy.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,8 @@ public interface LightProbeBlendingStrategy {
     
     /**
      * Registers a probe with this strategy
-     * @param probe 
+     *
+     * @param probe the probe to be registered
      */
     public void registerProbe(LightProbe probe);
     /**

+ 9 - 0
jme3-core/src/main/java/com/jme3/light/ProbeArea.java

@@ -19,16 +19,25 @@ public interface ProbeArea extends Savable, Cloneable{
     public Matrix4f getUniformMatrix();
 
     /**
+     * @param box the BoundingBox to test for intersection
+     * @param vars storage for temporary data
+     * @return true if the area and the box intersect, otherwise false
      * @see Light#intersectsBox(BoundingBox, TempVars)
      */
     public boolean intersectsBox(BoundingBox box, TempVars vars);
 
     /**
+     * @param sphere the BoundingSphere to test for intersection
+     * @param vars storage for temporary data
+     * @return true if the area and the sphere intersect, otherwise false
      * @see Light#intersectsSphere(BoundingSphere, TempVars)
      */
     public boolean intersectsSphere(BoundingSphere sphere, TempVars vars);
 
     /**
+     * @param camera the Camera whose frustum will be tested for intersection
+     * @param vars storage for temporary data
+     * @return true if the area and the frustum intersect, otherwise false
      * @see Light#intersectsFrustum(Camera, TempVars)
      */
     public abstract boolean intersectsFrustum(Camera camera, TempVars vars);

+ 5 - 3
jme3-core/src/main/java/com/jme3/light/SpotLight.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012, 2015-2016, 2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -378,7 +378,8 @@ public class SpotLight extends Light {
      * Must be between 0 and pi/2.
      * <p>
      * This angle is the angle between the spot direction axis and the inner border of the cone of influence.
-     * @param spotInnerAngle 
+     *
+     * @param spotInnerAngle the desired angle (in radians, &ge;0, &le;Pi/2)
      */
     public void setSpotInnerAngle(float spotInnerAngle) {
         if (spotInnerAngle < 0f || spotInnerAngle >= FastMath.HALF_PI) {
@@ -403,7 +404,8 @@ public class SpotLight extends Light {
      * <p>
      * This angle is the angle between the spot direction axis and the outer border of the cone of influence.
      * this should be greater than the inner angle or the result will be unexpected.
-     * @param spotOuterAngle 
+     *
+     * @param spotOuterAngle the desired angle (in radians, &ge;0, &le;Pi/2)
      */
     public void setSpotOuterAngle(float spotOuterAngle) {
         if (spotOuterAngle < 0f || spotOuterAngle >= FastMath.HALF_PI) {

+ 4 - 0
jme3-core/src/main/java/com/jme3/material/MatParam.java

@@ -55,6 +55,10 @@ public class MatParam implements Savable, Cloneable {
 
     /**
      * Create a new material parameter. For internal use only.
+     *
+     * @param type the type of the parameter
+     * @param name the desired parameter name
+     * @param value the desired parameter value (alias created)
      */
     public MatParam(VarType type, String name, Object value) {
         this.type = type;

Неке датотеке нису приказане због велике количине промена