toxiclibs 0.5.1-java → 0.6.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/README.md +2 -2
- data/examples/README.md +5 -0
- data/examples/data/ReplicaBold.ttf +0 -0
- data/examples/model_align.rb +4 -4
- data/examples/physics_type.rb +78 -0
- data/examples/povmesh/data/mask.jpg +0 -0
- data/examples/povmesh/tentacle.rb +9 -11
- data/examples/spherical_harmonics_mesh.rb +1 -1
- data/examples/test_rect.rb +30 -0
- data/lib/toxiclibs/version.rb +1 -1
- data/pom.xml +1 -1
- data/src/toxi/geom/Rect.java +1 -1
- data/src/toxi/geom/Vec2D.java +1 -1
- data/src/toxi/geom/Vec3D.java +1 -1
- data/src/toxi/processing/MeshToVBO.java +66 -38
- data/toxiclibs.gemspec +3 -5
- metadata +21 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0621bb2a556be4f39f85ae0c7ce5bf2798ac2f05
|
4
|
+
data.tar.gz: 3f70efd64fa650f57ab654b94b288ec6f30f4936
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e686d52c7e42a54da8de8454d306ca6487129a3cde5a5d42a4cd582c4ff61a8a603d8e5126ed86afb698b138a918d40e001b3d671f6a63b91446431949b56e06
|
7
|
+
data.tar.gz: 97a6d9711d2d33fcac33dd934ed77e1131830895a6a15b8e67a1e5306311493830a1b616d9e1a118c72cf87fa82169e6013a91f583bd341e84b88ff2612da3f3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
**v0.
|
2
|
+
**v0.6.0** Some corrections to the Rect and Vec3D contains logic (mea culpa, caued by injudicious refactoring)
|
3
3
|
|
4
4
|
**v0.5.0** New version toxiclibs update to use jdk8 syntax, require jdk8 and probably therefore JRubyArt only new MeshToVBO class.
|
5
5
|
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
## Toxiclibs for JRubyArt
|
2
|
-
|
2
|
+
|
3
3
|
### Installing
|
4
4
|
```bash
|
5
5
|
gem install toxiclibs
|
@@ -7,7 +7,7 @@ gem install toxiclibs
|
|
7
7
|
|
8
8
|
### NB: Use version 0.4 for ruby-processing
|
9
9
|
|
10
|
-
Here I have created create a gem to use Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars in JRubyArt. To compile the gem follow the instructions for [JRubyArt][]. Most parts of toxiclibs API is exposed in the latest version, (but only a few examples are included) in principle it should be possible to make all available!!! For this demonstration I have used up to date source code for version 21, since [toxis final release][] may never materialise (he's probably got more interesting things to do). There are reported to be number of outstanding bugs with toxiclibs, if they affect you report it [here][] (or better fix them yourself and submit a pull request). Version 0.5.0 features java code updated to use java lambda (jdk8) and was compiled against processing-3.0.1 core.jar. Added features are export Mesh to PShape and export Mesh to [povray mesh2](http://www.povray.org/documentation/3.7.0/r3_4.html#r3_4_5_2_4).
|
10
|
+
Here I have created create a gem to use Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars in JRubyArt. To compile the gem follow the instructions for [JRubyArt][]. Most parts of toxiclibs API is exposed in the latest version, (but only a few examples are included) in principle it should be possible to make all available!!! For this demonstration I have used up to date source code for version 21, since [toxis final release][] may never materialise (he's probably got more interesting things to do). There are reported to be number of outstanding bugs with toxiclibs, if they affect you report it [here][] (or better fix them yourself and submit a pull request). Version 0.5.0+ features java code updated to use java lambda (jdk8) and was compiled against processing-3.0.1 core.jar. Added features are export Mesh to PShape and export Mesh to [povray mesh2](http://www.povray.org/documentation/3.7.0/r3_4.html#r3_4_5_2_4).
|
11
11
|
|
12
12
|
![grayscott image](http://4.bp.blogspot.com/-d4MiL4_0Njk/VFJMv6VUicI/AAAAAAAAEgY/fFAfrXDxNXM/s400/grayscott.png)
|
13
13
|
|
data/examples/README.md
ADDED
Binary file
|
data/examples/model_align.rb
CHANGED
@@ -12,7 +12,7 @@ require 'toxiclibs'
|
|
12
12
|
attr_reader :gfx, :positions
|
13
13
|
|
14
14
|
def settings
|
15
|
-
size(640, 480, P3D)
|
15
|
+
size(640, 480, P3D)
|
16
16
|
end
|
17
17
|
|
18
18
|
def setup
|
@@ -28,7 +28,7 @@ def draw
|
|
28
28
|
lights
|
29
29
|
no_stroke
|
30
30
|
# create manual focal point in XY plane
|
31
|
-
focus = TVec3D.new((mouse_x - width/2), (mouse_y - height/2), 0)
|
31
|
+
focus = TVec3D.new((mouse_x - width / 2), (mouse_y - height / 2), 0)
|
32
32
|
# create mesh prototype to draw at all generated positions
|
33
33
|
# the mesh is a simple box placed at the world origin
|
34
34
|
m = AABB.new(25).to_mesh
|
@@ -37,8 +37,8 @@ def draw
|
|
37
37
|
# align the positive z-axis of mesh to point at focus
|
38
38
|
# mesh needs to be located at world origin for it to work correctly
|
39
39
|
# only once rotated, move it to actual position
|
40
|
-
positions.map { |p| gfx.mesh(m.copy.pointTowards(focus.sub(p), TVec3D::Z_AXIS).translate(p)) }
|
40
|
+
positions.map { |p| gfx.mesh(m.copy.pointTowards(focus.sub(p), TVec3D::Z_AXIS).translate(p)) }
|
41
41
|
# draw connections from mesh centers to focal point
|
42
|
-
stroke(0,255,255)
|
42
|
+
stroke(0, 255, 255)
|
43
43
|
positions.map { |p| gfx.line(p, focus) }
|
44
44
|
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
load_library :geomerative
|
2
|
+
require 'toxiclibs'
|
3
|
+
include_package 'geomerative'
|
4
|
+
|
5
|
+
attr_reader :font, :input, :physics
|
6
|
+
|
7
|
+
def settings
|
8
|
+
size(1280, 720, P3D)
|
9
|
+
smooth
|
10
|
+
end
|
11
|
+
|
12
|
+
def setup
|
13
|
+
sketch_title 'Physics Type'
|
14
|
+
@input = 'Hello!'
|
15
|
+
RG.init(self)
|
16
|
+
fnt = RG.load_font('ReplicaBold.ttf') # file name
|
17
|
+
RG.text_font(fnt, 330) # RFont object, size
|
18
|
+
@font = RG.get_text(input) # String to RShape
|
19
|
+
RG.set_polygonizer(RCommand::UNIFORMLENGTH)
|
20
|
+
RG.set_polygonizer_length(10) # length of segment
|
21
|
+
init_physics
|
22
|
+
fill(255)
|
23
|
+
end
|
24
|
+
|
25
|
+
def draw
|
26
|
+
physics.update
|
27
|
+
background(0)
|
28
|
+
stroke(255)
|
29
|
+
physics.springs.each do |s|
|
30
|
+
line(s.a.x, s.a.y, s.b.x, s.b.y)
|
31
|
+
end
|
32
|
+
physics.particles.each do |p|
|
33
|
+
ellipse(p.x, p.y, 3, 3)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def init_physics
|
38
|
+
@physics = Physics::VerletPhysics2D.new
|
39
|
+
# set screen bounds as bounds for physics sim
|
40
|
+
physics.set_world_bounds(Toxi::Rect.new(0, 0, width, height))
|
41
|
+
# add gravity along positive Y axis
|
42
|
+
physics.add_behavior(Physics::GravityBehavior2D.new(TVec2D.new(0, 0.1)))
|
43
|
+
# multidimensional array of x and y coordinates
|
44
|
+
paths = font.get_points_in_paths
|
45
|
+
offset = TVec2D.new(200, 250)
|
46
|
+
return if paths.nil?
|
47
|
+
paths.length.times do |ii|
|
48
|
+
points = paths[ii]
|
49
|
+
path_particles = []
|
50
|
+
points.length.times do |i|
|
51
|
+
p = Physics::VerletParticle2D.new(
|
52
|
+
points[i].x + offset.x,
|
53
|
+
points[i].y + offset.y
|
54
|
+
)
|
55
|
+
physics.add_particle(p)
|
56
|
+
path_particles << p
|
57
|
+
physics.add_spring(
|
58
|
+
Physics::VerletSpring2D.new(
|
59
|
+
path_particles[i - 1],
|
60
|
+
p,
|
61
|
+
path_particles[i - 1].distanceTo(p),
|
62
|
+
1
|
63
|
+
)
|
64
|
+
) if i > 0
|
65
|
+
end
|
66
|
+
first = path_particles.first
|
67
|
+
last = path_particles.last
|
68
|
+
physics.add_spring(
|
69
|
+
Physics::VerletSpring2D.new(
|
70
|
+
first,
|
71
|
+
last,
|
72
|
+
first.distance_to(last),
|
73
|
+
1
|
74
|
+
)
|
75
|
+
)
|
76
|
+
first.lock
|
77
|
+
end
|
78
|
+
end
|
Binary file
|
@@ -3,7 +3,7 @@ require 'toxiclibs'
|
|
3
3
|
# A 3D Tentacle by Nikolaus Gradwohl http://www.local-guru.net
|
4
4
|
# Adapted for JRubyArt and mesh to PShape, and mesh2 export by Martin Prout
|
5
5
|
|
6
|
-
attr_reader :mesh, :gfx, :tentacle
|
6
|
+
attr_reader :mesh, :gfx, :tentacle, :tex
|
7
7
|
|
8
8
|
def settings
|
9
9
|
size(500, 500, P3D)
|
@@ -11,6 +11,7 @@ end
|
|
11
11
|
|
12
12
|
def setup
|
13
13
|
sketch_title 'Tentacle'
|
14
|
+
@tex = load_image('mask.jpg')
|
14
15
|
ArcBall.init(self)
|
15
16
|
@gfx = Gfx::MeshToVBO.new(self)
|
16
17
|
volume = VolumetricSpaceArray.new(TVec3D.new(100, 200, 100), 100, 100, 100)
|
@@ -37,26 +38,23 @@ def setup
|
|
37
38
|
surface.reset
|
38
39
|
surface.compute_surface_mesh(mesh, 0.5)
|
39
40
|
no_stroke
|
40
|
-
@tentacle = gfx.
|
41
|
-
tentacle.set_fill(color(200, 10, 10))
|
42
|
-
tentacle.set_ambient(80)
|
43
|
-
tentacle.set_specular(80)
|
41
|
+
@tentacle = gfx.mesh_to_textured_shape(mesh, tex)
|
44
42
|
end
|
45
43
|
|
46
44
|
def draw
|
47
45
|
background(150)
|
48
|
-
|
49
|
-
setup_lights
|
46
|
+
define_lights
|
50
47
|
shape(tentacle)
|
51
48
|
end
|
52
49
|
|
53
|
-
def
|
50
|
+
def define_lights
|
54
51
|
lights
|
55
|
-
ambient_light(
|
56
|
-
directional_light(
|
57
|
-
|
52
|
+
ambient_light(40, 40, 40)
|
53
|
+
directional_light(10, 30, 40, 1, 1, 0)
|
54
|
+
directional_light(10, 30, 40, 1, 1, -1)
|
58
55
|
end
|
59
56
|
|
57
|
+
|
60
58
|
def key_pressed
|
61
59
|
case key
|
62
60
|
when 'p', 'P'
|
@@ -33,7 +33,7 @@ def key_pressed
|
|
33
33
|
return unless (key == 'r')
|
34
34
|
@mesh = spherical_mesh(random_parameters)
|
35
35
|
no_stroke
|
36
|
-
@spherical = gfx.mesh_to_colored_shape(mesh
|
36
|
+
@spherical = gfx.mesh_to_colored_shape(mesh) # harmonic colors
|
37
37
|
end
|
38
38
|
|
39
39
|
def random_parameters
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'toxiclibs'
|
2
|
+
|
3
|
+
attr_reader :points, :bounds, :gfx
|
4
|
+
|
5
|
+
def settings
|
6
|
+
size(400,400)
|
7
|
+
end
|
8
|
+
|
9
|
+
def setup
|
10
|
+
sketch_title 'Test Rect'
|
11
|
+
@points = []
|
12
|
+
@bounds = Toxi::Rect.new(200, 200, 0, 0)
|
13
|
+
@gfx = Gfx::ToxiclibsSupport.new(self)
|
14
|
+
end
|
15
|
+
|
16
|
+
def draw
|
17
|
+
background(255)
|
18
|
+
no_fill
|
19
|
+
stroke(0)
|
20
|
+
gfx.rect(bounds)
|
21
|
+
fill(255, 0, 0)
|
22
|
+
no_stroke
|
23
|
+
points.each { |p| gfx.circle(p, 5) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def mouse_pressed
|
27
|
+
p = TVec2D.new(mouse_x, mouse_y)
|
28
|
+
points << p
|
29
|
+
bounds.grow_to_contain_point(p)
|
30
|
+
end
|
data/lib/toxiclibs/version.rb
CHANGED
data/pom.xml
CHANGED
data/src/toxi/geom/Rect.java
CHANGED
data/src/toxi/geom/Vec2D.java
CHANGED
@@ -743,7 +743,7 @@ public class Vec2D implements Comparable<ReadonlyVec2D>, ReadonlyVec2D {
|
|
743
743
|
if (x < r.x || x > r.x + r.width) {
|
744
744
|
return false;
|
745
745
|
}
|
746
|
-
return (y >= r.y
|
746
|
+
return (y >= r.y && y <= r.y + r.height);
|
747
747
|
}
|
748
748
|
|
749
749
|
@Override
|
data/src/toxi/geom/Vec3D.java
CHANGED
@@ -994,7 +994,7 @@ public class Vec3D implements Comparable<ReadonlyVec3D>, ReadonlyVec3D {
|
|
994
994
|
return false;
|
995
995
|
}
|
996
996
|
w = boxExtent.z;
|
997
|
-
return (z
|
997
|
+
return (z >= boxOrigin.z - w && z <= boxOrigin.z + w);
|
998
998
|
}
|
999
999
|
|
1000
1000
|
@Override
|
@@ -1,13 +1,11 @@
|
|
1
1
|
package toxi.processing;
|
2
2
|
|
3
|
-
import java.util.Collection;
|
4
3
|
import processing.core.PApplet;
|
5
4
|
import processing.core.PConstants;
|
5
|
+
import processing.core.PImage;
|
6
6
|
import processing.core.PShape;
|
7
7
|
import toxi.geom.Matrix4x4;
|
8
8
|
import toxi.geom.Vec3D;
|
9
|
-
import toxi.geom.mesh.Mesh3D;
|
10
|
-
import toxi.geom.mesh.Face;
|
11
9
|
import toxi.geom.mesh.TriangleMesh;
|
12
10
|
|
13
11
|
/**
|
@@ -15,10 +13,12 @@ import toxi.geom.mesh.TriangleMesh;
|
|
15
13
|
* @author Martin Prout
|
16
14
|
*/
|
17
15
|
public class MeshToVBO {
|
18
|
-
|
16
|
+
final int DEFAULT_COLOR = -1; // white
|
17
|
+
private int fillColor;
|
18
|
+
private boolean wire = false;
|
19
19
|
private final PApplet app;
|
20
|
-
private final Matrix4x4 normalMap
|
21
|
-
|
20
|
+
private final Matrix4x4 normalMap
|
21
|
+
= new Matrix4x4().translateSelf(128, 128, 128).scaleSelf(127);
|
22
22
|
|
23
23
|
/**
|
24
24
|
*
|
@@ -26,17 +26,35 @@ public class MeshToVBO {
|
|
26
26
|
*/
|
27
27
|
public MeshToVBO(PApplet app) {
|
28
28
|
this.app = app;
|
29
|
+
this.fillColor = DEFAULT_COLOR;
|
30
|
+
}
|
31
|
+
|
32
|
+
public void wire(boolean show) {
|
33
|
+
this.wire = show;
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
*
|
38
|
+
* @param col
|
39
|
+
*/
|
40
|
+
public void fillColor(int col) {
|
41
|
+
this.fillColor = col;
|
29
42
|
}
|
30
43
|
|
31
44
|
/**
|
32
45
|
* Use default smooth (smooth = false) for cubes etc
|
46
|
+
*
|
33
47
|
* @param mesh Toxiclibs mesh
|
34
48
|
* @param smooth boolean
|
35
49
|
* @return
|
36
50
|
*/
|
37
51
|
public PShape meshToShape(TriangleMesh mesh, boolean smooth) {
|
52
|
+
if (!wire) {
|
53
|
+
app.noStroke();
|
54
|
+
}
|
38
55
|
PShape retained = app.createShape();
|
39
56
|
retained.beginShape(PConstants.TRIANGLE);
|
57
|
+
retained.fill(fillColor);
|
40
58
|
if (smooth) {
|
41
59
|
mesh.faces.stream().map((f) -> {
|
42
60
|
retained.normal(f.a.normal.x, f.a.normal.y, f.a.normal.z);
|
@@ -49,6 +67,9 @@ public class MeshToVBO {
|
|
49
67
|
retained.vertex(f.c.x, f.c.y, f.c.z);
|
50
68
|
});
|
51
69
|
} else {
|
70
|
+
if (wire) {
|
71
|
+
app.noFill();
|
72
|
+
}
|
52
73
|
mesh.faces.stream().map((f) -> {
|
53
74
|
retained.normal(f.normal.x, f.normal.y, f.normal.z);
|
54
75
|
retained.vertex(f.a.x, f.a.y, f.a.z);
|
@@ -61,39 +82,46 @@ public class MeshToVBO {
|
|
61
82
|
retained.endShape();
|
62
83
|
return retained;
|
63
84
|
}
|
64
|
-
|
65
|
-
public PShape meshToColoredShape(TriangleMesh mesh
|
66
|
-
|
85
|
+
|
86
|
+
public PShape meshToColoredShape(TriangleMesh mesh) {
|
87
|
+
app.noStroke();
|
67
88
|
PShape gfx = app.createShape();
|
68
89
|
gfx.beginShape(PConstants.TRIANGLES);
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
90
|
+
mesh.faces.stream().map((f) -> {
|
91
|
+
Vec3D n = normalMap.applyTo(f.a.normal);
|
92
|
+
gfx.fill(n.x, n.y, n.z);
|
93
|
+
gfx.normal(f.a.normal.x, f.a.normal.y, f.a.normal.z);
|
94
|
+
gfx.vertex(f.a.x, f.a.y, f.a.z);
|
95
|
+
n = normalMap.applyTo(f.b.normal);
|
96
|
+
gfx.fill(n.x, n.y, n.z);
|
97
|
+
gfx.normal(f.b.normal.x, f.b.normal.y, f.b.normal.z);
|
98
|
+
gfx.vertex(f.b.x, f.b.y, f.b.z);
|
99
|
+
n = normalMap.applyTo(f.c.normal);
|
100
|
+
gfx.fill(n.x, n.y, n.z);
|
101
|
+
gfx.normal(f.c.normal.x, f.c.normal.y, f.c.normal.z);
|
102
|
+
return f;
|
103
|
+
}).forEach((f) -> {
|
104
|
+
gfx.vertex(f.c.x, f.c.y, f.c.z);
|
105
|
+
});
|
106
|
+
gfx.endShape();
|
107
|
+
return gfx;
|
108
|
+
}
|
109
|
+
|
110
|
+
public PShape meshToTexturedShape(TriangleMesh mesh, PImage tex) {
|
111
|
+
PShape gfx = app.createShape();
|
112
|
+
gfx.beginShape(PConstants.TRIANGLE);
|
113
|
+
gfx.texture(tex);
|
114
|
+
mesh.faces.stream().map((f) -> {
|
115
|
+
gfx.normal(f.a.normal.x, f.a.normal.y, f.a.normal.z);
|
116
|
+
gfx.vertex(f.a.x, f.a.y, f.a.z, 0, 0);
|
117
|
+
gfx.normal(f.b.normal.x, f.b.normal.y, f.b.normal.z);
|
118
|
+
gfx.vertex(f.b.x, f.b.y, f.b.z, tex.width, 0);
|
119
|
+
gfx.normal(f.c.normal.x, f.c.normal.y, f.c.normal.z);
|
120
|
+
return f;
|
121
|
+
}).forEach((f) -> {
|
122
|
+
gfx.vertex(f.c.x, f.c.y, f.c.z, tex.width, tex.height);
|
123
|
+
});
|
124
|
+
gfx.endShape();
|
97
125
|
return gfx;
|
98
126
|
}
|
99
|
-
}
|
127
|
+
}
|
data/toxiclibs.gemspec
CHANGED
@@ -17,18 +17,16 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.licenses = %w{MIT LGPL-3.0}
|
18
18
|
spec.authors = %w{Karsten\ Schmidt Martin\ Prout}
|
19
19
|
spec.email = 'martin_p@lineone.net'
|
20
|
-
spec.homepage = '
|
20
|
+
spec.homepage = 'http://ruby-processing.github.io/toxicgem/'
|
21
21
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
22
|
spec.files << 'lib/toxiclibs.jar'
|
23
23
|
spec.files << 'lib/args4j-2.0.31.jar'
|
24
24
|
spec.require_paths = ['lib']
|
25
|
-
spec.add_dependency 'jruby_art', '~> 1.0'
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency "minitest", "~> 5.8"
|
25
|
+
spec.add_dependency 'jruby_art', '~> 1.0', '>= 1.0.1'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
|
28
27
|
spec.platform = 'java'
|
29
28
|
spec.requirements << 'A decent graphics card'
|
30
29
|
spec.requirements << 'java runtime >= 1.8+'
|
31
30
|
spec.requirements << 'processing = 3.0.1+'
|
32
31
|
spec.requirements << 'maven = 3.3.3'
|
33
|
-
spec.requirements << 'jruby_art = 1.0+'
|
34
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toxiclibs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Karsten Schmidt
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jruby_art
|
@@ -18,6 +18,9 @@ dependencies:
|
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '1.0'
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.1
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -25,34 +28,29 @@ dependencies:
|
|
25
28
|
- - "~>"
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '1.0'
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.1
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: rake
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
38
|
- - "~>"
|
33
39
|
- !ruby/object:Gem::Version
|
34
|
-
version: '10.
|
35
|
-
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
+
version: '10.4'
|
41
|
+
- - ">="
|
40
42
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: minitest
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '5.8'
|
43
|
+
version: 10.4.2
|
49
44
|
type: :development
|
50
45
|
prerelease: false
|
51
46
|
version_requirements: !ruby/object:Gem::Requirement
|
52
47
|
requirements:
|
53
48
|
- - "~>"
|
54
49
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
50
|
+
version: '10.4'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 10.4.2
|
56
54
|
description: " Toxiclibs java libraries wrapped in a rubygem. Updated to use java
|
57
55
|
lambda \n expressions (available since jdk8). Also new since version 0.5.0 are
|
58
56
|
3D Mesh \n to PShape and 3D mesh to Povray mesh2 utilities.\n"
|
@@ -69,9 +67,11 @@ files:
|
|
69
67
|
- LICENSE.md
|
70
68
|
- README.md
|
71
69
|
- Rakefile
|
70
|
+
- examples/README.md
|
72
71
|
- examples/attract_repel/attract_repel.rb
|
73
72
|
- examples/attract_repel/attractor.rb
|
74
73
|
- examples/attract_repel/particle.rb
|
74
|
+
- examples/data/ReplicaBold.ttf
|
75
75
|
- examples/data/ti_yong.png
|
76
76
|
- examples/force_directed/cluster.rb
|
77
77
|
- examples/force_directed/force_directed_graph.rb
|
@@ -81,6 +81,8 @@ files:
|
|
81
81
|
- examples/implicit.rb
|
82
82
|
- examples/inflate_mesh.rb
|
83
83
|
- examples/model_align.rb
|
84
|
+
- examples/physics_type.rb
|
85
|
+
- examples/povmesh/data/mask.jpg
|
84
86
|
- examples/povmesh/ftest.rb
|
85
87
|
- examples/povmesh/mesh_align.rb
|
86
88
|
- examples/povmesh/tentacle.rb
|
@@ -92,6 +94,7 @@ files:
|
|
92
94
|
- examples/soft_body/particle.rb
|
93
95
|
- examples/soft_body/soft_body_square_adapted.rb
|
94
96
|
- examples/spherical_harmonics_mesh.rb
|
97
|
+
- examples/test_rect.rb
|
95
98
|
- lib/args4j-2.0.31.jar
|
96
99
|
- lib/toxiclibs.jar
|
97
100
|
- lib/toxiclibs.rb
|
@@ -448,7 +451,7 @@ files:
|
|
448
451
|
- src/toxi/volume/VolumetricSpace.java
|
449
452
|
- src/toxi/volume/VolumetricSpaceArray.java
|
450
453
|
- toxiclibs.gemspec
|
451
|
-
homepage:
|
454
|
+
homepage: http://ruby-processing.github.io/toxicgem/
|
452
455
|
licenses:
|
453
456
|
- MIT
|
454
457
|
- LGPL-3.0
|
@@ -472,7 +475,6 @@ requirements:
|
|
472
475
|
- java runtime >= 1.8+
|
473
476
|
- processing = 3.0.1+
|
474
477
|
- maven = 3.3.3
|
475
|
-
- jruby_art = 1.0+
|
476
478
|
rubyforge_project:
|
477
479
|
rubygems_version: 2.5.0
|
478
480
|
signing_key:
|