Code refactoring
[sixth-3d-demos.git] / src / main / java / eu / svjatoslav / sixth / e3d / examples / TextEditorDemo.java
index 7b19b10..fa8630d 100644 (file)
@@ -1,20 +1,18 @@
 /*
- * Sixth 3D engine demos. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Sixth 3D engine demos. Author: Svjatoslav Agejenko. 
+ * This project is released under Creative Commons Zero (CC0) license.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 3 of the GNU Lesser General Public License
- * or later as published by the Free Software Foundation.
- */
+*/
 
 package eu.svjatoslav.sixth.e3d.examples;
 
 import eu.svjatoslav.sixth.e3d.geometry.Point2D;
 import eu.svjatoslav.sixth.e3d.geometry.Point3D;
 import eu.svjatoslav.sixth.e3d.geometry.Rectangle;
-import eu.svjatoslav.sixth.e3d.math.Transform;
-import eu.svjatoslav.sixth.e3d.gui.ViewContext;
 import eu.svjatoslav.sixth.e3d.gui.ViewFrame;
+import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
 import eu.svjatoslav.sixth.e3d.gui.textEditorComponent.TextEditComponent;
+import eu.svjatoslav.sixth.e3d.math.Transform;
 import eu.svjatoslav.sixth.e3d.renderer.raster.Color;
 import eu.svjatoslav.sixth.e3d.renderer.raster.ShapeCollection;
 import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance;
@@ -22,7 +20,22 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.Grid2D
 
 public class TextEditorDemo {
 
-    private static Grid2D createGrid() {
+    public static void main(final String[] args) {
+
+        final ViewFrame viewFrame = new ViewFrame();
+        final ViewPanel viewPanel = viewFrame.getViewPanel();
+
+        final ShapeCollection shapeCollection = viewFrame.getViewPanel()
+                .getRootShapeCollection();
+
+        setAvatarLocation(viewPanel);
+
+        addGrid(shapeCollection);
+
+        addTextEditors(viewPanel, shapeCollection);
+    }
+
+    private static void addGrid(ShapeCollection shapeCollection) {
         final Transform transform = new Transform(new Point3D(0, 100, 0), 0,
                 Math.PI / 2);
 
@@ -30,33 +43,25 @@ public class TextEditorDemo {
         final LineAppearance appearance = new LineAppearance(10, new Color(
                 "00b3ad"));
 
-        return new Grid2D(transform, rectangle, 10, 10, appearance);
+        shapeCollection.addShape(new Grid2D(transform, rectangle, 10, 10, appearance));
     }
 
-    public static void main(final String[] args) {
-
-        final ViewFrame viewFrame = new ViewFrame();
-        final ViewContext viewContext = viewFrame.getView().getContext();
-
-        final ShapeCollection shapeCollection = viewFrame.getView()
-                .getContext().getRootShapeCollection();
-
-        shapeCollection.addShape(createGrid());
-
+    private static void addTextEditors(ViewPanel viewPanel, ShapeCollection shapeCollection) {
         final double m = 1.5;
         for (double z = -500 * m; z <= (500 * m); z += 250 * m)
             for (double x = -500 * m; x <= (500 * m); x += 250 * m) {
 
                 final TextEditComponent textEditor = new TextEditComponent(
-                        new Transform(new Point3D(x, 0, z)), viewContext,
+                        new Transform(new Point3D(x, 0, z)), viewPanel,
                         new Point2D(200, 120));
 
                 shapeCollection.addShape(textEditor);
             }
+    }
 
-        viewContext.getAvatar().setLocation(new Point3D(500, -300, -800));
-        viewContext.getAvatar().setAngleXZ(0.6);
-        viewContext.getAvatar().setAngleYZ(-0.5);
-
+    private static void setAvatarLocation(ViewPanel viewPanel) {
+        viewPanel.getAvatar().setLocation(new Point3D(500, -300, -800));
+        viewPanel.getAvatar().setAngleXZ(0.6);
+        viewPanel.getAvatar().setAngleYZ(-0.5);
     }
 }