aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>2022-12-31 19:02:04 +0000
committerGTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>2022-12-31 19:02:04 +0000
commit8d25b7729d148cd189596e1eb650065f10e2a0db (patch)
tree5ba9422466f40c4059db30513f5f229a881aa51d /src/main/java/com
parentab41fc5bc157935bfa4dba67f12b7b4f13f4c79a (diff)
downloadGT5-Unofficial-8d25b7729d148cd189596e1eb650065f10e2a0db.tar.gz
GT5-Unofficial-8d25b7729d148cd189596e1eb650065f10e2a0db.tar.bz2
GT5-Unofficial-8d25b7729d148cd189596e1eb650065f10e2a0db.zip
Draw block works
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/RenderEyeOfHarmony.java247
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TileEyeOfHarmony.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java123
4 files changed, 240 insertions, 144 deletions
diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java
index a5f5c7016c..e4a3481e33 100644
--- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java
+++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java
@@ -49,8 +49,8 @@ public class EyeOfHarmonyRecipeStorage {
GT5OreSmallHelper.dimToSmallOreWrapper.get(dimAbbreviation),
blockDimensionDisplay,
0.6 + blockDimensionDisplay.getDimensionRocketTier() / 10.0,
- BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1),
- BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1),
+ BILLION * blockDimensionDisplay.getDimensionRocketTier(),
+ BILLION * blockDimensionDisplay.getDimensionRocketTier(),
(long) (18_000L * pow(1.4, blockDimensionDisplay.getDimensionRocketTier())),
blockDimensionDisplay.getDimensionRocketTier(),
1.0 - blockDimensionDisplay.getDimensionRocketTier() / 10.0));
diff --git a/src/main/java/com/github/technus/tectech/thing/block/RenderEyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/block/RenderEyeOfHarmony.java
index 3e047a8c5a..f6fd1cde80 100644
--- a/src/main/java/com/github/technus/tectech/thing/block/RenderEyeOfHarmony.java
+++ b/src/main/java/com/github/technus/tectech/thing/block/RenderEyeOfHarmony.java
@@ -1,65 +1,93 @@
package com.github.technus.tectech.thing.block;
+import appeng.block.AEBaseBlock;
+import appeng.tile.AEBaseTile;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
+import team.chisel.block.BlockCarvableGlow;
+import team.chisel.config.Configurations;
+import team.chisel.ctmlib.Drawing;
+import team.chisel.utils.GeneralClient;
+import thaumcraft.client.lib.UtilsFX;
import static com.github.technus.tectech.Reference.MODID;
import static com.github.technus.tectech.TecTech.RANDOM;
+import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT;
+import static gregtech.common.render.GT_Renderer_Block.renderStandardBlock;
import static java.lang.Math.pow;
-
+import static org.lwjgl.opengl.GL11.GL_QUADS;
public class RenderEyeOfHarmony extends TileEntitySpecialRenderer {
- private static final ResourceLocation starLayer0 =
- new ResourceLocation(MODID ,"models/StarLayer0.png");
-
+ private static final ResourceLocation starLayer0 = new ResourceLocation(MODID ,"models/StarLayer0.png");
private static final ResourceLocation starLayer1 = new ResourceLocation(MODID ,"models/StarLayer1.png");
-
- private static final ResourceLocation starLayer2 = new ResourceLocation(MODID ,"models/StarLaye1.png");
-
-
+ private static final ResourceLocation starLayer2 = new ResourceLocation(MODID ,"models/StarLayer2.png");
+ private static final ResourceLocation blackHole = new ResourceLocation(MODID, "models/blackHole.png");
public static IModelCustom modelCustom;
public RenderEyeOfHarmony() {
modelCustom =
- AdvancedModelLoader.loadModel(new ResourceLocation(MODID, "models/lowerres.obj"));
+ AdvancedModelLoader.loadModel(new ResourceLocation(MODID, "models/Star.obj"));
}
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float timeSinceLastTick) {
if (!(tile instanceof TileEyeOfHarmony)) return;
+// System.out.println("NAME " + this.field_147501_a.field_147551_g.getCommandSenderName());
+// EntityPlayer p = Minecraft.getMinecraft().thePlayer;
+// System.out.println("TESTING NAME " + p.getCommandSenderName());
+// System.out.println("TESTING X " + p.getLookVec().xCoord);
+// System.out.println("TESTING Y " + p.getLookVec().yCoord);
+// System.out.println("TESTING Z " + p.getLookVec().zCoord);
+
+// System.out.println(this.field_147501_a.field_147551_g.get());
+
TileEyeOfHarmony EOHRenderTile = (TileEyeOfHarmony) tile;
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5);
- renderStarLayer(EOHRenderTile, 0, starLayer0, 1.0f);
- renderStarLayer(EOHRenderTile, 1, starLayer1, 0.3f);
+ renderBlockInWorld(sBlockCasingsTT, 0, 6, 0);
+// renderBlockInWorld(Blocks.bedrock, 0, 0+6, 0);
+// renderBlockInWorld(Blocks.brick_block, 0, 0+12, 0);
+
+ if (EOHRenderTile.getTier() < 9) {
+ renderStarLayer(EOHRenderTile, 0, starLayer0, 1.0f);
+ renderStarLayer(EOHRenderTile, 1, starLayer1, 0.4f);
+ renderStarLayer(EOHRenderTile, 2, starLayer2, 0.2f);
+ } else {
+ renderStarLayer(EOHRenderTile, 0, blackHole, 1.0f);
+ }
GL11.glPopMatrix();
}
- // Todo remove
- tile.getWorldObj().spawnParticle(
- "largesmoke",
- x + RANDOM.nextFloat() * 0.5F,
- y + RANDOM.nextFloat() * 0.5F,
- z + RANDOM.nextFloat() * 0.5F,
- 0.0,
- 0,
- 0);
}
+
void renderStarLayer(TileEyeOfHarmony EOHRenderTile, int layer, ResourceLocation texture, float alpha) {
// Begin animation.
@@ -70,7 +98,7 @@ public class RenderEyeOfHarmony extends TileEntitySpecialRenderer {
// Disables lighting, so star is always lit (I think).
GL11.glDisable(GL11.GL_LIGHTING);
// Culls things out of line of sight?
- GL11.glDisable(GL11.GL_CULL_FACE);
+ GL11.glEnable(GL11.GL_CULL_FACE);
// Merges colours of the various layers of the star?
GL11.glEnable(GL11.GL_BLEND);
// ???
@@ -90,8 +118,19 @@ public class RenderEyeOfHarmony extends TileEntitySpecialRenderer {
GL11.glScalef(scale, scale, scale);
// Rotate star upright.
- GL11.glRotatef(-180, 1F, 0F, 1F);
- GL11.glRotatef(90, 1F, 0F, 0F);
+// GL11.glRotatef(180, 1F, 1F, 1F);
+
+ switch (layer) {
+ case 0:
+ GL11.glRotatef(194, 0F, 1F, 1F);
+ break;
+ case 1:
+ GL11.glRotatef(-49, 1F, 1F, 0F);
+ break;
+ case 2:
+ GL11.glRotatef(67, 1F, 0F, 1F);
+ break;
+ }
// Set colour and alpha (transparency) of the star layer. Set by the current recipe.
float starRed = EOHRenderTile.getColour().getRed() / 255.0f;
@@ -101,8 +140,9 @@ public class RenderEyeOfHarmony extends TileEntitySpecialRenderer {
// Spin the star around according to the multis time dilation tier.
if (EOHRenderTile.getRotationSpeed() != 0) {
- GL11.glRotatef(-(System.currentTimeMillis() / (int) EOHRenderTile.getRotationSpeed()) % 360, 0F, 0F, 1F);
+ GL11.glRotatef((System.currentTimeMillis() / (int) EOHRenderTile.getRotationSpeed()) % 360, 0F, 0F, 1F);
}
+
modelCustom.renderAll();
GL11.glDisable(GL11.GL_BLEND);
GL11.glDepthMask(true);
@@ -111,5 +151,160 @@ public class RenderEyeOfHarmony extends TileEntitySpecialRenderer {
// Finish animation.
GL11.glPopMatrix();
}
+
+ class RotationInfo {
+
+ float angle;
+ boolean xEnabled = false;
+ boolean yEnabled = false;
+ boolean zEnabled = false;
+ RotationInfo(float angle) {
+ this.angle = angle;
+ }
+
+ void enableXRotation() {
+ xEnabled = true;
+ }
+
+ void enableYRotation() {
+ xEnabled = true;
+ }
+
+ void enableZRotation() {
+ xEnabled = true;
+ }
+
+
+// void performRotation() {
+// GL11.glRotatef(-180, xEnabled, 0F, 1F);
+//
+// }
+
+
+
+
+ }
+
+
+// private final RenderBlocks renderBlocksInstance = new RenderBlocks();
+
+ public void renderBlockInWorld(Block block, double x, double y, double z) {
+ Tessellator tes = Tessellator.instance;
+
+ this.bindTexture(TextureMap.locationBlocksTexture);
+ float size = 2.0f;
+
+ GL11.glDisable(GL11.GL_CULL_FACE);
+ GL11.glDisable(GL11.GL_ALPHA_TEST);
+ GL11.glEnable(GL11.GL_BLEND);
+ tes.setColorOpaque_F(1f, 1f, 1f);
+
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glDisable(GL11.GL_CULL_FACE);
+ GL11.glDisable(GL11.GL_ALPHA_TEST);
+ GL11.glEnable(GL11.GL_BLEND);
+ tes.setColorOpaque_F(1f, 1f, 1f);
+
+ double xOffset = 0;
+ double zOffset = 0;
+
+ //Add the rendering calls here (Can and should use helper functions that do the vertex calls)
+
+ double X[] = {x + xOffset - 0.5 - size, x + xOffset - 0.5 - size, x + xOffset + 0.5 + size, x + xOffset + 0.5 + size,
+ x + xOffset + 0.5 + size, x + xOffset + 0.5 + size, x + xOffset - 0.5 - size, x + xOffset - 0.5 - size};
+ double Y[] = {y + 0.5 + size, y - 0.5 - size, y - 0.5 - size, y + 0.5 + size,
+ y + 0.5 + size, y - 0.5 - size, y - 0.5 - size, y + 0.5 + size};
+ double Z[] = {z + zOffset + 0.5 + size, z + zOffset + 0.5 + size, z + zOffset + 0.5 + size, z + zOffset + 0.5 + size,
+ z + zOffset - 0.5 - size, z + zOffset - 0.5 - size, z + zOffset - 0.5 - size, z + zOffset - 0.5 - size};
+
+ tes.startDrawingQuads();
+
+ int meta = 15;
+
+ IIcon texture = block.getIcon(4, meta);
+
+ double minU = texture.getMinU();
+ double maxU = texture.getMaxU();
+ double minV = texture.getMinV();
+ double maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[0], Y[0], Z[0], maxU, maxV);
+ tes.addVertexWithUV(X[1], Y[1], Z[1], maxU, minV);
+ tes.addVertexWithUV(X[2], Y[2], Z[2], minU, minV);
+ tes.addVertexWithUV(X[3], Y[3], Z[3], minU, maxV);
+
+ texture = block.getIcon(5, meta);
+
+ minU = texture.getMinU();
+ maxU = texture.getMaxU();
+ minV = texture.getMinV();
+ maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[7], Y[7], Z[7], maxU, maxV);
+ tes.addVertexWithUV(X[6], Y[6], Z[6], maxU, minV);
+ tes.addVertexWithUV(X[1], Y[1], Z[1], minU, minV);
+ tes.addVertexWithUV(X[0], Y[0], Z[0], minU, maxV);
+
+ texture = block.getIcon(2, meta);
+
+ minU = texture.getMinU();
+ maxU = texture.getMaxU();
+ minV = texture.getMinV();
+ maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[4], Y[4], Z[4], maxU, maxV);
+ tes.addVertexWithUV(X[5], Y[5], Z[5], maxU, minV);
+ tes.addVertexWithUV(X[6], Y[6], Z[6], minU, minV);
+ tes.addVertexWithUV(X[7], Y[7], Z[7], minU, maxV);
+
+ texture = block.getIcon(3, meta);
+
+ minU = texture.getMinU();
+ maxU = texture.getMaxU();
+ minV = texture.getMinV();
+ maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[3], Y[3], Z[3], maxU, maxV);
+ tes.addVertexWithUV(X[2], Y[2], Z[2], maxU, minV);
+ tes.addVertexWithUV(X[5], Y[5], Z[5], minU, minV);
+ tes.addVertexWithUV(X[4], Y[4], Z[4], minU, maxV);
+
+ texture = block.getIcon(0, meta);
+
+ minU = texture.getMinU();
+ maxU = texture.getMaxU();
+ minV = texture.getMinV();
+ maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[1], Y[1], Z[1], maxU, maxV);
+ tes.addVertexWithUV(X[6], Y[6], Z[6], maxU, minV);
+ tes.addVertexWithUV(X[5], Y[5], Z[5], minU, minV);
+ tes.addVertexWithUV(X[2], Y[2], Z[2], minU, maxV);
+
+ texture = block.getIcon(1, meta);
+
+ minU = texture.getMinU();
+ maxU = texture.getMaxU();
+ minV = texture.getMinV();
+ maxV = texture.getMaxV();
+
+ tes.addVertexWithUV(X[7], Y[7], Z[7], maxU, maxV);
+ tes.addVertexWithUV(X[0], Y[0], Z[0], maxU, minV);
+ tes.addVertexWithUV(X[3], Y[3], Z[3], minU, minV);
+ tes.addVertexWithUV(X[4], Y[4], Z[4], minU, maxV);
+
+// GL11.glRotatef((System.currentTimeMillis() / 32) % 360, 0F, 1F, 0F);
+
+ tes.draw();
+
+ // ----------------------------------------------
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glEnable(GL11.GL_ALPHA_TEST);
+ GL11.glEnable(GL11.GL_CULL_FACE);
+ GL11.glPopMatrix();
+ //spotless:on
+ }
+
}
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TileEyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/block/TileEyeOfHarmony.java
index 7219e9da2c..f584710361 100644
--- a/src/main/java/com/github/technus/tectech/thing/block/TileEyeOfHarmony.java
+++ b/src/main/java/com/github/technus/tectech/thing/block/TileEyeOfHarmony.java
@@ -30,6 +30,16 @@ public class TileEyeOfHarmony extends TileEntity {
private float size = 1;
private float rotationSpeed = 0;
private Color colour = errorStar;
+
+ public int getTier() {
+ return tier;
+ }
+
+ public void setTier(int tier) {
+ this.tier = tier;
+ }
+
+ private int tier = -1;
public void incrementSize() {
size += 1.5f;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
index c55d0df22b..564d6a8924 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
@@ -12,7 +12,6 @@ import static java.lang.Math.*;
import static net.minecraft.util.EnumChatFormatting.*;
import appeng.util.ReadableNumberConverter;
-import com.cricketcraft.chisel.api.IChiselItem;
import com.github.technus.tectech.recipe.EyeOfHarmonyRecipe;
import com.github.technus.tectech.recipe.EyeOfHarmonyRecipeStorage;
import com.github.technus.tectech.thing.block.TileEyeOfHarmony;
@@ -26,7 +25,6 @@ import com.github.technus.tectech.util.ItemStackLong;
import com.google.common.collect.ImmutableList;
import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Materials;
@@ -46,21 +44,14 @@ import java.awt.*;
import java.util.*;
import java.util.List;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.tuple.Pair;
-import org.lwjgl.opengl.GL11;
import org.spongepowered.libraries.com.google.common.math.LongMath;
@SuppressWarnings("SpellCheckingInspection")
@@ -1796,15 +1787,20 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl
rendererTileEntity.setSize((1 + recipeSpacetimeTier) * 0.5f);
// Star rotates faster the higher tier time dilation you use in the multi.
rendererTileEntity.setRotationSpeed((float) pow(2, 8-timeAccelerationFieldMetadata));
+
+ // Colour of tier determined by star tier.
Color colour = getStarColour(recipeSpacetimeTier);
rendererTileEntity.setColour(colour);
+
+ // Set recipe spacetime tier for usage elsewhere.
+ rendererTileEntity.setTier(recipeSpacetimeTier);
}
private static final Color redStar = new Color(255, 0, 50);
private static final Color orangeStar = new Color(255, 102, 0);
private static final Color blueStar = new Color(96, 152, 234);
private static final Color whiteStar = new Color(200, 200, 200);
- private static final Color blackStar = new Color(17, 8, 8);
+ private static final Color blackHole = new Color(0, 0, 0);
public static final Color errorStar = new Color(222, 0, 255);
Color getStarColour(final int tier) {
@@ -1823,7 +1819,7 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl
case 8:
return whiteStar;
case 9:
- return blackStar;
+ return blackHole;
default:
return errorStar;
}
@@ -2043,109 +2039,4 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl
super.loadNBTData(aNBT);
}
-
- @SideOnly(Side.CLIENT)
- private void renderQuad(
- double x, double y, double z, int side, double minU, double maxU, double minV, double maxV) {
- // spotless:off
- Tessellator tes = Tessellator.instance;
- tes.addVertexWithUV(x + 3 - 0.5, y , z + 7, maxU, maxV);
- tes.addVertexWithUV(x + 3 - 0.5, y + 4, z + 7, maxU, minV);
- tes.addVertexWithUV(x - 3 + 0.5, y + 4, z + 7, minU, minV);
- tes.addVertexWithUV(x - 3 + 0.5, y , z + 7, minU, maxV);
- }
-
-// @SideOnly(Side.CLIENT)
-// @Override
-// public boolean renderInWorld(IBlockAccess aWorld, int x, int y, int z, Block block, RenderBlocks renderer) {
-// Tessellator tes = Tessellator.instance;
-//// IIcon texture = Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
-// IIcon texture = Blocks.stained_hardened_clay.getIcon(0, 4);
-// float size = 2.0f;
-// //if (getBaseMetaTileEntity().isActive()) {
-// if (true) {
-// double minU = texture.getMinU();
-// double maxU = texture.getMaxU();
-// double minV = texture.getMinV();
-// double maxV = texture.getMaxV();
-// double xOffset = 16 * getExtendedFacing().getRelativeBackInWorld().offsetX;
-// double zOffset = 16 * getExtendedFacing().getRelativeBackInWorld().offsetZ;
-// GL11.glPushMatrix();
-// GL11.glDisable(GL11.GL_CULL_FACE);
-// GL11.glDisable(GL11.GL_ALPHA_TEST);
-// GL11.glEnable(GL11.GL_BLEND);
-// tes.setColorOpaque_F(1f, 1f, 1f);
-// // 5---6
-// // /| /| | /
-// // 2-4-1 7 y z
-// // |/ |/ |/
-// // 3---0 0---x---
-//
-// //Add the rendering calls here (Can and should use helper functions that do the vertex calls)
-//
-// double X[] = {x + xOffset - 0.5 - size, x + xOffset - 0.5 - size, x + xOffset + 0.5 + size, x + xOffset + 0.5 + size,
-// x + xOffset + 0.5 + size, x + xOffset + 0.5 + size, x + xOffset - 0.5 - size, x + xOffset - 0.5 - size};
-// double Y[] = {y + 0.5 + size, y - 0.5 - size, y - 0.5 - size, y + 0.5 + size,
-// y + 0.5 + size, y - 0.5 - size, y - 0.5 - size, y + 0.5 + size};
-// double Z[] = {z + zOffset + 0.5 + size, z + zOffset + 0.5 + size, z + zOffset + 0.5 + size, z + zOffset + 0.5 + size,
-// z + zOffset - 0.5 - size, z + zOffset - 0.5 - size, z + zOffset - 0.5 - size, z + zOffset - 0.5 - size};
-//// int index = 0;
-//// for (double[] X : arrayTest) {
-//// tes.addVertexWithUV(X[0], Y[0], Z[0], maxU, maxV);
-//// tes.addVertexWithUV(X[1], Y[1], Z[1], maxU, minV);
-//// tes.addVertexWithUV(X[2], Y[2], Z[2], minU, minV);
-//// tes.addVertexWithUV(X[3], Y[3], Z[3], minU, maxV);
-//// }
-//
-// double[][] testArray = new double[][] {new double[]{-1.39,-1.88,1.06},new double[]{-1.54,-1.86,0.87},new double[]{-1.42,-1.98,0.81},new double[]{-1.27,-2.0,0.98},new double[]{-1.27,1.9,1.17},new double[]{-1.37,1.75,1.3},new double[]{-1.17,1.76,1.46},new double[]{-1.06,1.91,1.34},new double[]{1.55,-1.71,-1.12},new double[]{1.61,-1.57,-1.23},new double[]{1.77,-1.53,-1.06},new double[]{1.71,-1.67,-0.94},new double[]{-1.55,1.95,0.63},new double[]{-1.71,1.87,0.43},new double[]{-1.79,1.74,0.6},new double[]{-1.64,1.81,0.79},new double[]{-1.38,-1.3,1.73},new double[]{-1.59,-1.32,1.52},new double[]{-1.47,-1.54,1.43},new double[]{-1.27,-1.53,1.63},new double[]{-1.94,-1.41,-0.91},new double[]{-1.81,-1.59,-0.89},new double[]{-1.91,-1.58,-0.67},new double[]{-2.04,-1.4,-0.68},new double[]{1.33,0.72,-2.07},new double[]{1.07,0.68,-2.23},new double[]{1.0,0.96,-2.16},new double[]{1.25,1.01,-2.0},new double[]{-2.34,0.73,-0.76},new double[]{-2.43,0.66,-0.53},new double[]{-2.37,0.87,-0.49},new double[]{-2.28,0.95,-0.7},new double[]{-2.38,-0.68,-0.68},new double[]{-2.29,-0.95,-0.69},new double[]{-2.34,-0.95,-0.46},new double[]{-2.43,-0.7,-0.44},new double[]{0.26,0.35,2.53},new double[]{0.21,0.57,2.5},new double[]{0.06,0.5,2.52},new double[]{0.1,0.29,2.55},new double[]{-1.77,1.53,1.06},new double[]{-1.91,1.48,0.89},new double[]{-1.94,1.36,1.0},new double[]{-1.81,1.4,1.17},new double[]{0.34,-0.73,-2.44},new double[]{0.37,-0.93,-2.37},new double[]{0.19,-0.9,-2.4},new double[]{0.15,-0.71,-2.46},new double[]{-1.62,-0.48,-1.93},new double[]{-1.38,-0.42,-2.12},new double[]{-1.3,-0.71,-2.1},new double[]{-1.53,-0.77,-1.91},new double[]{-1.75,1.48,-1.16},new double[]{-1.68,1.62,-1.07},new double[]{-1.53,1.65,-1.24},new double[]{-1.58,1.52,-1.33},new double[]{2.2,1.32,0.08},new double[]{2.22,1.29,-0.08},new double[]{2.11,1.46,-0.06},new double[]{2.08,1.49,0.1},new double[]{-0.35,0.12,-2.54},new double[]{-0.39,0.36,-2.51},new double[]{-0.22,0.37,-2.53},new double[]{-0.18,0.15,-2.56},new double[]{0.3,0.12,2.55},new double[]{0.26,0.35,2.53},new double[]{0.1,0.29,2.55},new double[]{0.14,0.07,2.56},new double[]{2.17,1.04,-0.89},new double[]{2.06,1.28,-0.84},new double[]{2.16,1.24,-0.63},new double[]{2.26,1.01,-0.67},new double[]{1.48,-1.21,1.71},new double[]{1.28,-1.22,1.86},new double[]{1.26,-1.4,1.75},new double[]{1.45,-1.39,1.6},new double[]{0.02,-1.56,-2.04},new double[]{-0.13,-1.51,-2.07},new double[]{0.0,-1.42,-2.14},new double[]{0.15,-1.46,-2.1},new double[]{-1.45,-0.1,2.12},new double[]{-1.19,-0.07,2.28},new double[]{-1.22,0.23,2.25},new double[]{-1.47,0.2,2.09},new double[]{0.36,2.52,-0.3},new double[]{0.57,2.5,-0.1},new double[]{0.73,2.44,-0.3},new double[]{0.53,2.46,-0.5},new double[]{1.6,-1.15,-1.64},new double[]{1.78,-1.12,-1.46},new double[]{1.72,-1.29,-1.4},new double[]{1.55,-1.32,-1.56},new double[]{2.53,-0.21,-0.36},new double[]{2.55,-0.18,-0.19},new double[]{2.53,-0.39,-0.2},new double[]{2.5,-0.43,-0.37},new double[]{0.9,1.12,2.13},new double[]{0.81,1.32,2.05},new double[]{0.62,1.23,2.17},new double[]{0.69,1.03,2.25},new double[]{2.25,0.33,1.19},new double[]{2.37,0.37,0.92},new double[]{2.3,0.66,0.94},new double[]{2.18,0.63,1.2},new double[]{-1.8,-1.67,0.74},new double[]{-1.91,-1.62,0.55},new double[]{-1.78,-1.77,0.51},new double[]{-1.67,-1.82,0.69},new double[]{0.17,1.22,-2.25},new double[]{-0.01,1.14,-2.3},new double[]{-0.05,1.32,-2.2},new double[]{0.12,1.41,-2.15},new double[]{0.4,2.54,0.12},new double[]{0.6,2.48,0.31},new double[]{0.77,2.45,0.09},new double[]{0.57,2.5,-0.1},new double[]{1.65,-0.95,-1.72},new double[]{1.84,-0.92,-1.53},new double[]{1.78,-1.12,-1.46},new double[]{1.6,-1.15,-1.64},new double[]{1.06,2.08,1.07},new double[]{1.16,1.98,1.16},new double[]{1.29,1.99,0.98},new double[]{1.2,2.1,0.88},new double[]{-0.02,0.18,-2.56},new double[]{-0.18,0.15,-2.56},new double[]{-0.22,0.37,-2.53},new double[]{-0.06,0.42,-2.53},new double[]{2.09,-0.86,1.22},new double[]{2.03,-1.08,1.13},new double[]{2.17,-1.02,0.92},new double[]{2.23,-0.8,0.99},new double[]{-0.04,-2.37,-0.99},new double[]{-0.25,-2.29,-1.13},new double[]{-0.06,-2.2,-1.32},new double[]{0.15,-2.27,-1.19},new double[]{1.62,1.1,1.66},new double[]{1.5,1.33,1.6},new double[]{1.31,1.28,1.81},new double[]{1.42,1.04,1.87},new double[]{0.8,1.72,1.73},new double[]{0.72,1.84,1.64},new double[]{0.56,1.76,1.78},new double[]{0.64,1.64,1.87},new double[]{-0.62,-1.23,-2.17},new double[]{-0.44,-1.14,-2.26},new double[]{-0.38,-1.32,-2.17},new double[]{-0.54,-1.41,-2.08},new double[]{0.3,0.12,2.55},new double[]{0.26,0.35,2.53},new double[]{0.1,0.29,2.55},new double[]{0.14,0.07,2.56},new double[]{-0.63,1.88,1.63},new double[]{-0.76,1.74,1.73},new double[]{-0.56,1.71,1.84},new double[]{-0.43,1.84,1.74},new double[]{-0.62,2.35,0.84},new double[]{-0.79,2.21,1.04},new double[]{-0.56,2.2,1.21},new double[]{-0.38,2.32,1.03},new double[]{-0.37,1.66,1.92},new double[]{-0.49,1.55,1.99},new double[]{-0.31,1.51,2.05},new double[]{-0.19,1.61,1.99},new double[]{-0.94,-2.3,-0.64},new double[]{-1.09,-2.29,-0.43},new double[]{-1.21,-2.19,-0.57},new double[]{-1.08,-2.2,-0.77},new double[]{-0.34,0.73,2.44},new double[]{-0.15,0.71,2.46},new double[]{-0.19,0.9,2.39},new double[]{-0.37,0.93,2.36},new double[]{1.51,-0.99,1.82},new double[]{1.29,-1.01,1.97},new double[]{1.28,-1.22,1.86},new double[]{1.48,-1.21,1.71},new double[]{2.17,1.19,0.69},new double[]{2.24,1.18,0.46},new double[]{2.11,1.38,0.47},new double[]{2.04,1.4,0.68},new double[]{0.17,0.22,-2.55},new double[]{-0.02,0.18,-2.56},new double[]{-0.06,0.42,-2.53},new double[]{0.13,0.47,-2.52},new double[]{-1.29,2.21,-0.2},new double[]{-1.45,2.09,-0.38},new double[]{-1.6,2.0,-0.16},new double[]{-1.46,2.12,0.02},new double[]{-1.68,-1.59,-1.11},new double[]{-1.55,-1.75,-1.07},new double[]{-1.67,-1.75,-0.86},new double[]{-1.81,-1.6,-0.89},new double[]{-1.69,-0.17,-1.92},new double[]{-1.73,0.14,-1.89},new double[]{-1.5,0.19,-2.08},new double[]{-1.45,-0.12,-2.11},new double[]{-2.41,-0.5,0.72},new double[]{-2.47,-0.5,0.51},new double[]{-2.41,-0.74,0.49},new double[]{-2.35,-0.76,0.7},new double[]{1.05,-0.54,2.28},new double[]{0.83,-0.56,2.36},new double[]{0.85,-0.8,2.28},new double[]{1.07,-0.79,2.19},new double[]{-0.38,2.32,1.03},new double[]{-0.56,2.19,1.21},new double[]{-0.33,2.15,1.36},new double[]{-0.15,2.27,1.19},new double[]{-0.32,-1.47,-2.08},new double[]{-0.17,-1.37,-2.16},new double[]{-0.13,-1.51,-2.07},new double[]{-0.26,-1.6,-1.99},new double[]{-0.17,-1.22,2.25},new double[]{-0.12,-1.41,2.14},new double[]{0.05,-1.32,2.2},new double[]{0.01,-1.14,2.3},new double[]{1.17,-1.34,-1.85},new double[]{1.14,-1.48,-1.76},new double[]{0.96,-1.47,-1.87},new double[]{0.97,-1.33,-1.96},new double[]{0.22,-1.08,-2.32},new double[]{0.25,-1.23,-2.24},new double[]{0.09,-1.2,-2.27},new double[]{0.06,-1.04,-2.35},new double[]{0.43,-2.45,-0.63},new double[]{0.19,-2.43,-0.82},new double[]{0.38,-2.32,-1.03},new double[]{0.62,-2.34,-0.84},new double[]{2.39,-0.48,0.81},new double[]{2.34,-0.73,0.75},new double[]{2.42,-0.66,0.53},new double[]{2.47,-0.41,0.57},new double[]{-1.23,0.76,2.12},new double[]{-0.99,0.76,2.24},new double[]{-0.99,0.98,2.15},new double[]{-1.22,0.98,2.04},new double[]{-1.84,1.78,-0.13},new double[]{-1.93,1.67,-0.29},new double[]{-2.03,1.58,-0.1},new double[]{-1.94,1.68,0.06},new double[]{1.54,1.57,1.33},new double[]{1.68,1.59,1.11},new double[]{1.55,1.75,1.07},new double[]{1.41,1.73,1.27},new double[]{-1.25,0.23,-2.23},new double[]{-1.28,0.52,-2.16},new double[]{-1.05,0.54,-2.28},new double[]{-1.02,0.27,-2.34},new double[]{1.55,-1.32,-1.56},new double[]{1.5,-1.46,-1.48},new double[]{1.32,-1.48,-1.63},new double[]{1.36,-1.34,-1.71},new double[]{0.5,-2.3,1.04},new double[]{0.68,-2.18,1.17},new double[]{0.49,-2.15,1.33},new double[]{0.31,-2.25,1.2},new double[]{-1.45,-0.12,-2.12},new double[]{-1.21,-0.06,-2.27},new double[]{-1.15,-0.35,-2.27},new double[]{-1.39,-0.42,-2.12},new double[]{-0.78,1.32,2.06},new double[]{-0.59,1.29,2.14},new double[]{-0.6,1.43,2.05},new double[]{-0.78,1.46,1.97},new double[]{-0.11,2.09,1.49},new double[]{-0.28,1.97,1.63},new double[]{-0.08,1.9,1.72},new double[]{0.09,2.01,1.59},new double[]{-1.97,0.39,-1.6},new double[]{-2.15,0.33,-1.36},new double[]{-2.13,0.61,-1.29},new double[]{-1.95,0.67,-1.53},new double[]{2.32,-0.57,-0.95},new double[]{2.41,-0.52,-0.74},new double[]{2.35,-0.74,-0.73},new double[]{2.26,-0.79,-0.92},new double[]{-0.98,-0.89,-2.2},new double[]{-0.77,-0.81,-2.31},new double[]{-0.69,-1.03,-2.24},new double[]{-0.9,-1.12,-2.13},new double[]{0.67,0.02,-2.48},new double[]{0.71,-0.26,-2.46},new double[]{0.48,-0.27,-2.51},new double[]{0.44,-0.01,-2.53},new double[]{-0.62,-0.3,2.47},new double[]{-0.57,-0.57,2.44},new double[]{-0.34,-0.52,2.49},new double[]{-0.39,-0.26,2.52},new double[]{0.3,-1.94,1.66},new double[]{0.45,-1.84,1.73},new double[]{0.3,-1.79,1.81},new double[]{0.15,-1.88,1.74},new double[]{-1.27,-1.53,1.63},new double[]{-1.15,-1.72,1.53},new double[]{-0.94,-1.68,1.7},new double[]{-1.05,-1.49,1.81},new double[]{0.52,-1.18,2.22},new double[]{0.36,-1.16,2.27},new double[]{0.38,-1.32,2.17},new double[]{0.54,-1.34,2.12},new double[]{0.73,1.63,-1.85},new double[]{0.52,1.56,-1.97},new double[]{0.45,1.72,-1.85},new double[]{0.64,1.79,-1.73},new double[]{0.39,0.26,-2.53},new double[]{0.44,-0.01,-2.53},new double[]{0.22,-0.03,-2.56},new double[]{0.17,0.22,-2.55},new double[]{0.44,0.41,2.5},new double[]{0.38,0.64,2.46},new double[]{0.21,0.57,2.5},new double[]{0.26,0.35,2.53},new double[]{1.37,1.53,1.54},new double[]{1.25,1.69,1.47},new double[]{1.08,1.64,1.65},new double[]{1.19,1.47,1.73},new double[]{-0.9,-2.05,-1.26},new double[]{-1.05,-2.08,-1.07},new double[]{-1.16,-1.97,-1.16},new double[]{-1.02,-1.94,-1.33},new double[]{-0.39,-0.26,2.52},new double[]{-0.17,-0.22,2.55},new double[]{-0.22,0.03,2.56},new double[]{-0.43,0.01,2.53},new double[]{-2.5,0.43,0.37},new double[]{-2.46,0.63,0.37},new double[]{-2.49,0.58,0.21},new double[]{-2.53,0.39,0.2},new double[]{-0.27,1.54,-2.04},new double[]{-0.4,1.45,-2.08},new double[]{-0.42,1.58,-1.98},new double[]{-0.29,1.66,-1.93},new double[]{-2.46,0.72,-0.11},new double[]{-2.48,0.65,0.06},new double[]{-2.43,0.83,0.07},new double[]{-2.4,0.91,-0.09},new double[]{-0.91,-2.4,0.11},new double[]{-1.03,-2.33,0.3},new double[]{-1.19,-2.28,0.13},new double[]{-1.07,-2.33,-0.06},new double[]{0.08,1.57,-2.03},new double[]{-0.09,1.48,-2.09},new double[]{-0.13,1.62,-1.99},new double[]{0.03,1.71,-1.92},new double[]{2.41,0.08,0.89},new double[]{2.41,-0.21,0.85},new double[]{2.49,-0.15,0.61},new double[]{2.48,0.12,0.64},new double[]{-2.02,1.57,0.24},new double[]{-2.1,1.48,0.08},new double[]{-2.15,1.38,0.24},new double[]{-2.07,1.46,0.4},new double[]{1.22,-0.23,-2.25},new double[]{1.23,-0.5,-2.2},new double[]{0.98,-0.51,-2.32},new double[]{0.96,-0.24,-2.37},new double[]{0.02,-1.56,-2.04},new double[]{-0.13,-1.51,-2.08},new double[]{0.0,-1.42,-2.14},new double[]{0.15,-1.46,-2.11},new double[]{0.9,-2.39,-0.21},new double[]{1.08,-2.29,-0.43},new double[]{1.28,-2.21,-0.22},new double[]{1.11,-2.31,0.0},new double[]{-0.62,-0.3,2.47},new double[]{-0.57,-0.57,2.44},new double[]{-0.34,-0.52,2.49},new double[]{-0.39,-0.26,2.52},new double[]{-1.37,1.34,1.72},new double[]{-1.17,1.34,1.85},new double[]{-1.14,1.48,1.76},new double[]{-1.33,1.48,1.63},new double[]{-0.52,1.18,-2.22},new double[]{-0.54,1.34,-2.12},new double[]{-0.38,1.32,-2.17},new double[]{-0.36,1.16,-2.27},new double[]{0.39,0.26,-2.52},new double[]{0.17,0.22,-2.55},new double[]{0.13,0.47,-2.52},new double[]{0.34,0.52,-2.49},new double[]{0.75,1.97,-1.47},new double[]{0.56,1.92,-1.61},new double[]{0.49,2.03,-1.5},new double[]{0.66,2.07,-1.37},new double[]{2.5,-0.43,-0.37},new double[]{2.53,-0.39,-0.2},new double[]{2.49,-0.58,-0.21},new double[]{2.46,-0.63,-0.37},new double[]{-0.03,-1.71,1.92},new double[]{0.01,-1.82,1.81},new double[]{0.16,-1.74,1.88},new double[]{0.13,-1.62,1.98},new double[]{-1.21,-0.97,-2.05},new double[]{-0.99,-0.89,-2.2},new double[]{-0.9,-1.12,-2.13},new double[]{-1.1,-1.2,-1.98},new double[]{-1.5,-1.33,-1.6},new double[]{-1.31,-1.28,-1.81},new double[]{-1.19,-1.48,-1.73},new double[]{-1.37,-1.53,-1.54},new double[]{-2.02,1.37,-0.78},new double[]{-2.13,1.31,-0.59},new double[]{-2.05,1.45,-0.54},new double[]{-1.94,1.51,-0.72},new double[]{1.72,1.85,0.45},new double[]{1.8,1.82,0.28},new double[]{1.67,1.93,0.28},new double[]{1.6,1.96,0.45},new double[]{1.65,0.45,-1.92},new double[]{1.58,0.76,-1.88},new double[]{1.8,0.78,-1.65},new double[]{1.88,0.47,-1.69},new double[]{-0.12,-1.66,-1.96},new double[]{-0.26,-1.6,-1.99},new double[]{-0.13,-1.51,-2.08},new double[]{0.02,-1.56,-2.04},new double[]{-1.6,1.15,1.64},new double[]{-1.4,1.17,1.8},new double[]{-1.36,1.34,1.71},new double[]{-1.55,1.32,1.56},new double[]{-0.26,-1.93,-1.67},new double[]{-0.42,-1.85,-1.73},new double[]{-0.27,-1.76,-1.85},new double[]{-0.1,-1.83,-1.79},new double[]{-2.29,-0.03,-1.16},new double[]{-2.41,-0.08,-0.89},new double[]{-2.41,0.21,-0.85},new double[]{-2.3,0.27,-1.11},new double[]{0.12,1.66,1.95},new double[]{-0.02,1.56,2.04},new double[]{0.13,1.51,2.07},new double[]{0.26,1.6,1.99},new double[]{-1.47,1.86,0.99},new double[]{-1.64,1.81,0.79},new double[]{-1.71,1.67,0.94},new double[]{-1.55,1.71,1.12},new double[]{2.47,0.5,-0.51},new double[]{2.5,0.49,-0.32},new double[]{2.53,0.25,-0.34},new double[]{2.5,0.24,-0.53},new double[]{2.01,-1.21,-1.04},new double[]{2.12,-1.15,-0.86},new double[]{2.05,-1.3,-0.83},new double[]{1.94,-1.35,-1.0},new double[]{1.05,1.49,-1.81},new double[]{0.82,1.44,-1.96},new double[]{0.73,1.63,-1.85},new double[]{0.94,1.68,-1.7},new double[]{-2.45,-0.23,0.74},new double[]{-2.46,0.03,0.75},new double[]{-2.51,0.01,0.54},new double[]{-2.5,-0.24,0.53},new double[]{-1.65,0.95,1.72},new double[]{-1.6,1.15,1.64},new double[]{-1.78,1.12,1.46},new double[]{-1.84,0.92,1.53},new double[]{-0.97,-0.01,-2.38},new double[]{-1.02,0.27,-2.34},new double[]{-0.79,0.31,-2.42},new double[]{-0.74,0.04,-2.46},new double[]{-0.73,-1.63,1.84},new double[]{-0.64,-1.79,1.73},new double[]{-0.45,-1.72,1.85},new double[]{-0.52,-1.56,1.97},new double[]{1.42,1.04,1.87},new double[]{1.31,1.28,1.81},new double[]{1.1,1.2,1.98},new double[]{1.21,0.97,2.05},new double[]{-0.73,-1.63,1.84},new double[]{-0.64,-1.79,1.73},new double[]{-0.45,-1.72,1.85},new double[]{-0.52,-1.56,1.97},new double[]{-1.31,-1.28,-1.81},new double[]{-1.1,-1.2,-1.98},new double[]{-1.0,-1.41,-1.9},new double[]{-1.19,-1.48,-1.73},new double[]{2.4,-0.52,-0.74},new double[]{2.46,-0.47,-0.54},new double[]{2.41,-0.68,-0.54},new double[]{2.35,-0.73,-0.72},new double[]{-1.92,0.43,1.65},new double[]{-1.89,0.69,1.59},new double[]{-2.06,0.66,1.38},new double[]{-2.1,0.4,1.42},new double[]{-0.09,-2.01,-1.59},new double[]{-0.26,-1.93,-1.67},new double[]{-0.1,-1.83,-1.79},new double[]{0.08,-1.9,-1.72},new double[]{0.32,2.45,-0.69},new double[]{0.53,2.46,-0.5},new double[]{0.68,2.38,-0.67},new double[]{0.48,2.37,-0.86},new double[]{-1.97,0.39,-1.6},new double[]{-1.95,0.67,-1.53},new double[]{-1.75,0.71,-1.74},new double[]{-1.75,0.44,-1.82},new double[]{0.88,-1.21,2.08},new double[]{0.69,-1.2,2.16},new double[]{0.7,-1.37,2.06},new double[]{0.88,-1.39,1.97},new double[]{0.08,-2.47,0.69},new double[]{0.3,-2.39,0.87},new double[]{0.11,-2.34,1.05},new double[]{-0.1,-2.41,0.88},new double[]{0.97,-1.33,-1.96},new double[]{0.96,-1.47,-1.87},new double[]{0.78,-1.46,-1.97},new double[]{0.78,-1.32,-2.06},new double[]{0.27,-1.54,2.04},new double[]{0.29,-1.66,1.94},new double[]{0.42,-1.58,1.98},new double[]{0.4,-1.46,2.08},new double[]{0.35,-0.12,2.54},new double[]{0.18,-0.15,2.56},new double[]{0.22,-0.37,2.53},new double[]{0.39,-0.36,2.51},new double[]{-1.79,1.74,0.6},new double[]{-1.92,1.66,0.41},new double[]{-1.98,1.53,0.57},new double[]{-1.86,1.6,0.75},new double[]{-0.77,0.97,2.25},new double[]{-0.56,0.95,2.32},new double[]{-0.58,1.13,2.23},new double[]{-0.78,1.16,2.16},new double[]{-1.27,1.9,1.17},new double[]{-1.37,1.75,1.3},new double[]{-1.17,1.76,1.46},new double[]{-1.06,1.91,1.34},new double[]{-0.01,-2.5,-0.59},new double[]{-0.21,-2.53,-0.36},new double[]{-0.42,-2.47,-0.54},new double[]{-0.23,-2.44,-0.77},new double[]{0.3,-0.51,-2.5},new double[]{0.34,-0.73,-2.44},new double[]{0.15,-0.71,-2.46},new double[]{0.11,-0.51,-2.51},new double[]{-0.02,2.56,0.16},new double[]{0.21,2.53,0.36},new double[]{0.4,2.53,0.12},new double[]{0.18,2.56,-0.08},new double[]{-1.36,2.01,0.83},new double[]{-1.55,1.95,0.63},new double[]{-1.64,1.81,0.79},new double[]{-1.47,1.86,0.99},new double[]{-0.08,-1.57,2.03},new double[]{-0.03,-1.71,1.92},new double[]{0.13,-1.62,1.98},new double[]{0.09,-1.48,2.09},new double[]{2.15,-0.33,1.36},new double[]{2.13,-0.61,1.3},new double[]{2.28,-0.55,1.05},new double[]{2.3,-0.27,1.11},new double[]{-1.75,0.72,-1.74},new double[]{-1.72,0.96,-1.64},new double[]{-1.51,1.0,-1.82},new double[]{-1.53,0.75,-1.92},new double[]{1.0,0.96,-2.16},new double[]{0.74,0.9,-2.28},new double[]{0.67,1.15,-2.19},new double[]{0.91,1.22,-2.07},new double[]{2.53,0.25,-0.34},new double[]{2.55,0.26,-0.17},new double[]{2.56,0.03,-0.18},new double[]{2.55,0.02,-0.35},new double[]{0.3,-1.94,1.66},new double[]{0.46,-1.84,1.73},new double[]{0.3,-1.79,1.81},new double[]{0.15,-1.88,1.74},new double[]{1.92,-1.66,-0.41},new double[]{1.98,-1.53,-0.57},new double[]{2.07,-1.46,-0.4},new double[]{2.02,-1.57,-0.24},new double[]{-0.64,-1.64,-1.87},new double[]{-0.48,-1.56,-1.99},new double[]{-0.41,-1.68,-1.9},new double[]{-0.56,-1.77,-1.78},new double[]{2.46,-0.03,-0.75},new double[]{2.51,-0.01,-0.54},new double[]{2.5,-0.25,-0.54},new double[]{2.44,-0.28,-0.75},new double[]{-0.54,0.08,-2.51},new double[]{-0.35,0.12,-2.54},new double[]{-0.3,-0.12,-2.55},new double[]{-0.49,-0.17,-2.51},new double[]{-1.71,0.46,1.86},new double[]{-1.69,0.73,1.79},new double[]{-1.89,0.69,1.59},new double[]{-1.92,0.43,1.65},new double[]{0.52,-1.18,2.22},new double[]{0.36,-1.16,2.27},new double[]{0.38,-1.32,2.17},new double[]{0.54,-1.34,2.12},new double[]{-1.78,-1.32,1.29},new double[]{-1.93,-1.31,1.07},new double[]{-1.81,-1.52,1.0},new double[]{-1.65,-1.54,1.22},new double[]{1.2,-1.17,-1.94},new double[]{1.17,-1.34,-1.85},new double[]{0.97,-1.33,-1.96},new double[]{0.98,-1.17,-2.06},new double[]{-0.98,1.92,-1.39},new double[]{-0.8,1.91,-1.52},new double[]{-0.93,1.79,-1.59},new double[]{-1.1,1.8,-1.46},new double[]{-1.8,-0.78,1.65},new double[]{-1.99,-0.79,1.41},new double[]{-1.89,-1.07,1.36},new double[]{-1.71,-1.06,1.59},new double[]{-1.65,0.95,1.72},new double[]{-1.6,1.15,1.64},new double[]{-1.78,1.12,1.46},new double[]{-1.84,0.92,1.53},new double[]{1.65,-0.96,-1.72},new double[]{1.84,-0.93,-1.53},new double[]{1.79,-1.12,-1.47},new double[]{1.6,-1.15,-1.64},new double[]{-1.37,-1.53,-1.54},new double[]{-1.19,-1.48,-1.73},new double[]{-1.08,-1.64,-1.66},new double[]{-1.25,-1.7,-1.47},new double[]{0.27,-1.54,2.04},new double[]{0.29,-1.66,1.93},new double[]{0.42,-1.58,1.98},new double[]{0.4,-1.45,2.08},new double[]{-0.61,-2.28,1.0},new double[]{-0.42,-2.25,1.16},new double[]{-0.55,-2.16,1.28},new double[]{-0.73,-2.19,1.12},new double[]{-1.77,1.53,1.06},new double[]{-1.9,1.48,0.88},new double[]{-1.94,1.35,1.0},new double[]{-1.81,1.4,1.17},new double[]{1.71,-1.67,-0.94},new double[]{1.77,-1.53,-1.06},new double[]{1.91,-1.48,-0.89},new double[]{1.86,-1.61,-0.75},new double[]{-0.07,-1.13,-2.3},new double[]{0.06,-1.04,-2.35},new double[]{0.09,-1.2,-2.27},new double[]{-0.03,-1.28,-2.22},new double[]{-0.63,-0.48,-2.44},new double[]{-0.43,-0.41,-2.5},new double[]{-0.38,-0.64,-2.46},new double[]{-0.57,-0.72,-2.4},new double[]{2.04,1.45,-0.59},new double[]{1.91,1.62,-0.55},new double[]{2.0,1.57,-0.38},new double[]{2.12,1.4,-0.41},new double[]{0.94,1.68,-1.7},new double[]{0.73,1.63,-1.84},new double[]{0.64,1.79,-1.73},new double[]{0.84,1.84,-1.58},new double[]{-2.43,-0.7,-0.44},new double[]{-2.34,-0.95,-0.46},new double[]{-2.38,-0.94,-0.24},new double[]{-2.46,-0.7,-0.23},new double[]{-0.57,-2.5,0.1},new double[]{-0.73,-2.44,0.3},new double[]{-0.91,-2.4,0.11},new double[]{-0.76,-2.45,-0.09},new double[]{0.44,2.36,0.93},new double[]{0.62,2.26,1.06},new double[]{0.79,2.29,0.85},new double[]{0.62,2.39,0.71},new double[]{0.68,-2.18,1.17},new double[]{0.84,-2.05,1.29},new double[]{0.65,-2.03,1.43},new double[]{0.49,-2.14,1.32},new double[]{-0.94,-2.3,-0.64},new double[]{-1.09,-2.29,-0.43},new double[]{-1.21,-2.19,-0.57},new double[]{-1.08,-2.2,-0.77},new double[]{-1.19,-2.09,-0.88},new double[]{-1.32,-2.09,-0.69},new double[]{-1.41,-1.99,-0.8},new double[]{-1.29,-1.99,-0.98},new double[]{2.15,0.79,-1.17},new double[]{2.05,1.06,-1.12},new double[]{2.17,1.04,-0.89},new double[]{2.26,0.78,-0.93},new double[]{1.21,0.06,2.27},new double[]{0.97,0.01,2.38},new double[]{1.02,-0.27,2.34},new double[]{1.26,-0.23,2.23},new double[]{0.49,-1.0,2.31},new double[]{0.33,-0.98,2.35},new double[]{0.36,-1.16,2.27},new double[]{0.52,-1.18,2.22},new double[]{-0.11,0.51,2.51},new double[]{0.06,0.5,2.52},new double[]{0.02,0.69,2.47},new double[]{-0.15,0.71,2.46},new double[]{2.07,-1.46,-0.4},new double[]{2.11,-1.35,-0.54},new double[]{2.19,-1.28,-0.38},new double[]{2.15,-1.38,-0.24},new double[]{-1.58,1.96,-0.54},new double[]{-1.68,1.82,-0.68},new double[]{-1.82,1.75,-0.48},new double[]{-1.72,1.88,-0.33},new double[]{-0.37,1.66,1.92},new double[]{-0.49,1.55,1.99},new double[]{-0.31,1.51,2.05},new double[]{-0.19,1.61,1.99},new double[]{0.37,-1.67,-1.92},new double[]{0.19,-1.62,-1.99},new double[]{0.32,-1.51,-2.06},new double[]{0.49,-1.55,-1.99},new double[]{-0.63,-0.48,-2.44},new double[]{-0.43,-0.41,-2.5},new double[]{-0.38,-0.64,-2.46},new double[]{-0.57,-0.72,-2.4},new double[]{1.27,1.53,-1.63},new double[]{1.15,1.71,-1.53},new double[]{1.35,1.73,-1.34},new double[]{1.47,1.54,-1.43},new double[]{0.58,1.93,1.59},new double[]{0.42,1.85,1.73},new double[]{0.56,1.76,1.78},new double[]{0.72,1.84,1.64},new double[]{1.44,-1.6,-1.4},new double[]{1.5,-1.46,-1.48},new double[]{1.66,-1.44,-1.33},new double[]{1.61,-1.57,-1.23},new double[]{-0.85,2.33,0.64},new double[]{-1.08,2.29,0.43},new double[]{-1.23,2.16,0.64},new double[]{-1.02,2.2,0.84},new double[]{-0.33,2.15,1.36},new double[]{-0.49,2.02,1.51},new double[]{-0.28,1.97,1.63},new double[]{-0.11,2.09,1.49},new double[]{-1.72,0.18,1.9},new double[]{-1.71,0.47,1.86},new double[]{-1.92,0.43,1.65},new double[]{-1.93,0.15,1.69},new double[]{2.17,1.19,0.69},new double[]{2.24,1.18,0.46},new double[]{2.11,1.38,0.47},new double[]{2.04,1.4,0.68},new double[]{1.8,1.82,0.28},new double[]{1.85,1.78,0.12},new double[]{1.74,1.89,0.13},new double[]{1.67,1.93,0.28},new double[]{1.08,-2.29,-0.43},new double[]{1.23,-2.16,-0.64},new double[]{1.43,-2.09,-0.44},new double[]{1.28,-2.21,-0.22},new double[]{-1.23,2.05,-0.94},new double[]{-1.04,2.06,-1.13},new double[]{-1.17,1.93,-1.23},new double[]{-1.35,1.91,-1.06},new double[]{0.7,-2.32,0.85},new double[]{0.88,-2.2,1.0},new double[]{0.68,-2.18,1.17},new double[]{0.5,-2.3,1.04},new double[]