X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fexamples%2FTextEditorDemo.java;h=fa8630d51c2d1b2b582108ebc40b4d6ff279e1a3;hp=7b19b10e4d18deef7977115bab8f4602457d01ba;hb=90edd4ae5af8b1ccc81f82ffb3b749d5a8f6bee2;hpb=2150c62adc9f6b7696884422ffc47767f784fd9d diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/examples/TextEditorDemo.java b/src/main/java/eu/svjatoslav/sixth/e3d/examples/TextEditorDemo.java index 7b19b10..fa8630d 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/examples/TextEditorDemo.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/examples/TextEditorDemo.java @@ -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); } }