Re: Issue 29 in rdv: Integrate Lehigh's 3D Data Panel

3 views
Skip to first unread message

Jason P. Hanley

unread,
Dec 2, 2008, 8:53:38 AM12/2/08
to RDV Developers
Tommy, I can get my hands on a Mac about once a month, so I can do
some testing for you soon. Why don't you make a branch and put your
code up and we can go from there. I did the mac disk image
distribution for RDV and can easily update it to include the needed
native libraries.

As for platforms, I would say mostly Windows, but don't have any good
data. Looking at the download counts here:

http://code.google.com/p/rdv/downloads/list

it is about 88% Windows, 6% Mac, and and 6% plain binary for the latest release.

Jason

On Wed, Nov 26, 2008 at 9:58 AM, Thomas Marullo <tm...@lehigh.edu> wrote:
> Jason,
>
> I noticed activity on the RDV code and I still want to incorporate the 3D
> model viewer inside the RDV source tree. As I mentioned previously, there
> are distribution concerns and compatibility issues with macosx. One of the
> problems I have is that I don't have a mac to test against here and macosx
> doesn't nicely install on VMware. I'll see if any IT managers who have macs
> have time to try this out for me but for now I'll hold off on committing it
> to the RDV source until I can resolve the compatibility issues.
>
> Also, do you have any idea what platform the majority of the users are on?
> Windows, Linux, Mac, 32bit, 64bit, etc?
>
> Tommy
>
> codesite...@google.com wrote:
>
> Issue 29: Integrate Lehigh's 3D Data Panel
> http://code.google.com/p/rdv/issues/detail?id=29
>
> New issue report by ja...@paltasoftware.com:
> Integrate Lehigh's 3D data panel into the RDV source for the next release.
>
> http://www.nees.lehigh.edu/index.php?page=rdv
>
>
> Issue attributes:
> Status: Accepted
> Owner: tmar89
> Labels: Type-Enhancement Priority-Medium Component-3D Milestone-2.0
>
>
> --
> Thomas M. Marullo
> Research Scientist II & RTMD IT Manager
> ATLSS Engineering Research Center
> Lehigh University
> 117 ATLSS Drive
> Bethlehem, PA 18015
> (610) 758-6683
>
> Normal people believe that if it ain't broke, don't fix it. Engineers
> believe that if it ain't broke, it doesn't have enough features yet.

Tommy Marullo

unread,
Dec 4, 2008, 10:53:20 AM12/4/08
to RDV Developers
Jason,
I branched off rev 1313 to include the 3D Model Panel and created a
Wiki page for it also. It should compile with the Java3D API included
in the lib directory (3 JAR files) and then you just need to install
java3d. My branch includes the updated JNLP that downloads Java3D
binaries automatically. I will be adding a detailed model file and
input file for RDV for new users but if you want to mess with it now
and see how it works, that would be great. The Wiki page listed at:
http://code.google.com/p/rdv/wiki/3D_Panel_User_Guide

So for your reference, the new and updated files are:
org.rdv.datapanel.ModelPanel.java
config/extensions.xml
lib/j3dcore.jar
lib/j3dutil.jar
lib/vecmath.jar
jnlp/rdv.jnlp

Tommy

Jason P. Hanley

unread,
Dec 4, 2008, 5:00:15 PM12/4/08
to rdv-dev...@googlegroups.com
Nice. I'll take a look at this soon. For the Windows installer and Mac
disk image, I'll need the native libraries. Should I just download
these from the Java 3D website? Any specific version?

Jason

Thomas Marullo

unread,
Dec 5, 2008, 12:44:27 PM12/5/08
to rdv-dev...@googlegroups.com
The binaries exists at:
https://java3d.dev.java.net/binary-builds.html

I use j3d-1_5_2-windows-i586 and the macosx ones exist there too.  Do you think it is necessary to include the binaries in the source code too for all platforms supported?

Tommy

Jason P. Hanley

