picrate 2.3.0-java → 2.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
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
- }