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,96 +0,0 @@
1
- /*
2
- Part of the Processing project - http://processing.org
3
-
4
- Copyright (c) 2011-12 hansi raber, released under LGPL under agreement
5
-
6
- This library is free software; you can redistribute it and/or
7
- modify it under the terms of the GNU Lesser General Public
8
- License as published by the Free Software Foundation, version 2.1.
9
-
10
- This library is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- Lesser General Public License for more details.
14
-
15
- You should have received a copy of the GNU Lesser General
16
- Public License along with this library; if not, write to the
17
- Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- Boston, MA 02111-1307 USA
19
- */
20
- package japplemenubar;
21
-
22
- import java.io.*;
23
-
24
- import processing.core.PApplet;
25
-
26
-
27
- /**
28
- * Starting point for the application. General initialization should be done
29
- * inside the ApplicationController's init() method. If certain kinds of
30
- * non-Swing initialization takes too long, it should happen in a new Thread
31
- * and off the Swing event dispatch thread (EDT).
32
- *
33
- * @author hansi
34
- */
35
- public class JAppleMenuBar {
36
- static JAppleMenuBar instance;
37
- static final String FILENAME = "libjAppleMenuBar.jnilib";
38
-
39
- static {
40
- try {
41
- File temp = File.createTempFile("processing", "menubar");
42
- temp.delete(); // remove the file itself
43
- temp.mkdirs(); // create a directory out of it
44
- temp.deleteOnExit();
45
-
46
- File jnilibFile = new File(temp, FILENAME);
47
- InputStream input = JAppleMenuBar.class.getResourceAsStream(FILENAME);
48
- if (input != null) {
49
- if (PApplet.saveStream(jnilibFile, input)) {
50
- System.load(jnilibFile.getAbsolutePath());
51
- instance = new JAppleMenuBar();
52
-
53
- } else {
54
- sadness("Problem saving " + FILENAME + " for full screen use.");
55
- }
56
- } else {
57
- sadness("Could not load " + FILENAME + " from core.jar");
58
- }
59
- } catch (IOException e) {
60
- sadness("Unknown error, here's the stack trace.");
61
- e.printStackTrace();
62
- }
63
- }
64
-
65
-
66
- static void sadness(String msg) {
67
- System.err.println("Full screen mode disabled. " + msg);
68
- }
69
-
70
-
71
- // static public void show() {
72
- // instance.setVisible(true);
73
- // }
74
-
75
- /**
76
- *
77
- */
78
-
79
-
80
- static public void hide() {
81
- instance.setVisible(false, false);
82
- }
83
-
84
- /**
85
- *
86
- * @param visibility
87
- * @param kioskMode
88
- */
89
- public native void setVisible(boolean visibility, boolean kioskMode);
90
-
91
-
92
- // public void setVisible(boolean visibility) {
93
- // // Keep original API in-tact. Default kiosk-mode to off.
94
- // setVisible(visibility, false);
95
- // }
96
- }
@@ -1,252 +0,0 @@
1
- package monkstone.complex;
2
-
3
- import java.util.Objects;
4
-
5
- /**
6
- * The purpose of this class is to to make Complex operations more efficient
7
- * than JRuby RubyComplex, by having a simpler interface, only modest
8
- * improvements were obtained (but this is better than nothing on RaspberryPI).
9
- */
10
- public final class JComplex {
11
-
12
- private final double re; // the real part
13
- private final double im; // the imaginary part
14
- private final static JComplex ZERO = new JComplex(0, 0);
15
- private final static JComplex NAN = new JComplex(Double.NaN, Double.NaN);
16
-
17
- /**
18
- * create a new object with the given real and imaginary parts
19
- *
20
- * @param real
21
- * @param imag
22
- */
23
- public JComplex(double real, double imag) {
24
- re = real;
25
- im = imag;
26
- }
27
-
28
- /**
29
- * @return a string representation of the invoking Complex object
30
- */
31
- @Override
32
- public String toString() {
33
- return "JComplex(" + re + ", " + im + "i)";
34
- }
35
-
36
- /**
37
- *
38
- * @return abs/modulus/magnitude
39
- */
40
- public final double abs() {
41
- return Math.hypot(re, im);
42
- }
43
-
44
- /**
45
- *
46
- * @return square of abs/modulus/magnitude
47
- */
48
- public final double abs2() {
49
- return re * re + im * im;
50
- }
51
-
52
- /**
53
- *
54
- * @return angle/phase/argument, normalized to be between -pi and pi
55
- */
56
- public final double phase() {
57
- return Math.atan2(im, re);
58
- }
59
-
60
- /**
61
- *
62
- * @param b
63
- * @return a new Complex object whose value is (this + b)
64
- */
65
- public final JComplex add(JComplex b) {
66
- JComplex a = this; // invoking object
67
- double real = a.re + b.re;
68
- double imag = a.im + b.im;
69
- return new JComplex(real, imag);
70
- }
71
-
72
- /**
73
- *
74
- * @param scalar
75
- * @return a new Complex object whose value is (this + scalar)
76
- */
77
- public final JComplex add(double scalar) {
78
- return new JComplex(re + scalar, im);
79
- }
80
-
81
- public final boolean zero() {
82
- return this.equals(ZERO);
83
- }
84
-
85
- /**
86
- *
87
- * @param b
88
- * @return a new Complex object whose value is (this - b)
89
- */
90
- public final JComplex sub(JComplex b) {
91
- JComplex a = this;
92
- double real = a.re - b.re;
93
- double imag = a.im - b.im;
94
- return new JComplex(real, imag);
95
- }
96
-
97
- /**
98
- *
99
- * @param scalar
100
- * @return a new Complex object whose value is (this - scalar)
101
- */
102
- public final JComplex sub(double scalar) {
103
- return new JComplex(re - scalar, im);
104
- }
105
-
106
- /**
107
- *
108
- * @param b
109
- * @return a new Complex object whose value is (this * b)
110
- */
111
- public final JComplex mul(JComplex b) {
112
- JComplex a = this;
113
- double real = a.re * b.re - a.im * b.im;
114
- double imag = a.re * b.im + a.im * b.re;
115
- return new JComplex(real, imag);
116
- }
117
-
118
- /**
119
- * Also known as scale
120
- *
121
- * @param b
122
- * @return a new Complex object whose value is (this * b)
123
- */
124
- public final JComplex mul(double b) {
125
- return new JComplex(re * b, im * b);
126
- }
127
-
128
- /**
129
- *
130
- * @return a new Complex object whose value is the conjugate of this
131
- */
132
- public final JComplex conjugate() {
133
- return new JComplex(re, -im);
134
- }
135
-
136
- /**
137
- *
138
- * @return a new Complex object whose value is the reciprocal of this
139
- */
140
- private JComplex reciprocal() {
141
- double scale = re * re + im * im; // self dot product
142
- return new JComplex(re / scale, -im / scale);
143
- }
144
-
145
- /**
146
- *
147
- * @param other
148
- * @return this^other
149
- */
150
- public final JComplex pow(JComplex other) {
151
- if (this.zero()) {
152
- if (other.zero()) {
153
- return ZERO;
154
- }
155
- return NAN;
156
- }
157
- return (this).log().mul(other).exp();
158
- }
159
-
160
- /**
161
- *
162
- * @param scalar
163
- * @return this^scalar
164
- */
165
- public final JComplex pow(double scalar) {
166
- if (this.zero()) {
167
- if (scalar == 0) {
168
- return ZERO;
169
- }
170
- return NAN;
171
- }
172
- return (this).log().mul(scalar).exp();
173
- }
174
-
175
- /**
176
- *
177
- * @return log
178
- */
179
- private JComplex log() {
180
- return new JComplex(Math.log(abs()), Math.atan2(im, re));
181
- }
182
-
183
- /**
184
- *
185
- * @return real part
186
- */
187
- public final double re() {
188
- return re;
189
- }
190
-
191
- /**
192
- *
193
- * @return imaginary part
194
- */
195
- public final double im() {
196
- return im;
197
- }
198
-
199
- /**
200
- *
201
- * @param b
202
- * @return a / b
203
- */
204
- public final JComplex div(JComplex b) {
205
- JComplex a = this;
206
- return a.mul(b.reciprocal());
207
- }
208
-
209
- /**
210
- *
211
- * @param b
212
- * @return a / b
213
- */
214
- public final JComplex div(double b) {
215
- if (b == 0) {
216
- return NAN;
217
- }
218
- return new JComplex(re / b, im / b);
219
- }
220
-
221
- /**
222
- *
223
- * @return a new Complex object whose value is the complex exponential of
224
- * this
225
- */
226
- public final JComplex exp() {
227
- return new JComplex(Math.exp(re) * Math.cos(im), Math.exp(re) * Math.sin(im));
228
- }
229
-
230
- @Override
231
- public final int hashCode() {
232
- return Objects.hash(re, im);
233
- }
234
-
235
- @Override
236
- public final boolean equals(Object obj) {
237
- if (this == obj) {
238
- return true;
239
- }
240
- if (obj == null) {
241
- return false;
242
- }
243
- if (getClass() != obj.getClass()) {
244
- return false;
245
- }
246
- final JComplex other = (JComplex) obj;
247
- if (Double.doubleToLongBits(this.re) != Double.doubleToLongBits(other.re)) {
248
- return false;
249
- }
250
- return Double.doubleToLongBits(this.im) == Double.doubleToLongBits(other.im);
251
- }
252
- }