unread,
Dec 8, 2008, 9:47:11 AM12/8/08
to rdv-dev...@googlegroups.com
I think the only reason to include the native libraries is if we need
to bundle them with the platform installers. So for Mac it seems we
need to do this. On Windows we could just make installing Java 3D via
their installer a prerequisite, or bundle the dll's with our
installer. I'm not sure which is better, but I'll play around with
both when I update the installer and see it works.

Jason

Thomas Marullo

unread,
Dec 8, 2008, 1:04:39 PM12/8/08
to rdv-dev...@googlegroups.com
Thanks.

I think more importantly now is to try it out on a Mac because I cant get my hands on one.

Tommy

Paul Hubbard

unread,
Dec 8, 2008, 1:34:04 PM12/8/08
to rdv-dev...@googlegroups.com

I have macs and can test if you give me an outline of how to do so...

Cheers,
Paul

Thomas Marullo

unread,
Dec 8, 2008, 1:43:01 PM12/8/08
to rdv-dev...@googlegroups.com
Thanks, Paul.

Can you download the 3DModelPanel branch of the RDV and see if you can compile it and run it?  You will need to download the Java3D binaries and install them from https://java3d.dev.java.net/binary-builds.html first. If you can get the application running and show and choose a 3D Model Panel from the window menu, that would be great.  Then you try the example in the RDV Wiki (http://code.google.com/p/rdv/wiki/3D_Panel_User_Guide)

Actually, can you try the JNLP from my build first?  I want to see if it downloads the Mac binaries and works from a JNLP.  http://www.nees.lehigh.edu/uploads/RDV/RDV-3D.jnlp

Tommy

Paul Hubbard

unread,
Dec 8, 2008, 8:53:01 PM12/8/08
to rdv-dev...@googlegroups.com
Before downloading j3d, JNLP works, but nothing happens when I try to
display a 3D panel - no pane, no error.

Working on the PITA JOGL/J3D now.

-P

Paul Hubbard

unread,
Dec 9, 2008, 3:00:23 PM12/9/08
to rdv-dev...@googlegroups.com

OK, JOGL and j3d installed, when I try to create a j3d panel I get
this in the console:

INFO: Updating channel listing at 2008-12-09 11:59:19.166 PST
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError:
javax.vecmath.Point3d.setX(D)V
at org.rdv.datapanel.ModelPanel
$StructureModel.getCenter(Unknown Source)
at org.rdv.datapanel.ModelPanel
$ModelViewer.createAxes(Unknown Source)
at org.rdv.datapanel.ModelPanel$ModelViewer.<init>(Unknown
Source)
at org.rdv.datapanel.ModelPanel.<init>(Unknown Source)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun
.reflect
.NativeConstructorAccessorImpl
.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:
494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.rdv.DataPanelManager.createDataPanel(Unknown Source)
at org.rdv.ui.ApplicationFrame$34.actionPerformed(Unknown
Source)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2202)
at
javax
.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:
420)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
at
apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:95)
at java.awt.MenuItem.processActionEvent(MenuItem.java:597)
at java.awt.MenuItem.processEvent(MenuItem.java:556)
at
java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:298)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:286)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:466)
at
java
.awt
.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:
269)
at
java
.awt
.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:
110)
On Dec 8, 2008, at 10:43 AM, Thomas Marullo wrote:

Paul Hubbard

unread,
Dec 9, 2008, 3:06:14 PM12/9/08
to rdv-dev...@googlegroups.com

Trying to compile java3d branch yields this:

Buildfile: build.xml

