Hello there!
Sorry for a late answer to you emails - but sadly I've been busy with a lot of other stuff after Christmas.
I picked up the UnifiedVizRefactor_NoReactor branch trail, and a lot of things are fixed in this branch. Also nice to see that there are still a lot of new commits to it.
I do however still have a few questions (surprise! :)
I've startet off with a clean Eclipse IDE (Mars.1), and I'm currently on Java8u45 (Linux).
Secondly I've created my own bundle with all the JME3 dependencies, and the Visit java client is imported - so dere are no issues with direct dependencies to these.
I still get something like 1972 errors. The majority of these are cased by access restrictions to JavaFX stuff. I've solved this for now by just adding JRE Access rules (javafx/**) to the bundles:
org.eclipse.ice.viz.service.javafx (Reduces the number of errors to 1069)
org.eclipse.ice.viz.service.javafx.mesh (Reduces the number of errors to 756)
org.eclipse.ice.viz.service.javafx.geometry (Reduces the number of errors to 311)
In the org.eclipse.ice.viz.service.jme3.mesh bundle there are several more of these regarding the com.sun.javafx.geom.Edge class. Could it be that you are about to move to your own implementation of this class? I see in the MeshSelectionManager there are several
imports (showing up in red):
import org.eclipse.ice.viz.service.mesh.datastructures.Edge;
import org.eclipse.ice.viz.service.mesh.datastructures.Polygon;
import org.eclipse.ice.viz.service.mesh.datastructures.Vertex;
import org.eclipse.ice.viz.service.mesh.datastructures.VizMeshComponent;
I don't know what these are doing, since they doesn't exist - did you forget to commit these? I can see references to all of these in several bundles, so they probably account for a lot of the remaining errors I get.
There's also worth mentioning that there seems to be a few missing dependencies in LaunchVisitHandler -
org.eclipse.core.commands... and org.eclipse.jface...
I get some problems with FXCanvas as well - but trying to fix the depencency by adding the jfxswt.jar bundled with Java8, I end up with some strange cyclic dependency issue between org.eclipse.ice.viz.service.javafx.mesh and org.eclipse.ice.viz.service.javafx.test
To answer Jay Jay's questions:
We'll be more than happy to start testing this stuff out. It seems to me to be a very good idea with this abstraction layer on top of different rendering engines, and the other guys on our team have also several times mentioned that we *really* should look
into Viz as a basis for (3D) visualization in SIMA.
I can see that there are lots of improvement on the UnifiedVizRefactor_NoReactor branch, but there's still a lot of small (and annoying :) ) issues. Have you tried to import only the *.viz.* bundles (and maybe the Visit+some JME3 dependency bundle)? With a
clean install of eclipse (without any ICE-related preferences set) it's easy to uncover the issues I'm having.
Jay Jay mentioned that I could report bugs on GitHub. I feel that the issues I'm having is pretty basic stuff, and I don't want to clutter down your issue tracker with elementary, basic stuff ;) But when/if we create an actually official project for moving
stuff over to viz, I'll start registering bugs there instead of sending emails like this :)
Keep up the good work - this will be awesome! :)
Med vennlig hilsen / Best regards,
Håvard Heierli-Nesse
Programutvikler – Konstruksjonsteknikk
Software developer – Structural engineering
MARINTEK (Norsk Marinteknisk Forskningsinstitutt
AS)
Address: POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
From: Jay Jay Billings [jayjaybillings@xxxxxxxxx]
Sent: Tuesday, January 12, 2016 3:44 PM
To: Håvard Heierli-Nesse
Cc: McCaskey, Alex; ice developer discussions
Subject: RE: Using Viz in our RCP application
Havard,
I'm CC'ing the ICE dev mailing on this incase any of our viz folks want to speak up.
I guess I misspoke. I thought most of our changes to break dependencies had been merged into master. They should certainly be available in origin/UnifiedVizRefactor_NoReactor. My goal with the redesign and refactor was specifically to address your
concerns in 1, 2 and 3.
So, will you be our test subject and try out the origin/UnifiedVizRefactor_NoReactor branch? :) Robert Smith is working very hard to address the concerns that you and I share as well as other issues. If you find problems you can open issues on
Github and he can start tackling them immediately. It would be extremely valuable to us if you did this since a separate set of eyes often catches more bugs.
Jay
On Jan 12, 2016 9:08 AM, "Håvard Heierli-Nesse" <
Havard.Heierli-Nesse@xxxxxxxxxxxxxxxxxx> wrote:
Hello again!
I've had another look at the ICE master branch, and it seems to me that there's a lot of dependency issues.
I haven't looked at the other feature branches available, but I can see that there are branches that (at least from the name) seems to be relevant :)
origin/jay/cleanup
origin/kgrs/viz/refactor
origin/UnifiedVizRefactor_NoReactor
What I've done so far is to clone the master branch, and only import the *.viz.* bundles into Eclipse. I also imported the org.eclipse.ice.viz.target.mars bundle, and set the target platform from it.
By doing this I'd expect to get no dependency issues, except for issues with some of the service bundles (more specifically the org.eclipse.ice.viz.service.visit and the org.eclipse.ice.viz.service.jme3 bundles, since I haven't set up any of the engines on
my system).
My initial thoughts are as follows:
1) What's the main goal of this cleanup/refactoring? I'd think that the viz bundles should be pretty standalone with regards to the rest of the ICE bundles. There are direct dependencies to org.eclipse.ice.client.widgets, org.eclipse.ice.analysistool and several
others. Of course if I start to add these, it just blows up with a cascade of other dependencies to other ICE bundles. I'd think that it's OK for ICE to depend on Viz for visualization, but not the other way around.
2) Viz should probably (when/if splitting part with ICE) have it's own separate target platform
3) It should be possible to just close the visit and jme3 plugins, and still don't get any errors. Right now there are dependencies from the more generic top level bundles to the visit/jme3 bundles (and even com.jme3.* in the org.eclipse.ice.viz.service.geometry
bundle). In my opinion the only bundle allowed to have dependencies to com.jme3.* is the org.eclipse.ice.viz.service.jme3.* bundles.
4) I see you use jMonkeyEngine for a lot of the math. Have you considered removing these dependencies by implementing the requred math stuff yourself? (maybe in a org.eclipse.ice.viz.math bundle) or use some other third party library?
Are there any other branches where any of the mentioned issues are addressed? Or am I sort of "barking up the wrong tree" here? :)
Med vennlig hilsen / Best regards,
Håvard Heierli-Nesse
Programutvikler – Konstruksjonsteknikk
Software developer – Structural engineering
MARINTEK (Norsk Marinteknisk Forskningsinstitutt
AS)
Address: POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
From: Jay Jay Billings [jayjaybillings@xxxxxxxxx]
Sent: Friday, December 18, 2015 8:44 PM
To: McCaskey, Alex
Cc: Håvard Heierli-Nesse
Subject: Re: Using Viz in our RCP application
Havard,
Very nice to meet you!
You might try the latest version of ICE's master branch in the Git repo. We have refactored many parts of the org.eclipse.ice.viz bundles and you shouldn't need any additional bundles now.
We are starting on the initial contribution for the Eclipse Advanced Visualization Project (EAVP). It must be approved for check-in first by the Eclipse Foundation, so I would say it will probably be available sometime in early January.
Please let me know how we can help. As Alex said, we're committed to helping you be successful with this project!
Jay