X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Fraster%2Fshapes%2Fbasic%2Ftexturedpolygon%2FTexturedPolygon.java;h=f883f698a5266f126bced2403c5e1f257a467a12;hp=ff900d8a283e6276ac34b36aa1dd9119f8e660a1;hb=59baa428fb2d9e7f0fe5423f4cea47f2d6245914;hpb=6213716671ccab6b7256de41838e1f5401ce173c diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java index ff900d8..f883f69 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java @@ -1,17 +1,16 @@ /* - * Sixth - System for data storage, computation, exploration and interaction. - * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * Sixth 3D engine. Copyright ©2012-2019, 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. + * */ package eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.sixth.e3d.geometry.Point2D; import eu.svjatoslav.sixth.e3d.geometry.Point3D; -import eu.svjatoslav.sixth.e3d.geometry.Polygon; import eu.svjatoslav.sixth.e3d.gui.RenderingContext; import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.AbstractCoordinateShape; import eu.svjatoslav.sixth.e3d.renderer.raster.slicer.PolygonCoordinate; @@ -20,6 +19,8 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.texture.TextureBitmap; import java.awt.*; +import static eu.svjatoslav.sixth.e3d.geometry.Polygon.pointWithinPolygon; + public class TexturedPolygon extends AbstractCoordinateShape { public final Texture texture; @@ -105,7 +106,7 @@ public class TexturedPolygon extends AbstractCoordinateShape { x2 = renderBuffer.width - 1; int renderBufferOffset = ((y * renderBuffer.width) + x1) * 4; - final byte[] renderBufferBytes = renderBuffer.bytes; + final byte[] renderBufferBytes = renderBuffer.pixels; final double twidth = tx2 - tx1; final double theight = ty2 - ty1; @@ -140,11 +141,11 @@ public class TexturedPolygon extends AbstractCoordinateShape { projectedPoint3.roundToInteger(); if (mouseInteractionController != null) - if (renderBuffer.mouseClick != null) - if (Polygon.pointWithinPolygon( - renderBuffer.mouseClick.coordinate, projectedPoint1, + if (renderBuffer.getMouseEvent() != null) + if (pointWithinPolygon( + renderBuffer.getMouseEvent().coordinate, projectedPoint1, projectedPoint2, projectedPoint3)) - renderBuffer.clickedItem = mouseInteractionController; + renderBuffer.setObjectUnderMouse(mouseInteractionController); // Show polygon boundaries (for debugging) if (showBorders)