picrate 2.3.0-java → 2.5.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -1
  3. data/Gemfile +1 -1
  4. data/README.md +2 -2
  5. data/Rakefile +1 -1
  6. data/docs/.gitignore +1 -0
  7. data/docs/_classes/{app_render → gfx_render}/app_render.md +5 -5
  8. data/docs/_methods/{noise_mode.md → noise_modes.md} +9 -21
  9. data/docs/_posts/2018-05-06-install_jruby.md +5 -5
  10. data/docs/_posts/2019-11-11-getting_started_buster.md +1 -1
  11. data/lib/picrate/app.rb +3 -7
  12. data/lib/picrate/native_folder.rb +1 -1
  13. data/lib/picrate/version.rb +1 -1
  14. data/lib/{picrate-2.3.0.jar → picrate-2.5.0.jar} +0 -0
  15. data/{lib → library/pdf}/itextpdf-5.5.13.2.jar +0 -0
  16. data/library/pdf/pdf.rb +1 -0
  17. data/library/svg/batik-all-1.14.jar +0 -0
  18. data/library/svg/svg.rb +7 -0
  19. data/picrate.gemspec +4 -3
  20. data/pom.rb +19 -10
  21. data/pom.xml +19 -6
  22. data/src/main/java/monkstone/FastNoiseModuleJava.java +127 -0
  23. data/src/main/java/monkstone/PicrateLibrary.java +2 -0
  24. data/src/main/java/monkstone/SmoothNoiseModuleJava.java +127 -0
  25. data/src/main/java/monkstone/noise/OpenSimplex2F.java +62 -29
  26. data/src/main/java/monkstone/noise/OpenSimplex2S.java +1138 -1106
  27. data/src/main/java/monkstone/vecmath/GfxRender.java +10 -11
  28. data/src/main/java/monkstone/vecmath/JRender.java +7 -7
  29. data/src/main/java/monkstone/vecmath/ShapeRender.java +3 -4
  30. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +28 -40
  31. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +30 -45
  32. data/src/main/java/processing/awt/PImageAWT.java +1 -1
  33. data/src/main/java/processing/awt/ShimAWT.java +1 -1
  34. data/src/main/java/processing/core/PApplet.java +1 -92
  35. data/src/main/java/processing/core/PImage.java +14 -14
  36. data/src/main/java/processing/opengl/PShader.java +0 -6
  37. data/src/main/java/processing/pdf/PGraphicsPDF.java +61 -139
  38. data/src/main/java/processing/svg/PGraphicsSVG.java +378 -0
  39. data/test/noise_test.rb +17 -0
  40. data/test/respond_to_test.rb +0 -1
  41. data/test/test_helper.rb +1 -1
  42. data/vendors/Rakefile +1 -1
  43. metadata +21 -32
  44. data/src/main/java/japplemenubar/JAppleMenuBar.java +0 -96
  45. data/src/main/java/japplemenubar/libjAppleMenuBar.jnilib +0 -0
  46. data/src/main/java/monkstone/complex/JComplex.java +0 -252
  47. data/src/main/java/monkstone/noise/FastTerrain.java +0 -874
  48. data/src/main/java/monkstone/noise/Noise.java +0 -90
  49. data/src/main/java/monkstone/noise/NoiseGenerator.java +0 -75
  50. data/src/main/java/monkstone/noise/NoiseMode.java +0 -28
  51. data/src/main/java/monkstone/noise/SmoothTerrain.java +0 -1099
  52. data/src/main/java/monkstone/vecmath/AppRender.java +0 -88
  53. data/src/main/java/monkstone/vecmath/package-info.java +0 -20
  54. data/src/main/java/monkstone/vecmath/vec2/package-info.java +0 -6
  55. data/src/main/java/monkstone/vecmath/vec3/package-info.java +0 -6
