picrate 2.4.2-java → 2.5.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -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 +4 -4
  12. data/lib/picrate/version.rb +1 -1
  13. data/lib/{picrate-2.4.2.jar → picrate-2.5.0.jar} +0 -0
  14. data/picrate.gemspec +1 -1
  15. data/pom.rb +3 -2
  16. data/pom.xml +4 -4
  17. data/src/main/java/monkstone/vecmath/GfxRender.java +10 -11
  18. data/src/main/java/monkstone/vecmath/JRender.java +7 -7
  19. data/src/main/java/monkstone/vecmath/ShapeRender.java +3 -4
  20. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +28 -40
  21. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +30 -45
  22. data/src/main/java/processing/awt/PImageAWT.java +1 -1
  23. data/src/main/java/processing/awt/ShimAWT.java +1 -1
  24. data/src/main/java/processing/core/PImage.java +14 -14
  25. data/src/main/java/processing/opengl/PShader.java +0 -6
  26. data/test/noise_test.rb +17 -0
  27. metadata +10 -21
  28. data/src/main/java/japplemenubar/JAppleMenuBar.java +0 -96
  29. data/src/main/java/japplemenubar/libjAppleMenuBar.jnilib +0 -0
  30. data/src/main/java/monkstone/complex/JComplex.java +0 -252
  31. data/src/main/java/monkstone/vecmath/AppRender.java +0 -88
  32. data/src/main/java/monkstone/vecmath/package-info.java +0 -20
  33. data/src/main/java/monkstone/vecmath/vec2/package-info.java +0 -6
  34. data/src/main/java/monkstone/vecmath/vec3/package-info.java +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ab492711c3332d165604d48dd5a816b774d1a3d8c3149ad03e06e5ecfefd091
4
- data.tar.gz: 581eed24cf663f8752a035a10213240c20e182c3fce6a76f30e79d0df7051dc7
3
+ metadata.gz: 1f42aa12e08e8589abee2166195d85e4a9c5797130f702c777935b2ed37053b2
4
+ data.tar.gz: 789b7c482d4dd2ba8dd602f0eceba29e9f80e9ebeef8786a822da365a31e51cc
5
5
  SHA512:
6
- metadata.gz: fe19f9cf14758e36a72c98cdd00baa4bab8e9db666f4c624b5ef593bf6621169d34c33f6513c337faa4bea24a8041d1d8c9681205c2ce6d3fd8dc9bd0d3bdbea
7
- data.tar.gz: f63af7d23c1c38a2ed7050e8682f5336f6a607dc1094d6c67276c66661272e61c70bf0a86c0e3133eb9e6198cf407b560769dc41de811b71a611662150efee2a
6
+ metadata.gz: f4fe171cfa023990fca7e853a28968b959abd0effcd234c458a07a4f2159f0c0f21806ddbbf193c1466dd7a1b2ee87ddacf6cd4bb3f4fd778d58e9db10a69ae0
7
+ data.tar.gz: fafaa739cf2efb9626e90459e3cd1c698c182bd1b0e79cd0757140c877698a5d84e44647d1fd3d38e3641c9d20fa576a502588cad596b8ff9a16e42ef577afda
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ v2.5.0 Update to JRuby-9.3.0.0.
2
+
3
+ v2.4.2 Update to JRuby-9.2.19, getting ready for JRuby-9.3+.
4
+
1
5
  v2.4.1 patch library loader, add PGS library examples.
2
6
 
3
7
  v2.4.0 Refactor noise to two modules, FastNoise (default) & SmoothNoise, with terrain noise `:tnoise` option.
@@ -38,7 +42,7 @@ v0.8.0 Refactor processing code to jdk8 syntax, include lambda, switch on string
38
42
 
39
43
  v0.7.1 Oops fix `GfxRender` had not been merged
40
44
 
41
- v0.7.0 Refactor sketch_writer to load params from ~/.picrate/sketch.yml. `AppRender => GfxRender` because we only need `PGraphics` in renderer.
45
+ v0.7.0 Refactor sketch_writer to load params from ~/.picrate/sketch.yml. `GfxRender => GfxRender` because we only need `PGraphics` in renderer.
42
46
 
