/*
- * Sixth - System for data storage, computation, exploration and interaction.
- * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * 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.
- */
+ * Sixth 3D engine demos. Author: Svjatoslav Agejenko.
+ * This project is released under Creative Commons Zero (CC0) license.
+ *
+*/
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.geometry.Transform;
-import eu.svjatoslav.sixth.e3d.gui.ViewContext;
+import eu.svjatoslav.sixth.e3d.gui.Avatar;
import eu.svjatoslav.sixth.e3d.gui.ViewFrame;
+import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
+import eu.svjatoslav.sixth.e3d.gui.textEditorComponent.LookAndFeel;
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;
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);
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 Point2D(200, 120));
+ new Transform(new Point3D(x, 0, z)), viewPanel,
+ new Point2D(200, 120), new LookAndFeel());
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) {
+ Avatar avatar = viewPanel.getAvatar();
+ avatar.setLocation(new Point3D(500, -300, -800));
+ avatar.setAngleXZ(0.6);
+ avatar.setAngleYZ(-0.5);
}
}