propane 3.11.0-java → 4.0.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.
- checksums.yaml +4 -4
- data/.mvn/extensions.xml +1 -1
- data/CHANGELOG.md +2 -0
- data/README.md +5 -5
- data/Rakefile +1 -1
- data/lib/propane/app.rb +2 -2
- data/lib/propane/version.rb +1 -1
- data/lib/propane-4.0.0.jar +0 -0
- data/library/slider/slider.rb +1 -1
- data/pom.rb +8 -8
- data/pom.xml +8 -8
- data/propane.gemspec +3 -3
- data/src/main/java/monkstone/ColorUtil.java +1 -1
- data/src/main/java/monkstone/MathToolModule.java +1 -1
- data/src/main/java/monkstone/PropaneLibrary.java +1 -1
- data/src/main/java/monkstone/fastmath/DegLutTables.java +10 -11
- data/src/main/java/monkstone/fastmath/Deglut.java +1 -1
- data/src/main/java/monkstone/filechooser/Chooser.java +1 -1
- data/src/main/java/monkstone/noise/LICENSE +121 -0
- data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SliderBar.java +1 -1
- data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
- data/src/main/java/monkstone/slider/WheelHandler.java +1 -1
- data/src/main/java/monkstone/vecmath/package-info.java +1 -1
- data/src/main/java/monkstone/vecmath/vec2/Vec2.java +92 -68
- data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
- data/src/main/java/monkstone/videoevent/CaptureEvent.java +1 -1
- data/src/main/java/monkstone/videoevent/MovieEvent.java +1 -1
- data/src/main/java/monkstone/videoevent/package-info.java +1 -1
- data/src/main/java/processing/awt/PGraphicsJava2D.java +0 -1
- data/src/main/java/processing/awt/PImageAWT.java +2 -4
- data/src/main/java/processing/core/PApplet.java +4 -4
- data/src/main/java/processing/core/PImage.java +3025 -3047
- data/src/main/java/processing/core/PMatrix.java +5 -2
- data/src/main/java/processing/data/DoubleDict.java +72 -43
- data/src/main/java/processing/data/DoubleList.java +6 -2
- data/src/main/java/processing/data/FloatDict.java +744 -756
- data/src/main/java/processing/data/FloatList.java +68 -26
- data/src/main/java/processing/data/IntDict.java +72 -45
- data/src/main/java/processing/data/IntList.java +63 -26
- data/src/main/java/processing/data/JSONArray.java +892 -931
- data/src/main/java/processing/data/JSONObject.java +1169 -1262
- data/src/main/java/processing/data/JSONTokener.java +30 -49
- data/src/main/java/processing/data/LongDict.java +699 -712
- data/src/main/java/processing/data/LongList.java +676 -700
- data/src/main/java/processing/data/Sort.java +1 -0
- data/src/main/java/processing/data/Table.java +4040 -3661
- data/src/main/java/processing/data/TableRow.java +16 -0
- data/src/main/java/processing/data/XML.java +1041 -956
- data/src/main/java/processing/event/TouchEvent.java +1 -1
- data/src/main/java/processing/opengl/FontTexture.java +2 -2
- data/src/main/java/processing/opengl/PGraphicsOpenGL.java +15 -18
- data/src/main/java/processing/opengl/PJOGL.java +2 -2
- data/src/main/java/processing/opengl/PShapeOpenGL.java +23 -24
- data/test/vecmath_spec_test.rb +14 -3
- data/vendors/Rakefile +1 -1
- metadata +9 -8
- data/lib/propane-3.11.0.jar +0 -0
@@ -43,18 +43,21 @@ public interface PMatrix {
|
|
43
43
|
|
44
44
|
/**
|
45
45
|
* Returns a copy of this PMatrix.
|
46
|
+
* @return
|
46
47
|
*/
|
47
48
|
public PMatrix get();
|
48
49
|
|
49
50
|
/**
|
50
|
-
* Copies the matrix contents into a float array.
|
51
|
-
|
51
|
+
* Copies the matrix contents into a float array.If target is null (or not the correct size), a new array will be created.
|
52
|
+
* @param target
|
53
|
+
* @return
|
52
54
|
*/
|
53
55
|
public float[] get(float[] target);
|
54
56
|
|
55
57
|
|
56
58
|
/**
|
57
59
|
* Make this matrix become a copy of src.
|
60
|
+
* @param src
|
58
61
|
*/
|
59
62
|
public void set(PMatrix src);
|
60
63
|
|
@@ -1,6 +1,9 @@
|
|
1
1
|
package processing.data;
|
2
2
|
|
3
|
-
import java.io.*;
|
3
|
+
//import java.io.*;
|
4
|
+
import java.io.BufferedReader;
|
5
|
+
import java.io.File;
|
6
|
+
import java.io.PrintWriter;
|
4
7
|
import java.util.HashMap;
|
5
8
|
import java.util.Iterator;
|
6
9
|
import java.util.Map;
|
@@ -36,9 +39,10 @@ public class DoubleDict {
|
|
36
39
|
|
37
40
|
|
38
41
|
/**
|
39
|
-
* Create a new lookup with a specific size.
|
40
|
-
|
42
|
+
* Create a new lookup with a specific size.This is more efficient than not
|
43
|
+
specifying a size. Use it when you know the rough size of the thing you're creating.
|
41
44
|
*
|
45
|
+
* @param length
|
42
46
|
* @nowebref
|
43
47
|
*/
|
44
48
|
public DoubleDict(int length) {
|
@@ -52,6 +56,7 @@ public class DoubleDict {
|
|
52
56
|
* Read a set of entries from a Reader that has each key/value pair on
|
53
57
|
* a single line, separated by a tab.
|
54
58
|
*
|
59
|
+
* @param reader
|
55
60
|
* @nowebref
|
56
61
|
*/
|
57
62
|
public DoubleDict(BufferedReader reader) {
|
@@ -59,19 +64,21 @@ public class DoubleDict {
|
|
59
64
|
keys = new String[lines.length];
|
60
65
|
values = new double[lines.length];
|
61
66
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
67
|
+
for (String line : lines) {
|
68
|
+
String[] pieces = PApplet.split(line, '\t');
|
69
|
+
if (pieces.length == 2) {
|
70
|
+
keys[count] = pieces[0];
|
71
|
+
values[count] = PApplet.parseFloat(pieces[1]);
|
72
|
+
indices.put(pieces[0], count);
|
73
|
+
count++;
|
74
|
+
}
|
69
75
|
}
|
70
|
-
}
|
71
76
|
}
|
72
77
|
|
73
78
|
|
74
79
|
/**
|
80
|
+
* @param keys
|
81
|
+
* @param values
|
75
82
|
* @nowebref
|
76
83
|
*/
|
77
84
|
public DoubleDict(String[] keys, double[] values) {
|
@@ -95,6 +102,7 @@ public class DoubleDict {
|
|
95
102
|
* { "key2", 2 }
|
96
103
|
* });
|
97
104
|
* </pre>
|
105
|
+
* @param pairs
|
98
106
|
*/
|
99
107
|
public DoubleDict(Object[][] pairs) {
|
100
108
|
count = pairs.length;
|
@@ -123,6 +131,7 @@ public class DoubleDict {
|
|
123
131
|
|
124
132
|
|
125
133
|
/**
|
134
|
+
* @return
|
126
135
|
* @webref doubledict:method
|
127
136
|
* @brief Returns the number of key/value pairs
|
128
137
|
*/
|
@@ -132,8 +141,8 @@ public class DoubleDict {
|
|
132
141
|
|
133
142
|
|
134
143
|
/**
|
135
|
-
* Resize the internal data, this can only be used to shrink the list.
|
136
|
-
*
|
144
|
+
* Resize the internal data, this can only be used to shrink the list.Helpful for situations like sorting and then grabbing the top 50 entries.
|
145
|
+
* @param length
|
137
146
|
*/
|
138
147
|
public void resize(int length) {
|
139
148
|
if (length == count) return;
|
@@ -191,12 +200,7 @@ public class DoubleDict {
|
|
191
200
|
|
192
201
|
|
193
202
|
public Iterable<Entry> entries() {
|
194
|
-
return
|
195
|
-
|
196
|
-
public Iterator<Entry> iterator() {
|
197
|
-
return entryIterator();
|
198
|
-
}
|
199
|
-
};
|
203
|
+
return this::entryIterator;
|
200
204
|
}
|
201
205
|
|
202
206
|
|
@@ -204,17 +208,20 @@ public class DoubleDict {
|
|
204
208
|
return new Iterator<Entry>() {
|
205
209
|
int index = -1;
|
206
210
|
|
211
|
+
@Override
|
207
212
|
public void remove() {
|
208
213
|
removeIndex(index);
|
209
214
|
index--;
|
210
215
|
}
|
211
216
|
|
217
|
+
@Override
|
212
218
|
public Entry next() {
|
213
219
|
++index;
|
214
220
|
Entry e = new Entry(keys[index], values[index]);
|
215
221
|
return e;
|
216
222
|
}
|
217
223
|
|
224
|
+
@Override
|
218
225
|
public boolean hasNext() {
|
219
226
|
return index+1 < size();
|
220
227
|
}
|
@@ -239,13 +246,7 @@ public class DoubleDict {
|
|
239
246
|
|
240
247
|
|
241
248
|
public Iterable<String> keys() {
|
242
|
-
return
|
243
|
-
|
244
|
-
@Override
|
245
|
-
public Iterator<String> iterator() {
|
246
|
-
return keyIterator();
|
247
|
-
}
|
248
|
-
};
|
249
|
+
return this::keyIterator;
|
249
250
|
}
|
250
251
|
|
251
252
|
|
@@ -254,15 +255,18 @@ public class DoubleDict {
|
|
254
255
|
return new Iterator<String>() {
|
255
256
|
int index = -1;
|
256
257
|
|
258
|
+
@Override
|
257
259
|
public void remove() {
|
258
260
|
removeIndex(index);
|
259
261
|
index--;
|
260
262
|
}
|
261
263
|
|
264
|
+
@Override
|
262
265
|
public String next() {
|
263
266
|
return key(++index);
|
264
267
|
}
|
265
268
|
|
269
|
+
@Override
|
266
270
|
public boolean hasNext() {
|
267
271
|
return index+1 < size();
|
268
272
|
}
|
@@ -271,8 +275,9 @@ public class DoubleDict {
|
|
271
275
|
|
272
276
|
|
273
277
|
/**
|
274
|
-
* Return a copy of the internal keys array.
|
278
|
+
* Return a copy of the internal keys array.This array can be modified.
|
275
279
|
*
|
280
|
+
* @return
|
276
281
|
* @webref doubledict:method
|
277
282
|
* @brief Return a copy of the internal keys array
|
278
283
|
*/
|
@@ -297,17 +302,12 @@ public class DoubleDict {
|
|
297
302
|
|
298
303
|
|
299
304
|
/**
|
305
|
+
* @return
|
300
306
|
* @webref doubledict:method
|
301
307
|
* @brief Return the internal array being used to store the values
|
302
308
|
*/
|
303
309
|
public Iterable<Double> values() {
|
304
|
-
return
|
305
|
-
|
306
|
-
@Override
|
307
|
-
public Iterator<Double> iterator() {
|
308
|
-
return valueIterator();
|
309
|
-
}
|
310
|
-
};
|
310
|
+
return () -> valueIterator();
|
311
311
|
}
|
312
312
|
|
313
313
|
|
@@ -315,15 +315,18 @@ public class DoubleDict {
|
|
315
315
|
return new Iterator<Double>() {
|
316
316
|
int index = -1;
|
317
317
|
|
318
|
+
@Override
|
318
319
|
public void remove() {
|
319
320
|
removeIndex(index);
|
320
321
|
index--;
|
321
322
|
}
|
322
323
|
|
324
|
+
@Override
|
323
325
|
public Double next() {
|
324
326
|
return value(++index);
|
325
327
|
}
|
326
328
|
|
329
|
+
@Override
|
327
330
|
public boolean hasNext() {
|
328
331
|
return index+1 < size();
|
329
332
|
}
|
@@ -334,6 +337,7 @@ public class DoubleDict {
|
|
334
337
|
/**
|
335
338
|
* Create a new array and copy each of the values into it.
|
336
339
|
*
|
340
|
+
* @return
|
337
341
|
* @webref doubledict:method
|
338
342
|
* @brief Create a new array and copy each of the values into it
|
339
343
|
*/
|
@@ -345,8 +349,10 @@ public class DoubleDict {
|
|
345
349
|
|
346
350
|
/**
|
347
351
|
* Fill an already-allocated array with the values (more efficient than
|
348
|
-
* creating a new array each time).
|
352
|
+
* creating a new array each time).If 'array' is null, or not the same
|
349
353
|
* size as the number of values, a new array will be allocated and returned.
|
354
|
+
* @param array
|
355
|
+
* @return
|
350
356
|
*/
|
351
357
|
public double[] valueArray(double[] array) {
|
352
358
|
if (array == null || array.length != size()) {
|
@@ -360,6 +366,8 @@ public class DoubleDict {
|
|
360
366
|
/**
|
361
367
|
* Return a value for the specified key.
|
362
368
|
*
|
369
|
+
* @param key
|
370
|
+
* @return
|
363
371
|
* @webref doubledict:method
|
364
372
|
* @brief Return a value for the specified key
|
365
373
|
*/
|
@@ -382,6 +390,8 @@ public class DoubleDict {
|
|
382
390
|
|
383
391
|
|
384
392
|
/**
|
393
|
+
* @param key
|
394
|
+
* @param amount
|
385
395
|
* @webref doubledict:method
|
386
396
|
* @brief Create a new key/value pair or change the value of one
|
387
397
|
*/
|
@@ -405,6 +415,8 @@ public class DoubleDict {
|
|
405
415
|
|
406
416
|
|
407
417
|
/**
|
418
|
+
* @param key
|
419
|
+
* @return
|
408
420
|
* @webref doubledict:method
|
409
421
|
* @brief Check if a key is a part of the data structure
|
410
422
|
*/
|
@@ -414,6 +426,8 @@ public class DoubleDict {
|
|
414
426
|
|
415
427
|
|
416
428
|
/**
|
429
|
+
* @param key
|
430
|
+
* @param amount
|
417
431
|
* @webref doubledict:method
|
418
432
|
* @brief Add to a value
|
419
433
|
*/
|
@@ -428,6 +442,8 @@ public class DoubleDict {
|
|
428
442
|
|
429
443
|
|
430
444
|
/**
|
445
|
+
* @param key
|
446
|
+
* @param amount
|
431
447
|
* @webref doubledict:method
|
432
448
|
* @brief Subtract from a value
|
433
449
|
*/
|
@@ -437,6 +453,8 @@ public class DoubleDict {
|
|
437
453
|
|
438
454
|
|
439
455
|
/**
|
456
|
+
* @param key
|
457
|
+
* @param amount
|
440
458
|
* @webref doubledict:method
|
441
459
|
* @brief Multiply a value
|
442
460
|
*/
|
@@ -449,6 +467,8 @@ public class DoubleDict {
|
|
449
467
|
|
450
468
|
|
451
469
|
/**
|
470
|
+
* @param key
|
471
|
+
* @param amount
|
452
472
|
* @webref doubledict:method
|
453
473
|
* @brief Divide a value
|
454
474
|
*/
|
@@ -471,6 +491,7 @@ public class DoubleDict {
|
|
471
491
|
|
472
492
|
|
473
493
|
/**
|
494
|
+
* @return
|
474
495
|
* @webref doublelist:method
|
475
496
|
* @brief Return the smallest value
|
476
497
|
*/
|
@@ -525,6 +546,7 @@ public class DoubleDict {
|
|
525
546
|
|
526
547
|
|
527
548
|
/**
|
549
|
+
* @return
|
528
550
|
* @webref doublelist:method
|
529
551
|
* @brief Return the largest value
|
530
552
|
*/
|
@@ -558,7 +580,8 @@ public class DoubleDict {
|
|
558
580
|
}
|
559
581
|
|
560
582
|
|
561
|
-
/** The key for a max value; null if empty or everything is NaN (no max).
|
583
|
+
/** The key for a max value; null if empty or everything is NaN (no max).
|
584
|
+
* @return */
|
562
585
|
public String maxKey() {
|
563
586
|
//checkMinMax("maxKey");
|
564
587
|
int index = maxIndex();
|
@@ -569,7 +592,8 @@ public class DoubleDict {
|
|
569
592
|
}
|
570
593
|
|
571
594
|
|
572
|
-
/** The max value.
|
595
|
+
/** * The max value.(Or NaN if no entries or they're all NaN.)
|
596
|
+
* @return */
|
573
597
|
public double maxValue() {
|
574
598
|
//checkMinMax("maxValue");
|
575
599
|
int index = maxIndex();
|
@@ -591,7 +615,7 @@ public class DoubleDict {
|
|
591
615
|
|
592
616
|
public int index(String what) {
|
593
617
|
Integer found = indices.get(what);
|
594
|
-
return (found == null) ? -1 : found
|
618
|
+
return (found == null) ? -1 : found;
|
595
619
|
}
|
596
620
|
|
597
621
|
|
@@ -600,7 +624,7 @@ public class DoubleDict {
|
|
600
624
|
keys = PApplet.expand(keys);
|
601
625
|
values = PApplet.expand(values);
|
602
626
|
}
|
603
|
-
indices.put(what,
|
627
|
+
indices.put(what, count);
|
604
628
|
keys[count] = what;
|
605
629
|
values[count] = much;
|
606
630
|
count++;
|
@@ -608,6 +632,8 @@ public class DoubleDict {
|
|
608
632
|
|
609
633
|
|
610
634
|
/**
|
635
|
+
* @param key
|
636
|
+
* @return
|
611
637
|
* @webref doubledict:method
|
612
638
|
* @brief Remove a key/value pair
|
613
639
|
*/
|
@@ -789,7 +815,8 @@ public class DoubleDict {
|
|
789
815
|
}
|
790
816
|
|
791
817
|
|
792
|
-
/** Returns a duplicate copy of this object.
|
818
|
+
/** Returns a duplicate copy of this object.
|
819
|
+
* @return */
|
793
820
|
public DoubleDict copy() {
|
794
821
|
DoubleDict outgoing = new DoubleDict(count);
|
795
822
|
System.arraycopy(keys, 0, outgoing.keys, 0, count);
|
@@ -811,11 +838,12 @@ public class DoubleDict {
|
|
811
838
|
|
812
839
|
/**
|
813
840
|
* Save tab-delimited entries to a file (TSV format, UTF-8 encoding)
|
841
|
+
* @param file
|
814
842
|
*/
|
815
843
|
public void save(File file) {
|
816
|
-
|
817
|
-
|
818
|
-
|
844
|
+
try (PrintWriter writer = PApplet.createWriter(file)) {
|
845
|
+
write(writer);
|
846
|
+
}
|
819
847
|
}
|
820
848
|
|
821
849
|
|
@@ -833,6 +861,7 @@ public class DoubleDict {
|
|
833
861
|
|
834
862
|
/**
|
835
863
|
* Return this dictionary as a String in JSON format.
|
864
|
+
* @return
|
836
865
|
*/
|
837
866
|
public String toJSON() {
|
838
867
|
StringList items = new StringList();
|
@@ -32,6 +32,7 @@ public class DoubleList implements Iterable<Double> {
|
|
32
32
|
|
33
33
|
|
34
34
|
/**
|
35
|
+
* @param length
|
35
36
|
* @nowebref
|
36
37
|
*/
|
37
38
|
public DoubleList(int length) {
|
@@ -40,6 +41,7 @@ public class DoubleList implements Iterable<Double> {
|
|
40
41
|
|
41
42
|
|
42
43
|
/**
|
44
|
+
* @param list
|
43
45
|
* @nowebref
|
44
46
|
*/
|
45
47
|
public DoubleList(double[] list) {
|
@@ -50,9 +52,9 @@ public class DoubleList implements Iterable<Double> {
|
|
50
52
|
|
51
53
|
|
52
54
|
/**
|
53
|
-
* Construct an FloatList from an iterable pile of objects.
|
54
|
-
* For instance, a double array, an array of strings, who knows).
|
55
|
+
* Construct an FloatList from an iterable pile of objects.For instance, a double array, an array of strings, who knows).
|
55
56
|
* Un-parseable or null values will be set to NaN.
|
57
|
+
* @param iter
|
56
58
|
* @nowebref
|
57
59
|
*/
|
58
60
|
public DoubleList(Iterable<Object> iter) {
|
@@ -904,6 +906,7 @@ public class DoubleList implements Iterable<Double> {
|
|
904
906
|
|
905
907
|
/**
|
906
908
|
* Write entries to a PrintWriter, one per line
|
909
|
+
* @param writer
|
907
910
|
*/
|
908
911
|
public void write(PrintWriter writer) {
|
909
912
|
for (int i = 0; i < count; i++) {
|
@@ -915,6 +918,7 @@ public class DoubleList implements Iterable<Double> {
|
|
915
918
|
|
916
919
|
/**
|
917
920
|
* Return this dictionary as a String in JSON format.
|
921
|
+
* @return
|
918
922
|
*/
|
919
923
|
public String toJSON() {
|
920
924
|
return "[ " + join(", ") + " ]";
|