43
47
  v0.6.0 Re-branding with new 'pick'/'eight' svg for PiCrate
44
48
 
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  source 'https://rubygems.org'
4
- ruby '2.5.7', engine: 'jruby', engine_version: '9.2.11.0'
4
+ ruby '2.6.8', engine: 'jruby', engine_version: '9.3.0.0'
5
5
  gemspec
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  __C6H3N3O7__ [![Gem Version](https://badge.fury.io/rb/picrate.svg)](https://badge.fury.io/rb/picrate)![Travis CI](https://travis-ci.org/ruby-processing/PiCrate.svg)
2
2
 
3
3
  # PiCrate
4
- New version for `Buster` on raspberryPI 3B+ works with jdk11 (reflective access warnings fixed for jdk11). Since version 2.0.1 also works on 64 bit Manjaro distro on RaspberryPI4. Create processing sketches in ruby on raspberry-pi and linux (this project is a parallel development of [propane][propane] targetting the raspberry-pi, but will initially be developed on a regular linux box). The aim is to produce a gem installable app that can be run with jruby, with minimal dependencies. Drop the `C` and you get pirate, or and an `e` and get `PiCreate`, a happy coincidence?
4
+ Version for `Raspberry Pi OS` on raspberryPI 3B+ works with jdk11 (reflective access warnings fixed for jdk11). That also works on 64 bit `ManjaroArm` distro on RaspberryPI4. Create processing sketches in ruby on raspberry-pi and linux (this project is a parallel development of [propane][propane] targetting the raspberry-pi, but will initially be developed on a regular linux box). The aim is to produce a gem installable app that can be run with jruby, with minimal dependencies. Drop the `C` and you get pirate, or and an `e` and get `PiCreate`, a happy coincidence?
5
5
 
6
6
 
7
7
  ### To install from rubygems ###
@@ -19,7 +19,7 @@ Requires java to build (and [jogl-2.4.0-rc jars][jogl_jars]), but uses a maven w
19
19
  ```bash
20
20
  cd PiCrate # or whatever you call it
21
21
  rake # assumes an installed version of vanilla processing
22
- jgem install picrate-2.4.1-java.gem
22
+ jgem install picrate-2.5.0-java.gem
23
23
 
24
24
  ```
25
25
  To create a template sketch:-
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ task default: %i[init compile install test gem]
9
9
  # Currently depends on local jogl-2.4.0 jars on path ~/jogl24
10
10
  desc 'Copy Jars'
11
11
  task :init do
12
- jogl24 = File.join(HOME_DIR, 'jogl-2.4-rc2021011')
12
+ jogl24 = File.join(HOME_DIR, 'jogl24')
13
13
  opengl = Dir.entries(jogl24).grep(/amd64|armv6hf|aarch64/).select { |jar| jar =~ /linux/ }
14
14
  opengl.concat %w[jogl-all.jar gluegen-rt.jar]
15
15
  opengl.each do |gl|
data/docs/.gitignore CHANGED
@@ -3,4 +3,5 @@
3
3
  _site
4
4
  .sass-cache
5
5
  .jekyll-metadata
6
+ .jekyll-cache
6
7
  Gemfile.lock
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  layout: post
3
- title: "AppRender and ShapeRender"
4
- keywords: to_vertex, Vec3D, Vec2D, AppRender, ShapeRender
3
+ title: "GfxRender and ShapeRender"
4
+ keywords: to_vertex, Vec3D, Vec2D, GfxRender, ShapeRender
5
5
  ---
6
- Vec2D and Vec3D classes can be efficiently rendered as both PApplet vertices, and PShape vertices using AppRender and ShapeRender utility classes. To use the AppRender renderer you should create a single instance in the processing setup see below example:-
6
+ Vec2D and Vec3D classes can be efficiently rendered as both PApplet vertices, and PShape vertices using GfxRender and ShapeRender utility classes. To use the GfxRender renderer you should create a single instance in the processing setup see below example:-
7
7
 
8
- ### AppRender
8
+ ### GfxRender
9
9
 
10
10
  ```ruby
11
11
  attr_reader :renderer
12
12
  ...
13
13
  def setup
14
- @renderer = AppRender.new(self)
14
+ @renderer = GfxRender.new(self)
15
15
  end
16
16
  ...
17
17
  ```
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  layout: post
3
- title: "noise_mode"
3
+ title: "Noise Modes"
4
4
  ---
5
5
 
6
6
  ### Name ###
7
7
 
8
- `noise_mode` _NB: not currently available in vanilla processing_.
8
+ There are two noise modes available in PiCrate, both base on KdotJPG java noise.
9
+ The default noise uses the FastNoise module, the SmoothNoise module can be used using the module name as a prefix see example below.
9
10
 
10
11
  ### Examples ###
11
12
 
@@ -25,24 +26,12 @@ class TestNoise < Processing::App
25
26
  noise_scale = 0.01
26
27
  background(0)
27
28
  grid(width, height, 10, 10) do |x, y|
28
- arrow(x, y, noise(x * noise_scale, y * noise_scale, z * noise_scale) * TWO_PI * 2)
29
+ arrow(x, y, SmoothNoise.noise(x * noise_scale, y * noise_scale, z * noise_scale) * TWO_PI * 2)
30
+ # arrow(x, y, noise(x * noise_scale, y * noise_scale, z * noise_scale) * TWO_PI * 2)
29
31
  end
30
32
  @z += 1
31
33
  end
32
34
 
33
- def mouse_pressed
34
- mode = NoiseMode::OPEN_SMOOTH # Smooth classic OpenSimplex2
35
- noise_mode mode
36
- sketch_title mode.description
37
- end
38
-
39
- def mouse_released
40
- mode = NoiseMode::DEFAULT # Fast classic OpenSimplex2
41
- noise_mode(mode)
42
- sketch_title mode.description
43
- end
44
-
45
-
46
35
  def arrow(x, y, ang)
47
36
  push_matrix()
48
37
  translate(x, y)
@@ -68,15 +57,14 @@ TestNoise.new
68
57
  ### Description ###
69
58
 
70
59
  Currently supports four implementations of noise:-
71
- 1. DEFAULT # fast classic OpenSimplex2
72
- 2. OPEN_SMOOTH # smoother class OpenSimplex2F
73
- 3. FAST_TERRAIN # more suited to terrain
74
- 4. SMOOTH_TERRAIN # as above but smoother
60
+ 1. Default is classic OpenSimplex2
61
+ 2. SmoothNoise use smoother class OpenSimplex2F
62
+ 3. Use tnoise instead of noise for a noise mode more suited to terrain
75
63
 
76
64
  ### Syntax ###
77
65
 
78
66
  ```ruby
79
- noise_mode(mode) # default is NoiseMode::DEFAULT, a fast classic OpenSimplex2
67
+ SmoothNoise.noise(...) # no prefix for fast classic OpenSimplex2
80
68
  ```
81
69
 
82
70
  ### Related ###
@@ -14,7 +14,7 @@ Get the latest version from [http://jruby.org/download][download]
14
14
 
15
15
  ```bash
16
16
  cd /opt
17
- sudo tar xzvf /pathToDownload/jruby-bin-9.2.14.0.tar.gz
17
+ sudo tar xzvf /pathToDownload/jruby-bin-9.3.0.0.tar.gz
18
18
  ```
19
19
 
20
20
  Then use the excellent `update-alternatives` tool to provide symbolic links to `jruby`, `jgem`, `jirb` and `rake` especially if you haven't installed `mri` ruby.
@@ -31,16 +31,16 @@ You should prefer to install gems locally (no need for sudo). To do that it is c
31
31
  ```bash
32
32
  alias jpry="jruby -e \"require 'pry'; binding.pry\""
33
33
  # export JAVA_HOME="/opt/jdk1.8.0_151" # if using oracle java openjdk-8 is fine though
34
- export GEM_HOME="$HOME/.gem/ruby/2.5.0"
35
- export GEM_PATH="$HOME/tux/.gem/ruby/2.5.0"
34
+ export GEM_HOME="$HOME/.gem/ruby/2.6.0"
35
+ export GEM_PATH="$HOME/tux/.gem/ruby/2.6.0"
36
36
  export PATH="${PATH}:${GEM_PATH}/bin"
37
37
  ```
38
38
 
39
39
  ### Automated install using bash ###
40
40
 
41
- The [picrate2_install.sh][bash] script currently installs jruby-9.2.14.0 and picrate-2.2.0.
41
+ The [picrate2_install.sh][bash] script currently installs jruby-9.3.0.0 and picrate-2.5.0.
42
42
 
43
43
  If you know better please post on wiki
44
44
 
45
- [download]:"https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.2.14.0/jruby-dist-9.2.14.0-bin.tar.gz"
45
+ [download]:"https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.3.0.0/jruby-dist-9.3.0.0-bin.tar.gz"
46
46
  [bash]:https://gist.github.com/monkstone/6ae9840d7b7008c177b4a9f589d14ec6
@@ -5,7 +5,7 @@ date: 2019-11-11 07:34:13
5
5
  categories: PiCrate update
6
6
  permalink: /getting_buster/
7
7
  ---
8
- Raspbian Buster usually comes with a pre-installed jdk11. Before installing JRuby it is worth setting the `JAVA_HOME` environmental variable (needed to supress reflection warnings).
8
+ RaspberryPI OS usually comes with a pre-installed jdk11. Before installing JRuby it might be worth setting the `JAVA_HOME` environmental variable (_to supress reflection warnings_).
9
9
 
10
10
  __Otherwise follow these instructions in order as needed:-__
11
11
 
data/lib/picrate/app.rb CHANGED
@@ -84,7 +84,7 @@ module Processing
84
84
  class << self
85
85
  # Handy getters and setters on the class go here:
86
86
  attr_accessor :sketch_class, :library_loader, :arguments, :options
87
- attr_reader :surface, :width, :height, :renderer
87
+ attr_reader :surface, :width, :height, :mode
88
88
  def load_libraries(*args)
89
89
  library_loader ||= LibraryLoader.new
90
90
  library_loader.load_library(*args)
@@ -132,11 +132,11 @@ module Processing
132
132
  end
133
133
 
134
134
  def size(*args)
135
- w, h, renderer = *args
135
+ w, h, mode = *args
136
136
  @width ||= w
137
137
  @height ||= h
138
- @renderer ||= renderer
139
- import_opengl if /opengl/ =~ renderer
138
+ @mode ||= mode
139
+ import_opengl if /opengl/ =~ mode
140
140
  super(*args)
141
141
  end
142
142
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PiCrate
4
- VERSION = '2.4.2'
4
+ VERSION = '2.5.0'
5
5
  end
data/picrate.gemspec CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |gem|
33
33
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
34
34
  gem.add_development_dependency 'minitest', '~> 5.14'
35
35
  gem.add_runtime_dependency 'rake', '~> 13.0'
36
- gem.add_runtime_dependency 'arcball', '~> 1.1', '>= 1.1.1'
36
+ gem.add_runtime_dependency 'arcball', '~> 1.2'
37
37
  gem.require_paths = ['lib']
38
38
  gem.platform = 'java'
39
39
  gem.requirements << 'java runtime == 11+'
data/pom.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  project 'picrate', 'http://maven.apache.org' do
4
4
  model_version '4.0.0'
5
- id 'ruby-processing:picrate:2.4.2'
5
+ id 'ruby-processing:picrate:2.5.0'
6
6
  packaging 'jar'
7
7
 
8
8
  description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
@@ -24,6 +24,7 @@ project 'picrate', 'http://maven.apache.org' do
24
24
  issue_management 'https://github.com/ruby-processing/PiCrate/issues', 'Github'
25
25
  # Need to update to jogl 2.4.1 as soon as available, then make a dependency
26
26
  properties('jogl.version' => '2.3.2',
27
+ 'jruby.version' => '9.3.0.0',
27
28
  'batik.version' => '1.14',
28
29
  'itextpdf.version' => '5.5.13.2',
29
30
  'jruby.api' => 'http://jruby.org/apidocs/',
@@ -33,7 +34,7 @@ project 'picrate', 'http://maven.apache.org' do
33
34
  'project.build.sourceEncoding' => 'UTF-8',
34
35
  'polyglot.dump.pom' => 'pom.xml')
35
36
 
36
- pom 'org.jruby:jruby:9.2.19.0'
37
+ jar 'org.jruby:jruby-base:9.3.0.0'
37
38
  jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
38
39
  jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
39
40
  jar 'org.processing:video:3.0.2'
data/pom.xml CHANGED
@@ -11,7 +11,7 @@ DO NOT MODIFY - GENERATED CODE
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>ruby-processing</groupId>
13
13
  <artifactId>picrate</artifactId>
14
- <version>2.4.2</version>
14
+ <version>2.5.0</version>
15
15
  <name>picrate</name>
16
16
  <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
17
  <url>http://maven.apache.org</url>
@@ -68,6 +68,7 @@ DO NOT MODIFY - GENERATED CODE
68
68
  <itextpdf.version>5.5.13.2</itextpdf.version>
69
69
  <jogl.version>2.3.2</jogl.version>
70
70
  <jruby.api>http://jruby.org/apidocs/</jruby.api>
71
+ <jruby.version>9.3.0.0</jruby.version>
71
72
  <picrate.basedir>${project.basedir}</picrate.basedir>
72
73
  <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
73
74
  <processing.api>http://processing.github.io/processing-javadocs/core/</processing.api>
@@ -77,9 +78,8 @@ DO NOT MODIFY - GENERATED CODE
77
78
  <dependencies>
78
79
  <dependency>
79
80
  <groupId>org.jruby</groupId>
80
- <artifactId>jruby</artifactId>
81
- <version>9.2.19.0</version>
82
- <type>pom</type>
81
+ <artifactId>jruby-base</artifactId>
82
+ <version>9.3.0.0</version>
83
83
  </dependency>
84
84
  <dependency>
85
85
  <groupId>org.jogamp.jogl</groupId>
@@ -3,20 +3,19 @@ package monkstone.vecmath;
3
3
  import processing.core.PGraphics;
4
4
 
5
5
  /**
6
- *
7
6
  *
8
7
  * @author Martin Prout
9
8
  */
10
9
  public class GfxRender implements JRender {
11
10
 
12
- final PGraphics g;
11
+ final PGraphics graphics;
13
12
 
14
13
  /**
15
14
  *
16
- * @param gfx PGraphics
15
+ * @param graphics PGraphics
17
16
  */
18
- public GfxRender(final PGraphics gfx) {
19
- this.g = gfx;
17
+ public GfxRender(final PGraphics graphics) {
18
+ this.graphics = graphics;
20
19
  }
21
20
 
22
21
  /**
@@ -26,7 +25,7 @@ public class GfxRender implements JRender {
26
25
  */
27
26
  @Override
28
27
  public void vertex(double x, double y) {
29
- g.vertex((float) x, (float) y);
28
+ graphics.vertex((float) x, (float) y);
30
29
  }
31
30
 
32
31
  /**
@@ -36,7 +35,7 @@ public class GfxRender implements JRender {
36
35
  */
37
36
  @Override
38
37
  public void curveVertex(double x, double y) {
39
- g.curveVertex((float) x, (float) y);
38
+ graphics.curveVertex((float) x, (float) y);
40
39
  }
41
40
 
42
41
  /**
@@ -47,7 +46,7 @@ public class GfxRender implements JRender {
47
46
  */
48
47
  @Override
49
48
  public void vertex(double x, double y, double z) {
50
- g.vertex((float) x, (float) y, (float) z);
49
+ graphics.vertex((float) x, (float) y, (float) z);
51
50
  }
52
51
 
53
52
  /**
@@ -58,7 +57,7 @@ public class GfxRender implements JRender {
58
57
  */
59
58
  @Override
60
59
  public void normal(double x, double y, double z) {
61
- g.normal((float) x, (float) y, (float) z);
60
+ graphics.normal((float) x, (float) y, (float) z);
62
61
  }
63
62
 
64
63
  /**
@@ -71,7 +70,7 @@ public class GfxRender implements JRender {
71
70
  */
72
71
  @Override
73
72
  public void vertex(double x, double y, double z, double u, double v) {
74
- g.vertex((float) x, (float) y, (float) z, (float) u, (float) v);
73
+ graphics.vertex((float) x, (float) y, (float) z, (float) u, (float) v);
75
74
  }
76
75
 
77
76
  /**
@@ -82,6 +81,6 @@ public class GfxRender implements JRender {
82
81
  */
83
82
  @Override
84
83
  public void curveVertex(double x, double y, double z) {
85
- g.curveVertex((float) x, (float) y, (float) z);
84
+ graphics.curveVertex((float) x, (float) y, (float) z);
86
85
  }
87
86
  }
@@ -1,7 +1,6 @@
1
1
  package monkstone.vecmath;
2
2
 
3
3
  /**
4
- *
5
4
  *
6
5
  * @author Martin Prout
7
6
  */
@@ -12,14 +11,14 @@ public interface JRender {
12
11
  * @param x double
13
12
  * @param y double
14
13
  */
15
- public void vertex(double x, double y);
14
+ void vertex(double x, double y);
16
15
 
17
16
  /**
18
17
  *
19
18
  * @param x double
20
19
  * @param y double
21
20
  */
22
- public void curveVertex(double x, double y);
21
+ void curveVertex(double x, double y);
23
22
 
24
23
  /**
25
24
  *
@@ -27,7 +26,7 @@ public interface JRender {
27
26
  * @param y double
28
27
  * @param z double
29
28
  */
30
- public void vertex(double x, double y, double z);
29
+ void vertex(double x, double y, double z);
31
30
 
32
31
  /**
33
32
  *
@@ -37,7 +36,7 @@ public interface JRender {
37
36
  * @param u double
38
37
  * @param v double
39
38
  */
40
- public void vertex(double x, double y, double z, double u, double v);
39
+ void vertex(double x, double y, double z, double u, double v);
41
40
 
42
41
  /**
43
42
  *
@@ -45,7 +44,7 @@ public interface JRender {
45
44
  * @param y double
46
45
  * @param z double
47
46
  */
48
- public void curveVertex(double x, double y, double z);
47
+ void curveVertex(double x, double y, double z);
49
48
 
50
49
  /**
51
50
  *
@@ -53,5 +52,6 @@ public interface JRender {
53
52
  * @param y double
54
53
  * @param z double
55
54
  */
56
- public void normal(double x, double y, double z);
55
+ void normal(double x, double y, double z);
57
56
  }
57
+
@@ -3,7 +3,6 @@ package monkstone.vecmath;
3
3
  import processing.core.PShape;
4
4
 
5
5
  /**
6
- *
7
6
  *
8
7
  * @author Martin Prout
9
8
  */
@@ -29,7 +28,7 @@ public class ShapeRender implements JRender {
29
28
  public void vertex(double x, double y) {
30
29
  shape.vertex((float) x, (float) y);
31
30
  }
32
-
31
+
33
32
  /**
34
33
  *
35
34
  * @param x double
@@ -37,7 +36,7 @@ public class ShapeRender implements JRender {
37
36
  */
38
37
  @Override
39
38
  public void curveVertex(double x, double y) {
40
- shape.curveVertex((float) x, (float) y);
39
+ throw new UnsupportedOperationException("Not implemented for this renderer");
41
40
  }
42
41
 
43
42
  /**
@@ -74,7 +73,7 @@ public class ShapeRender implements JRender {
74
73
  public void vertex(double x, double y, double z, double u, double v) {
75
74
  shape.vertex((float) x, (float) y, (float) z, (float) u, (float) v);
76
75
  }
77
-
76
+
78
77
  /**
79
78
  *
80
79
  * @param x double