The main use-case is this one: you want to use Fxml to import Java3D objects, they required the inner text xml tag to be handled separately. For example this Fxml file, is valid Fxml:
<?xml version="1.0" encoding="utf-8"?> <?import javafx.scene.paint.Color?><?import javafx.scene.paint.PhongMaterial?><?import javafx.scene.shape.MeshView?><?import javafx.scene.shape.TriangleMesh?> <MeshView id="Pyramid"> <material> <PhongMaterial> <diffuseColor> <Color red="0.3" green="0.6" blue="0.9" opacity="1.0"/> </diffuseColor> </PhongMaterial> </material> <mesh> <TriangleMesh> <points>0.0 1.0 1.0 1.0 1.0 0.0 0.0 1.0 -1.0 -1.0 1.0 0.0 0.0 -1.0 0.0</points> <texCoords>0.0 0.0</texCoords> <faces>0 0 4 0 1 0 1 0 4 0 2 0 2 0 4 0 3 0 3 0 4 0 0 0 0 0 1 0 2 0 0 0 2 0 3 0</faces> <faceSmoothingGroups>1 2 4 8 16 16</faceSmoothingGroups> </TriangleMesh> </mesh> </MeshView>
This file is definetly valid Fxml, but the Fx2C compiler will not be able to handle it: nodes contain inner text.
If you want more samples and importers from multiple 3D formats (like STL or Collada) follow the next link:
http://www.interactivemesh.org/models/jfx3dbrowser.html
Now it does, so for previous Fxml file, the Fx2C compiler will export the following code which is close to the fastest way to define a MeshView:
If you want more samples and importers from multiple 3D formats (like STL or Collada) follow the next link:
http://www.interactivemesh.org/models/jfx3dbrowser.html
Now it does, so for previous Fxml file, the Fx2C compiler will export the following code which is close to the fastest way to define a MeshView:
public final class FxPyramid { public MeshView _view; public FxPyramid() { MeshView ctrl_1 = new MeshView(); ctrl_1.setId("Pyramid"); PhongMaterial ctrl_2 = new PhongMaterial(); Color ctrl_3 = new Color(0.3, 0.6, 0.9, 1.0); ctrl_2.setDiffuseColor(ctrl_3); ctrl_1.setMaterial(ctrl_2); TriangleMesh ctrl_4 = new TriangleMesh(); ctrl_4.getPoints().setAll(0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.0f); ctrl_4.getTexCoords().setAll(0.0f, 0.0f); ctrl_4.getFaces().setAll(0, 0, 4, 0, 1, 0, 1, 0, 4, 0, 2, 0, 2, 0, 4, 0, 3, 0, 3, 0, 4, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0); ctrl_4.getFaceSmoothingGroups().setAll(1, 2, 4, 8, 16, 16); ctrl_1.setMesh(ctrl_4); _view = ctrl_1;; } }