propane 3.11.0-java → 4.0.0-java
Sign up to get free protection for your applications and to get access to all the features.
- 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(", ") + " ]";
|