3D development environment

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
speculatius
Posts: 15
Joined: Wed Nov 28, 2007 12:49 pm

3D development environment

Post by speculatius »

Hello,

I am working on 3D development environment for OOP languages. It means, that you can design your application in similar manners, that with UML. Then you can generate corresponding code. The difference is 3th dimension :). I am wondering, if anyone else is trying to do this.

You can find compiled project (Win, OpenGL) here:
http://student.fiit.stuba.sk/~ludvik05/IDE-3D.zip

Here is quick guide:

- for navigation, Maya camera is used

- if you right-click on any object, context-menu will be opened. Choose 'center', to set object as target of camera. Rest of actions are easy-understandable.

- to create new object, there is toolbar on the left. This objects are supported so far:
  • - namespace
    - class
    - attribute (can be used as global variable as well)
    - method (can be used as global function)
    - inheritance
- while moving object, try to use scrolling. It will move object to/away from camera. SHIFT will make scrolling more sensitive.

- click on object to open/close it. Only namespaces and classes can be opened.

- you can place objects in another objects (e.g. class in namespace). For doing so, don't forget to use scrolling for inserting object exactly in other object. Or simply center object of your interest and every new created object will be automatically placed in right distance. This types of embedding are supported:
  • - namespace in project(grid)
    - namespace in namespace (namespaces are resizing automatically)
    - class in namespace
    - attribute in project, namespace and class
    - method in project, namespace and class
- if you want to generate code-scaffold, choose 'Generate/GenerateJava' from main menu. Code will be placed in 'output' directory.

Here are some problems, that I still have not resolved:

- FileOpenDialog is changing working directory. I can catch event EGET_FILE_SELECTED and reset to previous working directory. But how can I catch event of closing dialog?

- In top left corner is textbox for logging. It is disabled for typing, but it is still stealing events of clicking. So user is unable to manipulate with objects in this corner.

Screenshots:

Image

Image

It is only prototype and it is not very usefull. I will be happy, if you wrote some opinions or experiences with similar tools :)
Last edited by speculatius on Mon Apr 19, 2010 4:59 pm, edited 1 time in total.
slavik262
Posts: 753
Joined: Sun Nov 22, 2009 9:25 pm
Location: Wisconsin, USA

Post by slavik262 »

3D code relational graphs? :D

That's really cool. As far as useful, I'm not too sure yet, but it has a lot of potential.

Instead of using it to create code, it would be really cool if it could also build a diagram/3D graph from pre-existing code. I know the parser would have to be a monster, but debugging your object relationships in 3D would be amazing.
speculatius
Posts: 15
Joined: Wed Nov 28, 2007 12:49 pm

Post by speculatius »

Instead of using it to create code, it would be really cool if it could also build a diagram/3D graph from pre-existing code. I know the parser would have to be a monster, but debugging your object relationships in 3D would be amazing.
Yes. It was created as student project. One of my schoolmates is working on dynamic visualization of code in runtime (in 3D). If you are interested in, I can ask him to publish his project as well.
slavik262
Posts: 753
Joined: Sun Nov 22, 2009 9:25 pm
Location: Wisconsin, USA

Post by slavik262 »

That would be awesome. Many thanks to the both of you in advance!
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

Its a cool idea, but I found it hard to work with. I couldn't click on the little ball that represented methods and wasn't able to figure out how to add code to the method or add methods to a class :\

You should post an example application that you made with this.

also, since Java is not my strongest subject I will most likely follow this project xD

(ps, '3th' is written as 3rd)

EDIT:
oh and as for the application itself, its really good. Nicely polished and smooth, and an excellent irrlicht application.

EDIT2:
lol I should revise my post more before I submit :P

I think it would be better if you could edit the source code in the application, and the 3D objects were set up according to the code. Might be difficult to get past the various coding styles that people have, but if you do it would be SUPER awesome :D
Image
Post Reply