tag:blogger.com,1999:blog-43554412802690149512024-02-18T21:55:32.582-08:00JavaStuffUnknownnoreply@blogger.comBlogger29125tag:blogger.com,1999:blog-4355441280269014951.post-28222861511970223522016-07-29T12:00:00.000-07:002016-07-30T02:13:43.382-07:00Java object-orientated vs. Java with a functional touchSince Java 8 it looks like you can use parts from the functional paradigmen in the object-orientated language. These parts are based on functional interfaces. Also lambda-expressions are just another syntax to implement functional interfaces. But this advantages is not as functional as it seems, because functional interfaces are bases - in the end - on messages which are send to objects, which is object-orientated.<br />
So the only thing functional interfaces does is enable another syntax to implement object-calls, which in fact is much more shorter and readeble in some cases.<br />
<br />
When I think about parts from functional paradigm in object-orientated languages, better performance and avoiding of side-effects comes to my mind. But if you work wich object-calls in functional interfaces, you will never gain this advantages.<br />
<br />
So if you use the functional touch of java you have to take care about the functional implementation. Then you will gain this advantages.<br />
<br />
Here is an example that shows that a functional implementation with native types is more performant that an object-orientated implementation. (Both in Java):<br />
<br />
<b><u>Object-Ori</u><u>entated</u></b><br />
<br />
<pre brush="java"> Set<additioninteger> set = new HashSet<>();
for (int i = 0; i < 1000000; i++) {
set.add(new AdditionInteger(i));
}
Iterator<additioninteger> it = set.iterator();
AdditionInteger z1 = it.next();
long start = System.currentTimeMillis();
for (int i = 1; i < 1000000; i++) {
z1.add( it.next());
}
long end = System.currentTimeMillis();
System.out.println(end - start);
// tooks 30261 ms
// What about itration
it = set.iterator();
start = System.currentTimeMillis();
for (int i = 1; i < 1000000; i++) {
it.next();
}
end = System.currentTimeMillis();
System.out.println(end - start);
// tooks 47 ms
</additioninteger></additioninteger></pre>
<br />
<br />
<br />
<b><u>Functional </u></b><br />
<br />
<pre brush="java">
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
i + (i + 1);
}
long end = System.currentTimeMillis();
System.out.println(end - start);
// tooks 8301 ms
</pre>
<br />
So the functional code just took a third of the time the object-orientated code needed.<br />
The reason might be the object-calls and the handling of the value inside the object, where the add-method was called. In functional languages you also have a space where values are stores, especially when they are bound to variables. This is space is calles <i>environment. </i>The handling of variables and values are not included in this experiment.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-10012573427900475152015-07-20T23:09:00.000-07:002015-07-20T23:09:51.704-07:00JavaFX-3D-Editor - Update 12<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3wXBOwoWxwgUfOnn0O-mGXwqcoU0OrWw00VMbwksuK-oSwthHl_CW-uw52DRLjglx5_zWDRZnIeOQ9unrsQus-d1oa30Q5vFr71seTMt1KtSS_ZryF7VIBkldgTJ3buhBThbiR4tIrg/s1600/pin.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3wXBOwoWxwgUfOnn0O-mGXwqcoU0OrWw00VMbwksuK-oSwthHl_CW-uw52DRLjglx5_zWDRZnIeOQ9unrsQus-d1oa30Q5vFr71seTMt1KtSS_ZryF7VIBkldgTJ3buhBThbiR4tIrg/s1600/pin.png" /></a><br />
<br />
It took a long time since the last commit.<br />
You may say: Much time - many features<br />
Or: Much time - big features<br />
<br />
But it is: I had no time - so only small features.<br />
<br />
The new Feature is the visibility of the edges of 3DObjects. But maybe I found some things that might be useful for the new 3D-models I intend to create.<br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">JAR and sources: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn9RAxj6oWggQSCDq5j-l4Y-YN333-58fFU5xGoCbRS0KaZZC4FGwITK0gYvrAq8f7lL4kV-nv9XY-NXwR3fembXFaqVWqHYakHNrrCVDhTabjNdLgXXRsYf8qr56H75oh2AbNRQ2py3w/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn9RAxj6oWggQSCDq5j-l4Y-YN333-58fFU5xGoCbRS0KaZZC4FGwITK0gYvrAq8f7lL4kV-nv9XY-NXwR3fembXFaqVWqHYakHNrrCVDhTabjNdLgXXRsYf8qr56H75oh2AbNRQ2py3w/s400/12.jpg" width="400" /></a></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-60227837914391186532014-09-14T03:42:00.001-07:002015-07-20T23:00:17.222-07:00JavaFX-3D-Editor - Update 11.1<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDH8lMKYP_9g4ZQcQys_bosbIxnXbmHCRzKOEAlCeFbr34TcqP2Rk09MJ1Dxkk9XuCIOEF7X1vqxgZgtM0Si0X3i4VVMSsRk1ZHK_b-x3Bzt3f4AaGYdkNtX51IqvYw_rejVWLGQyKZWQ/s1600/pin.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDH8lMKYP_9g4ZQcQys_bosbIxnXbmHCRzKOEAlCeFbr34TcqP2Rk09MJ1Dxkk9XuCIOEF7X1vqxgZgtM0Si0X3i4VVMSsRk1ZHK_b-x3Bzt3f4AaGYdkNtX51IqvYw_rejVWLGQyKZWQ/s1600/pin.png" /></a></div>
<span style="font-family: Arial,Helvetica,sans-serif;">This week I didn't commit new features, beacuse there where several bugs in the last update.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">The bugfixes:</span><br />
<br />
<ul>
<li><span style="font-family: Arial,Helvetica,sans-serif;"> API-comments to implement new painting tools</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">nested CGOs can be saved</span></li>
</ul>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">JAR and sources: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-60546352643353893052014-09-07T01:06:00.001-07:002014-09-07T01:06:32.670-07:00JavaFx-3D-Editor - Update 11<span style="font-family: Arial, Helvetica, sans-serif;">It's been two weeks ago since you heard something of the Fx3De from myself.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">The reason is that I tried to make the code of the program a bit more comfortable in order to make it easyer to implement new painting tools.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">During this I change the notation of the .dxml-files. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">If you had already saved some 3d-models - sorry.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Joke! - If you have a .dxml-file you could use them with this update too.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">The only thing you have to do for it, is to convert the files. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Therefore you can use the converter-program I commited here: </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://drive.google.com/file/d/0B1zC0qGiWz40ZDU2UUFMNXp4Mlk/edit?usp=sharing">https://drive.google.com/file/d/0B1zC0qGiWz40ZDU2UUFMNXp4Mlk/edit?usp=sharing</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Just choose your existing old .dxml-file and save it in the second step.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">The editor will load the model with no difference.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Unfourtunally with this update you won't get any new tool.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">But in this post you can read how to build your own painting tools:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">If you want to try it - feel free to do it. But please sent me the code so that I can check this and give you the right to commit it ;-)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Have fun with the new update.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Source: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-29894563542917148252014-09-07T01:06:00.000-07:002014-09-07T01:06:15.306-07:00How to create new painting tools on Fx3De<span style="font-family: Arial, Helvetica, sans-serif;">Here I want to explain to you how to implement new painting tools for the Fx3De.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">There are almost steps to get a additional painting tool. I will show an example. (Ellipse)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">1. This is the main steps. Here you have to define your tool. So first of all you need a class which extends from AbstractPaintableObject3D. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<pre class="brush:java"> public class Ellipse3D extends AbstractPaintableObject3D</pre>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">After this add all umimpleneted methods.</span><br />
<pre brush="java">
</pre>
<pre brush="java">@Override
public void changeHeightTo(double d) {
// TODO Auto-generated method stub
}
@Override
public void changeWidthTo(double d) {
// TODO Auto-generated method stub
}
@Override
public void paint(double x, double y, double initinalX, double initinalY) {
// TODO Auto-generated method stub
}
@Override
public DoubleProperty getHeightProperty() {
// TODO Auto-generated method stub
return null;
}
@Override
public DoubleProperty getWidthProperty() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object3DFactory getFactory() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Class getShapeClass() {
// TODO Auto-generated method stub
return null;
}</pre>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">Done this you have to define the behavior by filling the mehtods in this class. The description of the methods will help you to da this.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">If you implement the methods you can define additional properties of your new painting tool.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">You do this by annotations. Notice that every property needs a Property-Annotation and a PropertyChange-Annotation. Consequently you need two methods. If you are not familliar with the Property-Framework please read this post:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://javafxstuff.blogspot.de/2014/08/properiesonchange.html">http://javafxstuff.blogspot.de/2014/08/properiesonchange.html</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Here is the example:</span><br />
<pre class="brush:java">
</pre>
<pre class="brush:java">@Override
public void changeHeightTo(double d) {
// TODO Auto-generated method stub
}
@Override
public void changeWidthTo(double d) {
// TODO Auto-generated method stub
}
@Override
public void paint(double x, double y, double initinalX, double initinalY) {
// TODO Auto-generated method stub
}
@Override
public DoubleProperty getHeightProperty() {
// TODO Auto-generated method stub
return null;
}
@Override
public DoubleProperty getWidthProperty() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object3DFactory getFactory() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Class getShapeClass() {
// TODO Auto-generated method stub
return null;
}</pre>
<br />
<span class="Apple-tab-span" style="white-space: pre;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span>
<span style="font-family: Arial, Helvetica, sans-serif;">2. Implement a Factory. The Factory needs to entends the Object3DFactory. Just implement the unimplemented methods and the getInstance method:</span><br />
<br />
<pre class="brush:java">public class Ellipse3DFactory extends Object3DFactory {
private static Object3DFactory _instance;
@Override
public Object3D createPlainObject3D() {
return new Ellipse3D();
}
public static Object3DFactory getInstance() {
if(_instance == null)
_instance = new Ellipse3DFactory();
return _instance;
}
@Override
public String getType() {
return "Ellipse";
}
}</pre>
<pre class="brush:java"></pre>
<pre class="brush:java"></pre>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">3. Set up a Painting-Value for the new painting tool in the Painting-Enum:</span><br />
<pre class="brush:java">
</pre>
<pre class="brush:java">Rectangle, Ellipse, None;</pre>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">4. Connect the Painting-Value from the Painting-Enum with the Factory. You do this in the FactoryPaintingAssoziator. Just extends the map in the method getFactoryFromPaintingMode:</span><br />
<br />
<pre class="brush:java">public Map<painting object3dfactory=""> getFactoryFormPaintingMode() {
Map<painting object3dfactory=""> paintingStartListener = new HashMap<painting object3dfactory="">();
paintingStartListener.put(Painting.Rectangle,
Rectangle3DFactory.getInstance());
paintingStartListener.put(Painting.Ellipse,
Ellipse3DFactory.getInstance());
return paintingStartListener;
}</painting></painting></painting></pre>
<span style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">6. To persist the new painting tool you also have to connect the factory with a preference-type. You do this by extendsing the map in the method getFactoryFromPreference of the FactoryPreferenceTypeAssoziator:</span><br />
<pre class="brush:java"></pre>
<pre class="brush:java">
</pre>
<pre class="brush:java">public Object3DFactory getFactoryFormPreference(String type) {
Map<string object3dfactory=""> paintingStartListener = new HashMap<string object3dfactory="">();
paintingStartListener
.put("Rectangle", Rectangle3DFactory.getInstance());
paintingStartListener.put("Ellipse", Ellipse3DFactory.getInstance());
paintingStartListener.put("complex",
ComplexObject3DFactory.getInstance());
return paintingStartListener.get(type);
}</string></string></pre>
<br />
<span class="Apple-tab-span" style="white-space: pre;"><span style="font-family: Arial, Helvetica, sans-serif;"> </span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Notice that the String refered to the Factory has to be equal to the value returned by the method getType in the factory-class.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">7. UI changes.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">To choose your new painting tool you have to change the UI. So open the paintingmenu.fxml with the SceneBuilder and add a new button. During that son't forgett to define an On-Action-Method for this button. Done this you have to implement the On-Action-Method in the PaintingMenuController:</span><br />
<pre class="brush:java">
</pre>
<pre class="brush:java">@FXML
public void selectPaintEllipse() {
actualPaintingArea.initPainting(Painting.Ellipse);
}</pre>
<br />
<span class="Apple-tab-span" style="white-space: pre;"><span style="font-family: Arial, Helvetica, sans-serif;"> </span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">I hope it works :-D</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">If not please sent me an email: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-18774034934043685832014-08-24T01:28:00.002-07:002014-08-24T01:28:20.103-07:00JavaFX-3D-Editor - Update 10<span style="font-family: Arial, Helvetica, sans-serif;">Hey hey, this is update 10 of the JavaFX-3D-Editor (Fx3De).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">With this update you got two new features. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"><ol>
<li> A loading bar in the menu bar.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTMcHorK3T3uJKTHNH81n6-8mX7Xlzrq7JuKqO3izFDucApTeOMvghv7-HzbZa582CNC-5bZyLo_jVMvlUHqnveSSi44DEJ0FqY082lHz6XHx5_SivY10ECiKHczM7_Ez313Cwp0j15fI/s1600/8-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTMcHorK3T3uJKTHNH81n6-8mX7Xlzrq7JuKqO3izFDucApTeOMvghv7-HzbZa582CNC-5bZyLo_jVMvlUHqnveSSi44DEJ0FqY082lHz6XHx5_SivY10ECiKHczM7_Ez313Cwp0j15fI/s1600/8-1.jpg" height="180" width="320" /></a></div>
</li>
<li> The ability to zoom into the painting area.</li>
</ol>
</span><span style="font-family: Arial, Helvetica, sans-serif;"><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDGKe-ztfQQkA3t14OeoW1vQs07wbSQerI_yWamWoeyiQPhZqFP-C1BtGF3myZ3Fd0zRzlDfFllYg9OvBIDL9NPPxcFd8wKC_JyxuItJ0Bp66KiLgz-B8U4U4-87pSw77day3Xcp1jcLc/s1600/8-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDGKe-ztfQQkA3t14OeoW1vQs07wbSQerI_yWamWoeyiQPhZqFP-C1BtGF3myZ3Fd0zRzlDfFllYg9OvBIDL9NPPxcFd8wKC_JyxuItJ0Bp66KiLgz-B8U4U4-87pSw77day3Xcp1jcLc/s1600/8-2.jpg" height="180" width="320" /></a></div>
</span><br /><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Check out the sources and try it: <a href="http://github.com/gundermann/JFX3D">github.com/gundermann/JFX3D</a></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">For a whole list of features check out the full description: <a href="http://javafxstuff.blogspot.de/p/javafx-3d-editor.html">javafxstuff.blogspot.de/p/javafx-3d-editor.html</a></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-79432851545455507622014-08-19T14:58:00.000-07:002014-08-20T00:21:18.285-07:00ProperiesOnChangeThis little feature is an extraction of my JavaFX-3D-Editor you can see on the post: <a href="http://javafxstuff.blogspot.de/p/javafx-3d-editor.html">http://javafxstuff.blogspot.de/p/javafx-3d-editor.html</a><br />
<br />
It is about Objects including properties. Properties may has to be changed during the execution of a program. JavaFX gives a nice implementation for properties. One benefit of them is binding. That means that you can bind two properties. Let's say we bind property A to B.<br />
If I change the value of property B, the value of A will be updated by the JavaFX Framework. I use this feature very often.<br />
This little implementation (I don't want to call it framework, because it too small) provides a UI to change properties of an object. This properties can be bind to an other property and will be updated as soon as you change the property in the UI.<br />
<br />
You can find the implementation on: <a href="https://drive.google.com/file/d/0B1zC0qGiWz40U2hWc0oyQWlLNEk/edit?usp=sharing">https://drive.google.com/file/d/0B1zC0qGiWz40U2hWc0oyQWlLNEk/edit?usp=sharing</a><br />
<br />
Just include the jar-file into your build-path.<br />
<br />
The following little example shows the using of the PropertiesOnChange.<br />
<br />
<br />
<br />
<ol>
<li>Include the jar-file into your build-path.</li>
<li>Set up you Class including the properties
<pre class="brush:java">public class TestPropertyObject {
DoubleProperty testProperty = new SimpleDoubleProperty();
@Property(hasChildren=false, name="test")
public DoubleProperty getTestProperty() {
return testProperty;
}
@PropertyChange(hasChildren = false, name = "test")
public void setTestProperty(double value) {
this.testProperty.set(value);
System.out.println(getTestProperty().get());
}
}
</pre>
</li>
<li>Include the UI into a stage and set up the property-object to the UI.
<pre class="brush:java">public class Lauch extends Application {
@Override
public void start(Stage stage) throws Exception {
GUIManipulatingMenu guiManipulatingMenu = new GUIManipulatingMenu();
guiManipulatingMenu.setPropertyObject(new TestPropertyObject());
Scene s = new Scene(guiManipulatingMenu);
stage.setScene(s);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
</pre>
</li>
<li>Do some changes!</li>
</ol>
<br /><ol>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Kdj5PHCe-Bqmwm6Fmwn3STTqPntCdq8E4OHdj-s1wGC_t8TsVEDmDa7wPBahYj1anm1ZS5dg7K-S6A0XHRYu7M0KVieiWIdGkwmpZpCq3APm_F45C3vrrxYHmiKDbpwIvdtCNtmBDjM/s1600/test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Kdj5PHCe-Bqmwm6Fmwn3STTqPntCdq8E4OHdj-s1wGC_t8TsVEDmDa7wPBahYj1anm1ZS5dg7K-S6A0XHRYu7M0KVieiWIdGkwmpZpCq3APm_F45C3vrrxYHmiKDbpwIvdtCNtmBDjM/s1600/test.jpg" height="152" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Give me some feedback, please ;-)</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-27015823298789426342014-08-17T03:21:00.000-07:002014-08-18T05:17:20.556-07:00JavaFX-3D-Editor - Update 9<span style="font-family: Arial, Helvetica, sans-serif;"><b>Here comes the latest update of the JavaFX-3D-editor.</b><br /><br />With this update you are able to work with animations.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfmTC6GWsg07kzSDGpJHaSCcYH_hO7m0C_lTdthkSNVPgDHn-xV_Jm9wSTAKEMLdlEnstSb7Js-LMO9_YHDu-8uNp5gYisSv8ZV0twKZ5RqoK0MkcyKe6Cd_63JRVaLym2BHJhD_Ldvsc/s1600/u8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfmTC6GWsg07kzSDGpJHaSCcYH_hO7m0C_lTdthkSNVPgDHn-xV_Jm9wSTAKEMLdlEnstSb7Js-LMO9_YHDu-8uNp5gYisSv8ZV0twKZ5RqoK0MkcyKe6Cd_63JRVaLym2BHJhD_Ldvsc/s1600/u8.jpg" height="180" width="320" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Unfortunately you cannot save them. But you can show them. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Just select an GO and open the menu "Animation". There you can setup the time and the properties you want to change.<br /><br />Watch the Video to get an idea of the handling of animations:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxwSB-yDQmuNXA4SAbJQhhyBt7YwYZvij872vomfA_WPigqFr9l-LfjN1rFSdMw2RXy1YY5QUck_O2zw4jbsA' class='b-hbp-video b-uploaded' frameborder='0'></iframe></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Have fun!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">If you want to contact me use my emailadress: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Or follw me on twitter: <a href="https://twitter.com/NGJFXaA">https://twitter.com/NGJFXaA</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">You will find the sources on github: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-70954473228925752212014-08-13T02:31:00.000-07:002014-08-13T02:31:01.807-07:00JavaFx-3D-Editor Patch 8.1This is a bugfix from the last update (8). If you noticed you can not save an ellipse. You can paint them and modify them but there was no chance to persist them.<br />
<br />
With this patch you will be able to do this!<br />
<br />
So check out the latest version of the JavaFx-3d-Editor.<br />
<br />
Source: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a><br />
<br />
Follow on twitter: <a href="https://twitter.com/NGJFXaA">https://twitter.com/NGJFXaA</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-79912216504917312932014-08-06T15:35:00.000-07:002014-08-10T13:15:55.133-07:00JavaFx-3D-Editor - Update 8<div class="MsoNormal">
<span lang="EN-GB">With this
update the JavaFx-3D-Editor got a new design. You don’t have to handle different windows
and put them in position. There is one window which contains all menus you need
to create your 3D model. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">Notice many
of the features form other updates are unnecessary for now. (E.g. the M-Button
of the menus)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWW2ANKjmFtUvomIg1JZOIOM7Ocvyp7lMlOpPd6FvafwqTFkLLMSbV-qKkINX9CHdtljNARS5Wche5iNx-yRq7r1kBjDUnnANHv1ehZ7kwGpkCuikDQ1X4fc5zpZpzsTod72Gsi-uUvHk/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWW2ANKjmFtUvomIg1JZOIOM7Ocvyp7lMlOpPd6FvafwqTFkLLMSbV-qKkINX9CHdtljNARS5Wche5iNx-yRq7r1kBjDUnnANHv1ehZ7kwGpkCuikDQ1X4fc5zpZpzsTod72Gsi-uUvHk/s1600/10.jpg" height="225" width="400" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<span lang="EN-GB">I said
something about animation of graphic-objects in further posts. This function
doesn’t come with this update. It will be published with the next ;-)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<div class="MsoNormal">
Have a look at the sources: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Or load the JavaFx-3D-Editor as jar-file: <a href="https://github.com/gundermann/JFX3D/blob/master/3D/jfx3Deditor.jar">https://github.com/gundermann/JFX3D/blob/master/3D/jfx3Deditor.jar</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If you want to give comments as personal message use my email-adress: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a><br />
<a href="mailto:gundermann.niels.ng@googlemail.com"><br /></a>
Follow on twitter: @NGJFXaA<br />
<a href="mailto:gundermann.niels.ng@googlemail.com"><br /></a>
<a href="mailto:gundermann.niels.ng@googlemail.com">And share it!</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-86610636564384368162014-08-02T04:11:00.000-07:002014-08-02T04:46:28.226-07:00SubScene worksYear it works!<br />
<br />
The SubScene comming with java8 solved the problem I had with the including of a perspective camera into a node that is a child of a main scene.<br />
<br />
So the new gui is prepared:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfrevDPPm0lq3LD-LHLddMf5DGkCFT6mIgvj6vQ7JqNhsUYl4kDmjZdkPA2geTZA1wTWtNB0rVWHuxh0cNyQ5GlZTBP40CQ-qDFqSS935mKDD5OvwVus-YKRkVlJ_paQAzmegSEQjD_A/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfrevDPPm0lq3LD-LHLddMf5DGkCFT6mIgvj6vQ7JqNhsUYl4kDmjZdkPA2geTZA1wTWtNB0rVWHuxh0cNyQ5GlZTBP40CQ-qDFqSS935mKDD5OvwVus-YKRkVlJ_paQAzmegSEQjD_A/s1600/9.jpg" height="225" width="400" /></a></div>
<br />
<br />
But there is another propblem comming with the SubScene:<br />
<br />
<br />
<ol>
<li>The nodes inserted into the root element of the SubScene are rendered quiet bad. Looks like I have to repaint them sometimes.</li>
<li>The performance was better when using a separated Stage. You won't record that while handling a little amount of graphic elements. But if you load this house you will see the problem. </li>
</ol>
<div>
<br /></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-57032712026016539972014-08-02T01:14:00.002-07:002014-08-02T01:14:57.358-07:00No update for a long long timeThe reason for the fact that there is no update since weeks is the restructure of the gui. I didin't like the many moveable views any more. So there is the time for a new ui where you can act into one window. It is more useable than many windows.<br />
<br />
To set the position of the menus was no problem.<br />
In futur you will find them on the left side.<br />
The MenuBar on top of the old design will stay.<br />
The different PaintingAreas will fix their position next to the menus, like you can see in pic 1.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGnCB8mTljwbWEE0jBeOWgRj56O7GPmy16QHbXfA365ALY5VpROImMDjxNtbdZ4OFxhQ2N8l4l7mQynfspKNu43GRzm9QQMZEtH3AnRFU1W0O8i_1wF9sh6F-osRAnAS91vBS9Bw-DCdk/s1600/6.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGnCB8mTljwbWEE0jBeOWgRj56O7GPmy16QHbXfA365ALY5VpROImMDjxNtbdZ4OFxhQ2N8l4l7mQynfspKNu43GRzm9QQMZEtH3AnRFU1W0O8i_1wF9sh6F-osRAnAS91vBS9Bw-DCdk/s1600/6.jpg" height="167" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pic 1</td></tr>
</tbody></table>
<br />
<br />
<br />
But there is (or actually was) a propblem. To work with 3D graphics you need a perspective camera on your scene. When I separeted the PaintingArea it was no problem because I used a single stage with a scene for every Painting Area. Now I want to integrate the PaintingArea and can not use a scene. Of cause, I can set up a perspective camera to the main scene. But if I do this, every 3D graphic object could lay over any menu. That doesn't look cute and is not useable.<br />
<br />
But I read that java 8 will fix the problem with subscene ;-)<br />
Hope it works.<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-32313892265943508182014-07-29T01:39:00.000-07:002014-07-29T01:39:41.993-07:00Step 8 - Building a house<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFSixbK_vsLhqkvwYkrUtyDiE5wtUkgazQM3l0cLu3c4XtNFxt9Xr6zPQT4r9rVwP0pDz6KV6-QdfANaaOvhJeFKzRy1nUcpvMAM8CbCgBjRDtC01PyjYxAj66qS_7FfGaXXRwmIxSJg/s1600/8.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFSixbK_vsLhqkvwYkrUtyDiE5wtUkgazQM3l0cLu3c4XtNFxt9Xr6zPQT4r9rVwP0pDz6KV6-QdfANaaOvhJeFKzRy1nUcpvMAM8CbCgBjRDtC01PyjYxAj66qS_7FfGaXXRwmIxSJg/s1600/8.jpg" height="167" width="320" /></a>Next step is to beginn with the building of the roof. <br />You have to build four brown rectangle to a big wood. The first four woods are on top of the last row of stone blocks. The other ones are rotated by 45° in both directions of the z-axis. Five of them in the one direction and 5 in the other direction. Then every two woods rotated in different directions have to cover each other on the top. That is for the piek. Then you have to set them on top of the four woods on top of the stone blocks. Pay attention to the position of the piek. The piek has to be in the middle of the house.<br />
I know there are some blocks lost. But I had no time to fix this.<br />
<br />
This is the file to load the actual building: <a href="https://drive.google.com/file/d/0B1zC0qGiWz40ZkdWa1RMSVpoY28/edit?usp=sharing">https://drive.google.com/file/d/0B1zC0qGiWz40ZkdWa1RMSVpoY28/edit?usp=sharing</a><br /><br />Give comments and share, please.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-35193199406860376892014-07-25T01:30:00.001-07:002014-07-25T01:30:39.966-07:00Animations with JavaFx-3D editorThis is a new feature of the JavaFx-3D editor comming soon.<br />
<br />
See the video to get an idea of it.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dz2Ekz8bplo6dQF24G0cbTjqz89UDkPr3q2WF20KFvqs-odivan9_BH-Qyoi0Z3GvS83lc36sqXH3b2MTH4fg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
If you want to try it, see the branch animation in the repo on github: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a><br />
ATTENTION: only some properties are availeble for animation (rotation and position). And animation can not be saved jet.<br />
<br />
If you are interested share this post, please.<br />
For bugs and feedback send me an email, please.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-67119830024285306412014-07-20T01:29:00.000-07:002014-07-20T01:29:33.552-07:00Step 7 - Building a houseHere comes a new part of the example of building a house with the JavaFX-3D-Editor.<br />
<br />
Without a door you can't get in. So there is a little wooded door on the front site. You will see it in the picture. Therefore I build wood with 6 brown rectangles. 5 big woods for the front and 2 little once for the back. Between the 5 gib woods I set a little space so that you can look trough them. If you want to know how to build this door please load the appended file called step7.dxml into the JavaFX-3D-Editor and split the component called door. (You will find the file in the whole example at the link below) Maybe it is better to summarize all other componentes to a componente calle house to differentiate them from the door components.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3AphxHHWTMBAUyKpyAZm6CuMsF2Pn8s4pzx6kOhGD3wFabeEpM_Kj_1_emdK1JN-NBaZ4w_QBzgwUHCFpYXXVIBKYs4j0jmMFNjKm4eTev5l7l04BefD5haGkgskbpXwhtGLYxh3sfMo/s1600/7-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3AphxHHWTMBAUyKpyAZm6CuMsF2Pn8s4pzx6kOhGD3wFabeEpM_Kj_1_emdK1JN-NBaZ4w_QBzgwUHCFpYXXVIBKYs4j0jmMFNjKm4eTev5l7l04BefD5haGkgskbpXwhtGLYxh3sfMo/s1600/7-1.png" height="167" width="320" /></a></div>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfbtJgZs-IUFKEAtJ3Ef1UaUDNLEos0CRynLLT3_mHV-PvPySOGIK8bu58tA9_2_qLkyeEuIgAvKZcC1DmCZUqd_UoUNTa6mogDNpaNMupn3o_FKCP6shmx2e5f7fzXdwlPEZt8VlIOBM/s1600/7-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfbtJgZs-IUFKEAtJ3Ef1UaUDNLEos0CRynLLT3_mHV-PvPySOGIK8bu58tA9_2_qLkyeEuIgAvKZcC1DmCZUqd_UoUNTa6mogDNpaNMupn3o_FKCP6shmx2e5f7fzXdwlPEZt8VlIOBM/s1600/7-2.png" height="167" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Can look through the door</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Have a look at the whole example: <a href="http://javafxstuff.blogspot.de/p/javafx-3d-editor-building-house.html">http://javafxstuff.blogspot.de/p/javafx-3d-editor-building-house.html</a><br />
<br />
If you try it please send me some feedback or wishes.<br />
I hope I can show you some new features this week but the weather in germany is not good for coding ;-)<br />
<br />
For feedback you got my email adress: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a><br />
<br />
You can download the sources on github: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a><br />
<br />
And also follow me on twitter: <a href="http://ngjfxaa/">@NGJFXaA</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-64569899884520209202014-07-13T07:13:00.000-07:002014-07-13T07:14:00.019-07:00Building a house - Step 6It takes time to build it up. I found some bug I had to fix last week. So I only can show you three big<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHt72_j6270EqVuGWOV8IzIyIP40BcGs4cPqMtMLO-o03SFIzcTiWhUOocmxkQ3NmviSw9qiuyz6K7XopLqIlPy44aenaRzfvzLNKoK0Nn1lQQ8v2Lr90iZaIdJpf4I0Zuqd04oFOBP0s/s1600/5.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHt72_j6270EqVuGWOV8IzIyIP40BcGs4cPqMtMLO-o03SFIzcTiWhUOocmxkQ3NmviSw9qiuyz6K7XopLqIlPy44aenaRzfvzLNKoK0Nn1lQQ8v2Lr90iZaIdJpf4I0Zuqd04oFOBP0s/s1600/5.jpg" height="167" width="320" /></a></div>
walls. Next week I need a door for the house- Somebody who want to try out?<br />
<br />
<br />
<br />
<br />
<br />
<br />
This is the dxml-file for this step: <a href="https://drive.google.com/file/d/0B1zC0qGiWz40YXlzOFpLT2pOaVU/edit?usp=sharing">https://drive.google.com/file/d/0B1zC0qGiWz40YXlzOFpLT2pOaVU/edit?usp=sharing</a><br />
<div>
<br /></div>
<div>
Also follow on twitter: <a class="DashboardProfileCard-screennameLink u-linkComplex u-linkClean" href="https://twitter.com/NGJFXaA" style="background: rgb(255, 255, 255); color: #66757f; font-family: 'Gotham Narrow SSm', sans-serif; font-size: 12px; line-height: 16px; padding-right: 5px; text-decoration: none !important;">@<span class="u-linkComplex-target">NGJFXaA</span></a></div>
<div>
Look at the wohle tutorial: <a href="http://javafxstuff.blogspot.com/p/javafx-3d-editor-building-house.html">http://javafxstuff.blogspot.com/p/javafx-3d-editor-building-house.html</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-6467926489899298392014-07-06T03:01:00.002-07:002014-07-06T05:12:02.419-07:00JavaFX 3D Editor - Update 7Here is the description of the new update. This week I only fixed some bugs. I found them by building a model of a house. You can follow the project on this site: <a href="http://javafxstuff.blogspot.com/p/javafx-3d-editor-building-house.html">http://javafxstuff.blogspot.com/p/javafx-3d-editor-building-house.html</a><br />
<br />
Also follow on twitter for latest updates and bugfixes: <a class="DashboardProfileCard-screennameLink u-linkComplex u-linkClean" href="https://twitter.com/NGJFXaA" style="background: rgb(255, 255, 255); color: #66757f; font-family: 'Gotham Narrow SSm', sans-serif; font-size: 12px; line-height: 16px; padding-right: 5px; text-decoration: none !important;">@<span class="u-linkComplex-target">NGJFXaA</span></a><br />
<br />
<br />
Here are the updates:<br />
<ol>
<li>If you save complex graphic objects (cgo) you will find some new tags in the dxml-file. These tags are used to save the name an position of the cgo.<br />--> ATTENTION: dxml-schema had changed!!!</li>
<li>Making a copy of an graphic object (go) will duplicate the right og. In the past it doesn't matter if you copieed a second or following og. The editor had inserted the first duplicated og.</li>
<li>The background of a cgo is transparent and not white anymore.</li>
<li>If you delete a og from the components menu it will be deleted from the painting area.</li>
</ol>
<div>
For errors and feedbacks plaese send me an email: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a></div>
<div>
<br /></div>
<div>
You can find the sources on: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-89973719408998000382014-06-28T05:41:00.001-07:002014-06-28T05:41:24.119-07:00JavaFX 3D Editor - Update 6Sorry but it takes two weeks for this update.<br />I thought I could do implement some more features as I did, but there was only a little time during the two weeks.<br />
<br />To get the latest updates and information about new features follow us on twitter: <a href="https://twitter.com/NGJFXaA"><span style="color: #8899a6; font-family: Gotham Narrow SSm, sans-serif;"><span style="background: rgb(245, 248, 250); font-size: 14px; line-height: 14px;">@</span></span><span class="u-linkComplex-target" style="background: rgb(245, 248, 250); color: #8899a6; font-family: 'Gotham Narrow SSm', sans-serif; font-size: 14px; line-height: 14px; text-decoration: none !important;">NGJFXaA</span></a><br />
<br />
See how it looks like:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3KTl5C0iOSV6BC6axkRSgDDyNVuJ7iCs0wu1J6fHp4HJnZP5HM2q-HJrZi-CVo1ss0hQzk_5qmdW0AoUHZnPMWsmGUaTLX21RSU-6ii2SEpi_-hha7u3HNfFb9QoBB5UJJxMKVhhU22M/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3KTl5C0iOSV6BC6axkRSgDDyNVuJ7iCs0wu1J6fHp4HJnZP5HM2q-HJrZi-CVo1ss0hQzk_5qmdW0AoUHZnPMWsmGUaTLX21RSU-6ii2SEpi_-hha7u3HNfFb9QoBB5UJJxMKVhhU22M/s1600/6.png" height="180" width="320" /></a></div>
<br /><br />
Let's see what I have realized:<br />
<br />
<br />
<ol>
<li>The "M"-Button<br />You will find this button on every menu of the editor. It provides the moving of these menus. But I have to say that it is not very useable, because you have to stick over the button by moving the mouse.<br /></li>
<li>Settings for complex Objects<br />Do you imagine what Complex-Objects are? They are a summarizing of typical 3D-Objects. Because of the different properties of 3D-Objects, Complex-Objects only have position- and rotation-properties.<br /></li>
<li>Separation of menus<br />If you remember the manipulation-menu contains the properties of the selected 3D-object and the list of all used 3D-objects in the painting-area. These two different view are separated now. You will find the list of 3D-objects into the "Components Menu".<br /></li>
<li>Contexmenu for the list of components<br />If you do a right-click into the "Components Menu" you will see a contextmenu. There you can copy, paste or delete the selected components. Mutliselection is also availeble. But there are several bugs in this release, so pay ATTENTION! If you selecte more than one component you can put them in a complex-object by opening the contexmenu and choose "summarize".<br /></li>
<li>Dimensiongrid and axis<br /><b>Axis are avalileble for the second time! </b>If you have an look at the "Dimension Menu" you will see two new buttons. The button "Show Axis" obviously will show the x-, y-, and z-Axis in the actual painting-area. The other button "<b>Show Grid" shows not a grid for now.</b> It shows the three levels between the axis.</li>
</ol>
<div>
I hope that I don't forgot some new features. Otherwise you will find them on your own. Have fun with the editor and play or model some 3D-graphics.<br /><br />Send me what you have done by email, please.</div>
<div>
<br /></div>
<div>
You also can send me some bugs and errors - I know there are many of them. But I'm not ready yet.<br /><br />Here our email-address: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a><br />And here are the sources: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a><br /><br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-85105159813237135272014-06-16T02:26:00.000-07:002014-06-16T23:56:24.251-07:00JavaFX 3D Editor - Update 5Eine Woche ist schon wieder vergangen und damit ist auch wieder ein neues Update fällig. Für alle, die gerne mit Farben herumspielen ist dieses Update wahrscheinlich das wichtigste überhaupt.<br />
<br />
Was gibt es also an neuen Sachen im Editor:<br />
<br />
<br />
<ol>
<li>Die Menüs haben sich etwas geändert. Diese ganzen Verschachtelungen waren nicht ganz zu Benutzerfreundlich, wie ich mir Anfangs dachte (naja, wir lernen aus unseren Fehler - wird nicht der letzte gewesen sein). Schaut es euch einfach an und urteilt selbst.</li>
<li>Wer schon etwas mit dem Editor entworfen und gespeichert hat, wird sich jetzt ärgern. Die Rotationsachsen der einzelnen Komponenten haben sich (ein letztes Mal geändert). So wie die Rotationsachsen jetzt festgelegt werden, lassen sich die Rotationen der Grafiken meiner Meinung nach besser nachvollziehen. Aber urteilt selbst ;-)</li>
<li>Die einzelnen Komponenten des 3D-Objekts können jeweils ausgewählt und dann verändert werden. Das ist keine Neuerung. Es hat mich jedoch gestört, dass ich eine Komponente ausgewählt habe und nicht sofort sehen konnte, welche ich ausgewählt habe. Um das erkennen zu können, hat die jeweils aktuelle Komponente einen rot-gestrichelten Rahmen, wie im Bild unten zu erkennen ist.</li>
<li><b><span style="color: red;">Viele </span><span style="color: #6fa8dc;">viele </span><span style="color: lime;">bunte </span><span style="color: yellow;">Farben</span>.</b> Wer vormals in die gespeicherten Dateien geguckt hat, dem ist vielleicht aufgefallen, dass dort ein Feld "color" zu finden ist. Das wurde BISHER beim Einlesen der Datei nicht beachtet. Nun ist es möglich den einzelnen Komponenten Farben zu verpassen. Im Bild unten ist dies auch zu sehen. Das Anpassen der Farben ist eine Veränderung einer Komponenten und bedingt das vorherige Auswählen dieser.</li>
<li>Im Ordner description befindet sich die Schema-Datei für die dxml-Dateien.</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqh5dLcY4Rrnp3sH5gDP5_4zR6_YnN_2Pcn0Eaz_znn5azicMPikoK63RZUzw2WPQQu3LZTBjP4_NZvn7BbX07sT9a3t8q5BVrhPsy-8A3xxq5PEpT0RSIomoJqpnwhZzXlbUgwMbcIHU/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqh5dLcY4Rrnp3sH5gDP5_4zR6_YnN_2Pcn0Eaz_znn5azicMPikoK63RZUzw2WPQQu3LZTBjP4_NZvn7BbX07sT9a3t8q5BVrhPsy-8A3xxq5PEpT0RSIomoJqpnwhZzXlbUgwMbcIHU/s1600/5.png" height="183" width="320" /></a></div>
<div>
<br /></div>
<div>
Das war es schon. War ja auch nur ein Wochenende Zeit ;-).</div>
<div>
Ich freue mich wie immer über Kritiken und Anregungen.</div>
<div>
Hier sind die Quellen: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a></div>
<div>
Und meine E-Mail Adresse: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-57746797650904975202014-06-10T06:29:00.001-07:002014-06-10T06:29:34.815-07:00JavaFX 3D Editor - fxml-Definition<div class="MsoNormal">
Der Aufbau der dxml-Dateien gleicht dem einer einfachen
xml-Datei. Ein Schema (xsd) habe ich bisher noch nicht angefertigt. Da die
dxml-Dateien derzeit nur mit Attributen umgewandelt werden können, die ein
Rechteck beschreiben, wird die Beschreibung des Aufbaus hoffentlich auch ohne Schema-Datei
verständlich sein.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Das Wurzelelement der Datei träge die Bezeichnung „shape_definition“.
Die einzelnen Elemente, die umgewandelt werden sollen, werden innerhalb des
Wurzelelementes untereinander weg definiert. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Eine beispielhafte Definition sieht dabei wie folgt aus:<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="font-family: Consolas; font-size: 10pt; line-height: 15.333332061767578px;"><shape_definition></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US;">
</span>
<pre class="brush:xml"><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; line-height: 15.333332061767578px;"><rect x-coordinate="123" y-coordinate="321" z-coordinate="0" height="100" width="100" <u>xr</u>="45" <u>yr</u>="90" <u>zr</u>="2" color="#FFFFFF"/></span></pre>
<pre class="brush:java"><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; line-height: 15.333332061767578px;"></shape_definition></span></pre>
<pre class="brush:java"><shape_definition><rect color="#FFFFFF" height="100" width="100" x-coordinate="123" xr="45" y-coordinate="321" yr="90" z-coordinate="0" zr="2">
</rect></shape_definition></pre>
<span lang="EN-US" style="font-family: Consolas; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; line-height: 115%; mso-bidi-font-family: Consolas;"><br /></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; line-height: 115%; mso-bidi-font-family: Consolas;">Die Farbe (color) wird derzeit nicht beachtet, kann aber für spätere
Releases manuell definiert werden.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; line-height: 115%; mso-bidi-font-family: Consolas;">x-, y- und z-coordinate geben die Position an, an dem die Grafic
erstellt wird. Ausgehend von diesem Punkt, werden Höhe (height), Breite (width)
und die Rotationen um die X-, Y- und Z-Achse (xr, yr, zr) angepasst.<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<span style="font-size: 10.0pt; line-height: 115%; mso-bidi-font-family: Consolas;">Andere Typen (im Beispiel rect) können noch nicht vom Editor
interpretiert werden.</span><o:p></o:p></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-66278102383319446432014-06-10T06:29:00.000-07:002014-06-10T06:29:08.167-07:00JavaFX 3D Editor - Update 4<div class="MsoNormal">
Eigentlich wollte ich für das nächste Update zwei Wochen
brauchen. Ich habe es nun aber doch in einer geschafft ;-)</div>
<div class="MsoNormal">
Jetzt kann man auch wirklich etwas mit dem 3D-Editor
anfangen. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Was ist neu?<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Neu ist vor allem die Speicher- und Lade-Funktion von entsprechenden
Dateien. Bei den Dateien handelt es sich um dxml-Dateien, die wie xml-Dateien
aufgebaut sind und Attribute enthalten, die sich vom Editor in 3D-Grafiken
umwandeln lässt.<br /></div>
<div class="MsoNormal">
Den Aufbau dieser dxml-Dateien werde ich in einem anderen Post beschreiben.<br /></div>
<div class="MsoNormal">
Mit dem Editor können momentan nur Rechtecke gezeichnet werden. Von daher habe
ich die Umwandlung von Attributen der dxml-Dateien in 3D-Grafik-Objekte vorerst
nur auf Rechtecke beschränkt. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Jedem neuen Zeichenbereich muss jetzt ein eindeutiger Name
gegeben werden. Wird der Bereich durch das Laden einer Datei erzeugt, ist der
Dateiname der Name des Bereichs. Dadurch ist es bessere Nachvollziehbar, in
welchem Bereich gerade gearbeitet wird.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Die Bezeichnungen einzelnen Komponenten in der
Komponentenübersicht im Manipulationsmenü sind keine kryptische
Objektbezeichnungen mehr. Hier findet sich die Bezeichnung des Komponenten-Typs
wieder (bspw. Rechteck).<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Die Rotationsachsen der Komponenten wurden nochmals
angepasst. Hier wird es auch noch weitere Änderungen geben (so ganz gefällt mir
das noch nicht). Deshalb kann es möglich sein, dass gespeicherte Grafiken in
späteren Releases etwas „verdreht“ sind.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Im Dimensionsmenü ist die Rotation nun auch mittels der
Slider möglich. An dieser Stelle in der Info-Box wird auch der aktuelle
Rotations-Winkel ausgewiesen.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Hier ist wieder die
Aktuelle Ansicht:<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEsfE9gZVbE1nqDhjRhwASTnQ-9d0bgkSjj81Mg-7oTMgzW6qPI_um_aOVS_4PzTIllzYmu5JjaR2hdyupENyztQGWjH97IdXeuiXXWgVccLmZYhjwLY4AAkyz-az5VW7tddA6m5E-8k0/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEsfE9gZVbE1nqDhjRhwASTnQ-9d0bgkSjj81Mg-7oTMgzW6qPI_um_aOVS_4PzTIllzYmu5JjaR2hdyupENyztQGWjH97IdXeuiXXWgVccLmZYhjwLY4AAkyz-az5VW7tddA6m5E-8k0/s1600/4.png" height="180" width="320" /></a></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In einem anderen Post werden ich noch erläutern, wie neue
Tools zum erstellen anderer Komponenten implementiert werden können. </div>
<div class="MsoNormal">
Wer helfen
möchte kann dann helfen ;-)<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Hier nochmal die Quellen: <a href="https://github.com/gundermann/JFX3D">https://github.com/gundermann/JFX3D</a><o:p></o:p></div>
<br />
<div class="MsoNormal">
Und meine Email-Adresse für Fragen und Anmerkungen:
gundermann.niels.ng@googlemail.com<o:p></o:p></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-31375347263160509072014-06-02T01:19:00.002-07:002014-06-02T01:19:34.773-07:00JavaFX 3D Editor - Update 3Heute wieder etwas verspätet das 3. Update. In der letzten Woche habe ich es lediglich geschafft einige Bugs auszubauen und die <b>Rotation der einzelnen Elemente</b> über des Manipulationsmenü zu ermöglichen.<br />
<br />
Hier nochmal ein grober Überblick über das derzeitige Programm:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpO2cMes9ThzOydQo4hPDJMA4EofS7ejPvpWeTGSx0sIRfhzb__SXaaXu8Y6YTY2ZOqp4MjxxontmxKSclzIWU6nlRN7zrBQlCWHnHLIMjzxi9x_p23ZMS9UGja7UCwgfI5pMKzirsaPA/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpO2cMes9ThzOydQo4hPDJMA4EofS7ejPvpWeTGSx0sIRfhzb__SXaaXu8Y6YTY2ZOqp4MjxxontmxKSclzIWU6nlRN7zrBQlCWHnHLIMjzxi9x_p23ZMS9UGja7UCwgfI5pMKzirsaPA/s1600/1.png" height="162" width="320" /></a></div>
<br />
<br />
Im nächsten Update wird das Speichern und Laden von 3D-Grafiken bereitgestellt. Ich kann nicht versprechen, dass ich es innerhalb einer Woche schaffe. Deshalb kann es sein, dass das wöchentliche Update am kommenden Sonntag ausfällt und ich eine Woche später etwas mehr zu berichten haben, als in der Vergangenheit.<br />
<br />
Der Code wird im Laufe des Tages auf github zur Verfügung stehen: <a href="https://github.com/gundermann/JFX3D.git">https://github.com/gundermann/JFX3D.git</a><br />
<br />
<br />
Fragen und Anmerkungen sind immer gerne gesehen: <a href="mailto:gundermann.niels.ng@googlemail.com">gundermann.niels.ng@googlemail.com</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-29010834583528860942014-05-25T12:57:00.001-07:002014-05-26T04:50:48.631-07:00JavaFX 3D Editor - Update 2<div dir="ltr">
Da ist schon wieder eine Woche vorbei. Und damit wird es auch Zeit für ein neues Update.</div>
<div dir="ltr">
Hier ein Überblick:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh53GKNP47VqAJ1RroVSLP_VT2fyxB_a7P7YscSowLs0eNiUXie2OxUV6OjSa0A-qFjd3h2NOHIcV_JnLluFOgiErbyJEbDbrncvJ4tR_zPY4EUBTT_QnkpxCCxziWtb-n5N7R2txGdlRc/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh53GKNP47VqAJ1RroVSLP_VT2fyxB_a7P7YscSowLs0eNiUXie2OxUV6OjSa0A-qFjd3h2NOHIcV_JnLluFOgiErbyJEbDbrncvJ4tR_zPY4EUBTT_QnkpxCCxziWtb-n5N7R2txGdlRc/s1600/4.png" height="154" width="320" /></a></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
Was ist diese Woche alles neu dazugekommen?</div>
<div dir="ltr">
</div>
<ol>
<li> Ausbau des Manipulations-Menü<br />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.<br /><br />Für die Leute, die auch in den Code gucken:</li>
<li>Strukturierung<br />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.</li>
<li>Graphic-Objekte<br />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.</li>
<li>Shape-Builder<br />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.</li>
</ol>
<br />
<div dir="ltr">
Code ist immer noch hier im master zu finden: <a href="https://github.com/gundermann/JFX3D.git" target="_blank">https://github.com/gundermann/JFX3D.git</a></div>
<div dir="ltr">
Und Fehler und wünsche gehen weiterhin an: <a href="mailto:niels.gundermann.ng@googlemail.com" target="_blank">niels.gundermann.ng@googlemail.com</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-40156881784489684442014-05-18T10:34:00.002-07:002014-05-18T10:34:44.785-07:00JavaFX 3D Editor - Update 1Was gibt es neues?<br />
<br />
Diese Woche habe ich nicht viel Zeit gehabt. Außerdem habe ich Probleme bei der Rotation des gesamten Grafik oder einzelnen Grafiken.<br />
<br />
Von daher gibt es nur kleine Neuerungen in dieser Woche.<br />
<br />
<br />
<ol>
<li>Erweiterung des Dimensions Menüs<br /><br />Hier gibt es jetzt eine Infobox, in der die aktuellen Rotationswinkel einzusehen sind. Desweiteren kann man hier sämtliche Rotationen zurücksetzen.<br />Weiterhin kann man sich die Achsen anzeigen lassen. Diese rotieren zwar mit - entsprechen jedoch nicht den Rotationsachsen. (Hier muss ich noch etwas machen)<br /></li>
<li>Manipulation der Komponenten im Manipulations Menü<br /><br />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.<br /></li>
<li>Neue Positionen für die Menüs</li>
</ol>
<div>
<br /></div>
<div>
<br /></div>
<div>
Hier noch einmal der Link: <a href="https://github.com/gundermann/JFX3D.git">https://github.com/gundermann/JFX3D.git</a></div>
<div>
<br /></div>
<div>
Und meine E-Mail Adresse für Fehlermeldung und Wünsche ;-)<br />
<a href="mailto:gundermann.niels.ng@googlemail.com" target="_blank">gundermann.niels.ng@googlemail.com</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4355441280269014951.post-77798655387487510692014-05-11T02:42:00.000-07:002014-06-23T02:26:39.544-07:00JavaFX 3D EditorMein JavaFX-3D-Editor. Was kann der eigentlich?<br />
Momentan handelt es sich dabei um ein minimalistisches Paint, das in der Lage sein soll, 3D-Grafiken zu visualisieren.<br />
<br />
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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoO8KSft6XKsVkxt_QTKSJOyMCQRsSnugOeK12YosiykwUoKZsYzH9DdfHSWO1phgBrBT4A6s2cqSBzh4SziF-y401QQ9HZHSn0EAN-9eqdmW9yHYKDWDihYmYF6zdUF2Gk3bV4B_s1HE/s1600/main.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoO8KSft6XKsVkxt_QTKSJOyMCQRsSnugOeK12YosiykwUoKZsYzH9DdfHSWO1phgBrBT4A6s2cqSBzh4SziF-y401QQ9HZHSn0EAN-9eqdmW9yHYKDWDihYmYF6zdUF2Gk3bV4B_s1HE/s1600/main.png" height="21" width="320" /></a></div>
<br />
Von den Menüpunkten "Edit" und "Help" sollte man sich vorerst nicht beeindrucken lassen - unter denen passiert noch gar nichts ;-)<br />
<br />
Auch das Schließen via File->Close ist noch nicht umgesetzt - ja ich weiß: <i>"Was geht da überhaupt?!"</i>.<br />
Also mache ich mal mit dem weiter, was überhaupt geht.<br />
<br />
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:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Bqr8g8EdGqO4HkCZQBlPoA4DpxN-UA4U__hmw8oJ9KoX21elv5pHIe2u4GjMzUFS_WPUR402FRR-FoP5Ju8Lyj4dFclJx5k_ydeABqHRvuN-NJitnBbGADdXFcqrwVQtU515VlPjUVE/s1600/area.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Bqr8g8EdGqO4HkCZQBlPoA4DpxN-UA4U__hmw8oJ9KoX21elv5pHIe2u4GjMzUFS_WPUR402FRR-FoP5Ju8Lyj4dFclJx5k_ydeABqHRvuN-NJitnBbGADdXFcqrwVQtU515VlPjUVE/s1600/area.png" height="167" width="320" /></a></div>
<br />
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.<br />
<br />
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).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW6t62hzk7BG5lGvdiKUIHVsD2UWjQtSZXK16Cyi7ybUIH_FuNnxAUBCP0MZYH-Gzx1CQ1Lh07cCZxr37hRdjElDVxIwQxFuvy76rZcWr0DFxJWgSDTvHsRM57qVr4dMjS7IPg_sck6UA/s1600/dimm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW6t62hzk7BG5lGvdiKUIHVsD2UWjQtSZXK16Cyi7ybUIH_FuNnxAUBCP0MZYH-Gzx1CQ1Lh07cCZxr37hRdjElDVxIwQxFuvy76rZcWr0DFxJWgSDTvHsRM57qVr4dMjS7IPg_sck6UA/s1600/dimm.png" /></a></div>
<br />
<br />
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.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9IWqJdFSMH2-TZMfI7jmn198oRlYV1KrDBTBnMXX0td2GsQyg4RduIwtHaU-kKPxf1RD80JQysjWsIP_Zt52IRM5tGnl2xkdi1regKxMXvJsMzb3-NxqCryAIzfHemRF5SPtgAubhM18/s1600/paintm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9IWqJdFSMH2-TZMfI7jmn198oRlYV1KrDBTBnMXX0td2GsQyg4RduIwtHaU-kKPxf1RD80JQysjWsIP_Zt52IRM5tGnl2xkdi1regKxMXvJsMzb3-NxqCryAIzfHemRF5SPtgAubhM18/s1600/paintm.png" /></a></div>
<br />
<br />
Wo ich schon wieder bei nicht funktionierenden Dingen bin - Speichern kann man die Grafiken auch noch nicht ;-)<br />
<br />
Ich würde mich freuen, wenn ihr ein bisschen mit dem Editor herumspielt und mir eure Meinung schreibt.<br />
Auch über Fehlermeldungen, Verbesserungsvorschläge und Verbesserungswünsche würdeich mich sehr freuen.<br />
<br />
Follow on twitter: <a class="ProfileHeaderCard-screennameLink u-linkComplex js-nav" href="https://twitter.com/NGJFXaA" style="background: rgb(245, 248, 250); color: #8899a6; font-family: 'Gotham Narrow SSm', sans-serif; font-size: 14px; line-height: 14px; outline: 0px; text-decoration: none !important;"><span style="color: #8899a6; font-family: Gotham Narrow SSm, sans-serif;"><span style="background: rgb(245, 248, 250); font-size: 14px; line-height: 14px;">@</span></span><span class="u-linkComplex-target" style="background: rgb(245, 248, 250); color: #8899a6; font-family: 'Gotham Narrow SSm', sans-serif; font-size: 14px; line-height: 14px; outline: 0px; text-decoration: underline !important;">NGJFXaA</span></a><br />
<br />
Email: <a href="mailto:gundermann.niels.ng@googlemail.com" target="_blank">gundermann.niels.ng@googlemail.com</a><br />
<br />
Wer möchte, kann sich den Code auch auf GitHub angucken:<br />
<a href="https://github.com/gundermann/JFX3D/tree/peter" target="_blank">https://github.com/gundermann/JFX3D/tree/peter</a>Unknownnoreply@blogger.com0Neubrandenburg51.165691 10.45152600000005840.94185 -10.202770999999942 61.389532 31.105823000000058