3D Begginer on j3d -> jME3

Hi,

In advance, I’m sorry for my English, I’m French. I’m here because I’m currently working on an API like Sketchup but easier (to modelize some 3D objects in order to simulate architect’s work).

Sketchup looks like that : http://essenziale-hd.com/wp-content/uploads/2013/03/google-sketchup-7.jpg

At this moment, the API doesn’t work because it runs on j3d (last update : 2010). The problem comes from from 1 class : GeometryInfo. After some investigations, it appears that it’s too difficult and too long to modify j3d sources. That’s why i’ve thought to pass on to jME3, because i’ve heard a lot of good things about it.

First : currently, my API use the type BranchGroup for its 3D Object. I’d have to recode everything if I go for jME3, or does jME3 offers something which allows to get an BranchGroup Object? are j3d and jME3 going to conflict?

My second question is : The problem at this moment is that when I generate an 3D Object, I call a class named “BoundingBox”. It uses the class GeometryInfo to get the geometry (height, size, etc) of my object BranchGroup to create a bounding box. Unfortunately, it doesn’t work, because theses classes have somethings broken since the last update of Java (1.7). So with jME3, does a native class exists which permits the same thing?

Thank you for reading.

Up :slight_smile:

First, we have no idea what a BranchGroup is so cannot comment. You could try reading the docs and/or doing the tutorials to get up to speed on how to use JME.

Second, http://hub.jmonkeyengine.org/javadoc/com/jme3/scene/Spatial.html#getWorldBound()
or: http://hub.jmonkeyengine.org/javadoc/com/jme3/scene/Geometry.html#getModelBound()
or: http://hub.jmonkeyengine.org/javadoc/com/jme3/scene/Mesh.html#getBound()

http://download.java.net/media/java3d/javadoc/1.4.0/javax/media/j3d/BranchGroup.html
It’s a 3D object on J3D.

I’ve already check the tutorials :confused:

But thx for your answer

@Couscous said: http://download.java.net/media/java3d/javadoc/1.4.0/javax/media/j3d/BranchGroup.html It's a 3D object on J3D.

I’ve already check the tutorials :confused:

But thx for your answer

This still doesn’t really tell me anything. Most of us don’t use j3d for a reason and have no intention of learning its esoteric ways of doing things. I tried to read the first paragraph of the docs and most of it was like a foreign language.

You are using BranchGroup for some reason. It would probably only take a few seconds to explain why you are using it.

JME has Spatials. Typically these are Nodes or Geometry. All of this is covered in the docs, though.

This might help:
https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:scenegraph_for_dummies

Hm, i use it for modelize 3D object. I’ve a file, import it. After that I load this in “Scene” Object. With Scene Class, i getSceneGroup() (Scene method) to get back a BranchGroup Object. After it, I call BitSet class to creat a Mask, which is taked by ‘Switch’ class. I don’t understand everything (I’m Student and the boss ask to work on a code about 50000 lines)
but this is a mask for my object, I thought. At the end, my BranchGroup object is call like argument in a Switch method, and this is used in an other class which modelize my object (in 3d). I’m begginer in j3d too… So hard :frowning:

@Couscous said: Hm, i use it for modelize 3D object. I've a file, import it. After that I load this in "Scene" Object. With Scene Class, i getSceneGroup() (Scene method) to get back a BranchGroup Object. After it, I call BitSet class to creat a Mask, which is taked by 'Switch' class. I don't understand everything (I'm Student and the boss ask to work on a code about 50000 lines) but this is a mask for my object, I thought. At the end, my BranchGroup object is call like argument in a Switch method, and this is used in an other class which modelize my object (in 3d). I'm begginer in j3d too.. So hard :(

Yeah… I have no idea what any of that means. It sounds way more complicated than it needs to be.

What is the actual effect you are trying to achieve?

It’s a code dev by about 10 dev since 8 years… (more by trainee and by one employee with 5 years IT degrees)

The goal is simple : A file coming from Sketchup can be exported in 2 formats : DAE or OBJ (and others, but only theses interesse me)
“My” software allows to import DAE and OBJ format (3D’s Object represent by Vectors). This software permit to modelize theses objects after the import, move them, make rotation on them etc, with Bounding Box around them. The Bouding box is used to calculate collisions in a very approximate way. I think I need to recode all of my current code…

I forget, thx you again for your answer !

Well jme can load obj without any additinal stuff already.

Else than that java3d and jme are based on similar concepts low level but the whole high level is different.

And about the Bounding box and collision managing? for jme3? Easy to organize?

up?

@Couscous said: And about the Bounding box and collision managing? for jme3? Easy to organize?

This tends to indicate that you haven’t even looked at the docs… and it seems you didn’t even look when I provided direct links to functions getting the bounding box.

If you do all of the tutorials then all of your questions are answered.

If I understood well your program, you are looking for a drop-in solution to j3d. JME is not.
If you go this way, you will probably have to write all the software again. almost from scratch.

JME is much more high level than J3D. It’s much easier to use.

@yang71 said: If I understood well your program, you are looking for a drop-in solution to j3d. JME is not. If you go this way, you will probably have to write all the software again. almost from scratch.

JME is much more high level than J3D. It’s much easier to use.

If you designed your application well and separated the visual and logic part then you can very well replace J3D with jME. But it obviously requires understanding how the engine works first. But given that OP wants to change the code of J3D to fix limitations within his application doesn’t sound as if the code was separated well :slight_smile: Also J3D is about the same “level” as jME3 but much easier to use an more logical, I agree :wink: