scenerygraphics / scenery

Flexible VR Visualisation for Volumetric and Geometric Data on the Java VM, powered by Kotlin and Vulkan.
https://scenery.graphics
GNU Lesser General Public License v3.0
130 stars 32 forks source link

Curve restructuring #529

Open Domino2357 opened 1 year ago

Domino2357 commented 1 year ago

This pull request reorders the Curve class. Specifically, it breaks it down into an Interface and an abstract class. This allows for more flexibility. In our case, it allows the user to choose a single base shape or if they want to trade more flexibly for a slightly worse performance. Also cleaned up the code a bit, for example, put the coverOrTop attribute into an enum.

Domino2357 commented 1 year ago

@skalarproduktraum the build on macos throws this error: Error: ROR] Cannot create plugin: org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage I tried to track it down, so far to no avail. Do you have a direction you could point me to?

ctrueden commented 1 year ago

@Domino2357 wrote:

Cannot create plugin: org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage I tried to track it down, so far to no avail. Do you have a direction you could point me to?

This problem happens when running with Java 17, because Java 17 no longer ships the Nashorn JavaScript engine, so the JavaScriptScriptLanguage fails to initialize. You can avoid the problem by commenting out this line from build.gradle.kts:

    implementation("org.scijava:scripting-javascript")

I'm guessing @skalarproduktraum just has that in there because he likes JavaScript in the REPL. But we need to find a replacement for Java 14+, when they removed Nashorn.