Hello Mixy,
Very nice
Actually - I'm working on a similar thing, in my free time - my project (called javaRail) is currently in it's early stages (mostly requirement analysis and architecture planning), but I already had a partially working version, in the past (using Swing framework for general layout and Piccolo library for the ZUI/editor part).
I enjoy java programming a lot, and since a long time ago, I've been dreaming about the creation of a layout-design software with a completely different (much more intuitive) approach to the user handling. It always came to me, that the existing (even commercial) tools are quite awkward to use. Maybe it's because the autors of such software generally tend to be more model RR fans, than software usability engineers.
For example, in your SCARM, I really like the "flex" laying tool
It presents exactly the kind of intuitivness I've been thinking about so much.
(To be honest, the targets of my javaRail project are twofold - First, I really like to create my own computer-aided model-railorad design tool, and second, I'm using the project to master new tools and frameworks, learn new software engineering approaches, and in general, to really enjoy the fact, that I can work on a software project, where only I can set all the rules, requirements and limits myself, without having to respect any cumbersome customer wishes
(as you probably guessed, I work as a software engineer, so I take this project also as a kind of a "pressure valve", to relieve all the frustration, that inevitably comes with my daytime job, and to save me from burning out
)
Anyway, I'd like to discuss and share some ideas with you, if you like (Please PM me, if interrested)
Some general ideas I have in my mind regarding the javaRail project, that you might find potentially usefull and interresting:
- I plan to use javaFX for GUI, as it provides a very modern and fast (hardware accelerated) way to paint things on the screen
- I am following the MVC design pattern for the internal architecture of the layout representation, as it seems to offer an ellegant and very flexible way to create a 2D graphical editor in general
- To describe track pieces, and their geometry, I'm using my own format, which I internally call "Knot-Segment system (KSs)". In a nutshell, "knots" are "oriented" points in space, and segments are path-elements, that connect them. Segments can have numerous primitive shapes, like simple line, arc, and some more... Currently, I use simple XML for the track definitions.