toxiclibs 0.5.1-java → 0.6.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/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
|

|
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:
|