compile:
[javac] Compiling 105 source files to /Users/hubbard/code/rdv3d/
build/classes
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/data/Channel.java:
180: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] if (!value.isEmpty()) {
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:166: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] else if (channel == null || node.isEmpty() || axis < 0)
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:887: cannot find symbol
[javac] symbol : method setX(double)
[javac] location: class javax.vecmath.Point3d
[javac] center.setX(getAxisExtreme(MIN,X_AXIS) +
(getAxisExtreme(MAX,X_AXIS)-getAxisExtreme(MIN,X_AXIS))/2 );
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:888: cannot find symbol
[javac] symbol : method setY(double)
[javac] location: class javax.vecmath.Point3d
[javac] center.setY(getAxisExtreme(MIN,Y_AXIS) +
(getAxisExtreme(MAX,Y_AXIS)-getAxisExtreme(MIN,Y_AXIS))/2 );
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:889: cannot find symbol
[javac] symbol : method setZ(double)
[javac] location: class javax.vecmath.Point3d
[javac] center.setZ(getAxisExtreme(MIN,Z_AXIS) +
(getAxisExtreme(MAX,Z_AXIS)-getAxisExtreme(MIN,Z_AXIS))/2 );
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:242: cannot find symbol
[javac] symbol : method setFillsViewportHeight(boolean)
[javac] location: class javax.swing.JTable
[javac] variablesTable.setFillsViewportHeight(true);
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:391: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] if ((variableChannel == null ||
variableChannel.isEmpty()) &&
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:392: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] (variableName == null ||
variableName.isEmpty())) {
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:418: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] boolean formulaExists = !formula.isEmpty();
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:447: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] if (channel != null && (name == null ||
name.isEmpty())) {
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:462: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] if (!name.isEmpty()) {
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/ui/
AddLocalChannelDialog.java:530: cannot find symbol
[javac] symbol : method isEmpty()
[javac] location: class java.lang.String
[javac] if (unit != null && unit.isEmpty()) {
[javac] ^
[javac] 12 errors

On Dec 8, 2008, at 10:43 AM, Thomas Marullo wrote:

Jason P. Hanley

unread,
Dec 9, 2008, 3:38:11 PM12/9/08
to rdv-dev...@googlegroups.com
I think this is because there is some code that is using Java 6
methods. I fixed this on the trunk, but this branch must of split off
before this.

Thomas Marullo

unread,
Dec 9, 2008, 4:41:17 PM12/9/08
to rdv-dev...@googlegroups.com
I've updated the branch with the latest main trunk so Paul can try compiling again.

Paul Hubbard

unread,
Dec 9, 2008, 4:44:33 PM12/9/08
to rdv-dev...@googlegroups.com

Interesting. Compiles OK now, but when I try to view a numeric channel
I get this

[java] Dec 9, 2008 1:42:51 PM org.rdv.rbnb.RBNBController
changeStateSafe
[java] INFO: Transitioned from state disconnected to stopped.
[java] Dec 9, 2008 1:42:55 PM org.rdv.DataPanelManager viewChannel
[java] WARNING: Failed to find data panel extension for channel
LoggerNetSource/Air_Temp_Avg.

and there are no viewers listed in the 'Window' menu.

Any ideas?

-p

Jason P. Hanley

unread,
Dec 10, 2008, 7:06:03 PM12/10/08
to rdv-dev...@googlegroups.com
Tommy, I just looked at the branch and it is weird. It is basically
the same as the trunk, just with the config/extensions.xml and
jnlp/rdv.jnlp deleted. I think something got messed up when you merged
the latest from the trunk.

Thomas Marullo

unread,
Dec 10, 2008, 8:58:42 PM12/10/08
to rdv-dev...@googlegroups.com
I dont know what happened.  Eclipse was being weird and I thought I had it updated.  I'll fix it tomorrow.


Tommy

Jason P. Hanley wrote:

Tommy Marullo

unread,
Dec 11, 2008, 12:44:16 PM12/11/08
to RDV Developers
Ok should be there now.

On Dec 10, 8:58 pm, Thomas Marullo <tma...@gmail.com> wrote:
> I dont know what happened.  Eclipse was being weird and I thought I had
> it updated.  I'll fix it tomorrow.
>
> Tommy
>
> Jason P. Hanley wrote:
> > Tommy, I just looked at the branch and it is weird. It is basically
> > the same as the trunk, just with the config/extensions.xml and
> > jnlp/rdv.jnlp deleted. I think something got messed up when you merged
> > the latest from the trunk.
>

Paul Hubbard

unread,
Dec 11, 2008, 12:58:51 PM12/11/08
to rdv-dev...@googlegroups.com

Nope, sorry -

Buildfile: build.xml

clean:
[delete] Deleting directory /Users/hubbard/code/rdv3d/build

compile:
[mkdir] Created dir: /Users/hubbard/code/rdv3d/build/classes
[javac] Compiling 147 source files to /Users/hubbard/code/rdv3d/
build/classes
[javac] 4 errors

BUILD FAILED
/Users/hubbard/code/rdv3d/build.xml:94: Compile failed; see the
compiler error output for details.

Total time: 3 seconds
[1][hubbard@ebauche--001]~/code/rdv3d 1086 %

Thomas Marullo

unread,
Dec 11, 2008, 4:33:03 PM12/11/08
to rdv-dev...@googlegroups.com
Jason,
Do you think this has to do with the compiler?  You mentioned something about Java 6 methods.

Tommy

Jason P. Hanley

unread,
Dec 12, 2008, 10:10:29 AM12/12/08
to rdv-dev...@googlegroups.com
I updated the branch and it should build now. The first error was a
Java 6 method. The others were related to the build files needing to
be updated to include the Java3D jars.

And I found this tutorial for installing Java3D on Mac:

http://blogs.sun.com/mart/entry/installing_java3d_1_5_on

Seems it is a little more complicated than other platforms as you need
to install JOGL too.

Jason

Paul Hubbard

unread,
Dec 12, 2008, 10:49:15 AM12/12/08
to rdv-dev...@googlegroups.com

Alas, still no joy, details below. I followed a similar tutorial and
now have the jogl and j3d jars in my classpath, so I don't think
that's a problem.

[hubbard@ebauche]~/code/rdv3d 1094 % ant
Buildfile: build.xml

compile:
[mkdir] Created dir: /Users/hubbard/code/rdv3d/build/classes
[javac] Compiling 147 source files to /Users/hubbard/code/rdv3d/
build/classes
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:887: cannot find symbol
[javac] symbol : method setX(double)
[javac] location: class javax.vecmath.Point3d
[javac]
center.setX(getAxisExtreme(MIN,X_AXIS) + (getAxisExtreme(MAX,X_AXIS)-
getAxisExtreme(MIN,X_AXIS))/2 );
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:888: cannot find symbol
[javac] symbol : method setY(double)
[javac] location: class javax.vecmath.Point3d
[javac]
center.setY(getAxisExtreme(MIN,Y_AXIS) + (getAxisExtreme(MAX,Y_AXIS)-
getAxisExtreme(MIN,Y_AXIS))/2 );
[javac] ^
[javac] /Users/hubbard/code/rdv3d/src/org/rdv/datapanel/
ModelPanel.java:889: cannot find symbol
[javac] symbol : method setZ(double)
[javac] location: class javax.vecmath.Point3d
[javac]
center.setZ(getAxisExtreme(MIN,Z_AXIS) + (getAxisExtreme(MAX,Z_AXIS)-
getAxisExtreme(MIN,Z_AXIS))/2 );
[javac] ^
[javac] 3 errors

BUILD FAILED
/Users/hubbard/code/rdv3d/build.xml:97: Compile failed; see the
compiler error output for details.

Total time: 3 seconds
[1][hubbard@ebauche]~/code/rdv3d 1095 % svn info
Path: .
URL: http://rdv.googlecode.com/svn/branches/3DModelPanel
Repository Root: http://rdv.googlecode.com/svn
Repository UUID: ce171161-c33e-0410-912a-ab1c26d05d24
Revision: 1349
Node Kind: directory
Schedule: normal
Last Changed Author: ja...@paltasoftware.com
Last Changed Rev: 1349
Last Changed Date: 2008-12-12 06:29:42 -0800 (Fri, 12 Dec 2008)

Thomas Marullo

unread,
Jan 22, 2009, 3:20:04 PM1/22/09
to rdv-dev...@googlegroups.com
Jason,

I think we should include the 3D panel with support for only Windows and Linux now.  I want the plugin to get out there with the next release and can deal with the mac version not having the 3D support.  Let me know what you think.
Reply all
Reply to author
Forward
0 new messages