Sonntag, 25. Mai 2014

JavaFX 3D Editor - Update 2

Da ist schon wieder eine Woche vorbei. Und damit wird es auch Zeit für ein neues Update.
Hier ein Überblick:


Was ist diese Woche alles neu dazugekommen?
  1.  Ausbau des Manipulations-Menü
    Hier sind jetzt die gezeichneten Komponenten zu sehen und auszuwählen. Weiterhin kann die Position der Komponente manipuliert werden. Dabei können zum einen die (+) - und (-)-Schaltflächen verwendet werden und zum anderen kann die Position auch direkt in die Felder eingegeben werden.

    Für die Leute, die auch in den Code gucken:
  2. Strukturierung
    Die Struktur hat sich etwas verändert. Sämtliche Menüs befinden sich nun in einem extra Package. Alles in einem GUI-Package war zu unübersichtlich.
  3. Graphic-Objekte
    Die Graphic-Objekt erben jetzt von einer eigenen Superklasse. Damit sind die Objekte keine Instanzen von der Klasse javafx.scene.Node. In den aktuellen Klassen kann mittels der Methode "asNode()" eine javafx.scene.Node erzeugt werden, die dann auf anderen scenes gerendert werden kann. Dadurch wurde ein weitaus höherer Abstraktionsgrad erreicht. Ihr könnt die Klasse Rectangle3D ja mal mit den vorherigen Revisionen vergleichen. Sollten jetzt neue Graphic-Klassen hinzukommen, müssen sie von Object3D erben. Den Großteil der benötigten Methoden bekommen sie damit schon mitgeliefert. Ein Manko ist immer noch, dass zu jeder Graphic-Klasse eine javafx.scene.Node angegeben werden muss.
  4. Shape-Builder
    Der Shape-Builder ist eine neue allgemeine Klasse, die es erlaubt Objekte einer Graphic-Klasse zu erzeugen. Sie ist so komzipiert, dass die entsprechende Graphic-Klasse mit angegeben werden muss.

Code ist immer noch hier im master zu finden: https://github.com/gundermann/JFX3D.git
Und Fehler und wünsche gehen weiterhin an: niels.gundermann.ng@googlemail.com

Sonntag, 18. Mai 2014

JavaFX 3D Editor - Update 1

Was gibt es neues?

Diese Woche habe ich nicht viel Zeit gehabt. Außerdem habe ich Probleme bei der Rotation des gesamten Grafik oder einzelnen Grafiken.

Von daher gibt es nur kleine Neuerungen in dieser Woche.


  1. Erweiterung des Dimensions Menüs

    Hier gibt es jetzt eine Infobox, in der die aktuellen Rotationswinkel einzusehen sind. Desweiteren kann man hier sämtliche Rotationen zurücksetzen.
    Weiterhin kann man sich die Achsen anzeigen lassen. Diese rotieren zwar mit - entsprechen jedoch nicht den Rotationsachsen. (Hier muss ich noch etwas machen)
  2. Manipulation der Komponenten im Manipulations Menü

    Das Manipulations Menü bietet die Möglichkeit, die einzelnen Komponenten zu verändern. Derzeit können die Komponenten nur in drei Dimensionen verschoben werden. Die Komponente, die verändert wird, wird durch die Auswahl im Zeichnen Menü bestimmt. Dies wird sich mit dem nächsten Update ändern, da das Zeichnen Menü nichts mit den schon bestehenden Komponenten zu tun hat, sondern nur für die Erzeugung neuer Komponenten benötigt wird.
  3. Neue Positionen für die Menüs


Hier noch einmal der Link: https://github.com/gundermann/JFX3D.git

Und meine E-Mail Adresse für Fehlermeldung und Wünsche ;-)
gundermann.niels.ng@googlemail.com

Sonntag, 11. Mai 2014

JavaFX 3D Editor

Mein JavaFX-3D-Editor. Was kann der eigentlich?
Momentan handelt es sich dabei um ein minimalistisches Paint, das in der Lage sein soll, 3D-Grafiken zu visualisieren.

Auch wenn der zündende Gedanke zur Auswahl dieses Projektes "PAINT ist doch toll" war, habe ich mich bei der Aufmachung für einen gimp-ähnlichen Stil entschieden. Von daher sieht das Programm nach dem Start nach nichts aus, wie man im folgenden Bild sieht.


Von den Menüpunkten "Edit" und "Help" sollte man sich vorerst nicht beeindrucken lassen - unter denen passiert noch gar nichts ;-)

Auch das Schließen via File->Close ist noch nicht umgesetzt - ja ich weiß: "Was geht da überhaupt?!".
Also mache ich mal mit dem weiter, was überhaupt geht.

Die Schaltfläche "New Object" sieht aus, als könnte sie schon funktionieren. Wenn man darauf klickt passiert sogar etwas. Dabei wird eine neue Arbeitsoberfläche angelegt, auf dem die Grafiken erstellt werden können. Das sieht erstmal unspektakulär aus:

Was aber im Hauptmenü auffällt ist, dass die Schaltflächen "Dimension Menu" und "Painting Menu" sowie die Auswahlbox aktiv wurden. Beim Klick auf die beiden Menu-Schaltflächen öffnet sich das jeweilige Menu. Die Beiden Menüs werden ich im Anschluss erklären. die Auswahlbox bestimmt auf welche Arbeitsoberfläche sich die Menüs beziehen. Insofern ist es auch möglich mit mehreren Arbeitsflächen gleichzeitig zu arbeiten.

Mit Hilfe des Dimensions Menü kann man die 3D-Objekte in den entsprechenden Achsen drehen, um sich sein Kunstwerk mal von allen Seiten aus zu betrachten. Die Rotation funktioniert bei aktivierter Rotation über das Ziehen mit der Maus über die entsprechende Arbeitsfläche bei gedrückter linker Maustaste (Die Drag-Funktion).


Mit Hilfe des Zeichen Menü werden erstens die Komponenten in der ausgewählter Arbeitsfläche aufgelistet und zweiten kann man hier die Tools zum Zeichnen anzeigen lassen. Wobei derzeit nur das Rechteck funktioniert.


Wo ich schon wieder bei nicht funktionierenden Dingen bin - Speichern kann man die Grafiken auch noch nicht ;-)

Ich würde mich freuen, wenn ihr ein bisschen mit dem Editor herumspielt und mir eure Meinung schreibt.
Auch über Fehlermeldungen, Verbesserungsvorschläge und Verbesserungswünsche würdeich mich sehr freuen.

Follow on twitter: @NGJFXaA

Email: gundermann.niels.ng@googlemail.com

Wer möchte, kann sich den Code auch auf GitHub angucken:
https://github.com/gundermann/JFX3D/tree/peter