@@ -1,90 +0,0 @@
1
- package monkstone.noise;
2
-
3
- /*
4
- * Copyright (c) 2021 Martin Prout
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 3.0 of the License, or (at your option) any later version.
10
- *
11
- * http://creativecommons.org/licenses/LGPL/2.1/
12
- *
13
- * This library is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
- * Lesser General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU General Public
19
- * License along with this library; if not, write to the Free Software
20
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
- */
22
- public interface Noise {
23
-
24
- /**
25
- *
26
- * @param x
27
- * @return
28
- */
29
- default float noise(float x) {
30
- return noise(x, 0);
31
- }
32
-
33
- /**
34
- *
35
- * @param x
36
- * @param y
37
- * @return
38
- */
39
- default float noise(float x, float y) {
40
- return noise(x, y, 0);
41
- }
42
-
43
- /**
44
- * <p>
45
- * Returns the Perlin noise value at specified coordinates. Perlin noise is
46
- * a random sequence generator producing a more natural ordered, harmonic
47
- * succession of numbers compared to the standard <b>random()</b> function.
48
- * It was invented by Ken Perlin in the 1980s and been used since in
49
- * graphical applications to produce procedural textures, natural motion,
50
- * shapes, terrains etc. The main difference to the
51
- * <b>random()</b> function is that Perlin noise is defined in an infinite
52
- * n-dimensional space where each pair of coordinates corresponds to a fixed
53
- * semi-random value (fixed only for the lifespan of the program). The
54
- * resulting value will always be between 0.0 and 1.0. Processing can
55
- * compute 1D, 2D and 3D noise, depending on the number of coordinates
56
- * given. The noise value can be animated by moving through the noise space
57
- * as demonstrated in the example above. The 2nd and 3rd dimension can also
58
- * be interpreted as time.The actual noise is structured similar to an audio
59
- * signal, in respect to the function's use of frequencies. Similar to the
60
- * concept of harmonics in physics, perlin noise is computed over several
61
- * octaves which are added together for the final result. Another way to
62
- * adjust the character of the resulting sequence is the scale of the input
63
- * coordinates. As the function works within an infinite space the value of
64
- * the coordinates doesn't matter as such, only the distance between
65
- * successive coordinates does (eg. when using <b>noise()</b> within a
66
- * loop). As a general rule the smaller the difference between coordinates,
67
- * the smoother the resulting noise sequence will be. Steps of 0.005-0.03
68
- * work best for most applications, but this will differ depending on use.
69
- * <p>
70
- * @param x x-coordinate in noise space
71
- * @param y y-coordinate in noise space
72
- * @param z z-coordinate in noise space
73
- * @return
74
- */
75
- float noise(float x, float y, float z);
76
-
77
- float noise(float x, float y, float z, float w);
78
-
79
- void noiseMode(NoiseMode mode);
80
-
81
- /**
82
- * Sets the seed value for <b>noise()</b>.By default, <b>noise()</b>
83
- * produces different results each time the program is run. Set the
84
- * <b>value</b> parameter to a constant to return the same pseudo-random
85
- * numbers each time the software is run.
86
- *
87
- * @param seed
88
- */
89
- void noiseSeed(long seed);
90
- }
@@ -1,75 +0,0 @@
1
- /*
2
- * To change this license header, choose License Headers in Project Properties.
3
- * To change this template file, choose Tools | Templates
4
- * and open the template in the editor.
5
- */
6
- package monkstone.noise;
7
-
8
- /**
9
- *
10
- * @author Martin Prout
11
- */
12
- public class NoiseGenerator implements Noise {
13
-
14
- private Noise implementation;
15
- private NoiseMode mode;
16
- private Long seed;
17
-
18
- public NoiseGenerator() {
19
- seed = System.currentTimeMillis();
20
- this.implementation = new OpenSimplex2F(seed);
21
- this.mode = NoiseMode.DEFAULT;
22
- }
23
-
24
- @Override
25
- public void noiseMode(NoiseMode mode) {
26
- switch (mode) {
27
- case DEFAULT:
28
- if (this.mode != NoiseMode.DEFAULT) {
29
- this.implementation = new OpenSimplex2F(seed);
30
- this.mode = NoiseMode.DEFAULT;
31
- }
32
- break;
33
- case OPEN_SMOOTH:
34
- if (this.mode != NoiseMode.OPEN_SMOOTH) {
35
- this.implementation = new OpenSimplex2S(seed);
36
- this.mode = NoiseMode.OPEN_SMOOTH;
37
- break;
38
- }
39
- case SMOOTH_TERRAIN:
40
- if (this.mode != NoiseMode.SMOOTH_TERRAIN) {
41
- this.implementation = new SmoothTerrain(seed);
42
- this.mode = NoiseMode.SMOOTH_TERRAIN;
43
- }
44
- break;
45
- case FAST_TERRAIN:
46
- if (this.mode != NoiseMode.FAST_TERRAIN) {
47
- this.implementation = new FastTerrain(seed);
48
- this.mode = NoiseMode.FAST_TERRAIN;
49
- }
50
- break;
51
- default:
52
- this.implementation = new OpenSimplex2F(seed);
53
- this.mode = NoiseMode.DEFAULT;
54
- }
55
- }
56
-
57
- public NoiseMode noiseMode() {
58
- return this.mode;
59
- }
60
-
61
- @Override
62
- public float noise(float x, float y, float z) {
63
- return implementation.noise(x, y, z);
64
- }
65
-
66
- @Override
67
- public float noise(float x, float y, float z, float w) {
68
- return implementation.noise(x, y, z, w);
69
- }
70
-
71
- @Override
72
- public void noiseSeed(long seed) {
73
- this.seed = seed;
74
- }
75
- }
@@ -1,28 +0,0 @@
1
- /*
2
- * To change this license header, choose License Headers in Project Properties.
3
- * To change this template file, choose Tools | Templates
4
- * and open the template in the editor.
5
- */
6
- package monkstone.noise;
7
-
8
- /**
9
- *
10
- * @author tux
11
- */
12
- public enum NoiseMode {
13
- DEFAULT("Fast OpenSimplex2"),
14
- FAST_TERRAIN("Fast Terrain"),
15
- SMOOTH_TERRAIN("Smooth Terrain"),
16
- OPEN_SMOOTH("Smooth OpenSimplex2");
17
-
18
- private final String description;
19
-
20
- NoiseMode(String description) {
21
- this.description = description;
22
- }
23
-
24
- public String description() {
25
- return description;
26
- }
27
-
28
- }