package net.minecraft.client.model;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.Vec3;
public class TexturedQuad
{
public PositionTextureVertex[] vertexPositions;
public int nVertices;
private boolean invertNormal;
private static final String __OBFID = "CL_00000850";
public TexturedQuad(PositionTextureVertex[] p_i1152_1_)
{
this.vertexPositions = p_i1152_1_;
this.nVertices = p_i1152_1_.length;
}
public TexturedQuad(PositionTextureVertex[] p_i1153_1_, int p_i1153_2_, int p_i1153_3_, int p_i1153_4_, int p_i1153_5_, float p_i1153_6_, float p_i1153_7_)
{
this(p_i1153_1_);
float f2 = 0.0F / p_i1153_6_;
float f3 = 0.0F / p_i1153_7_;
p_i1153_1_[0] = p_i1153_1_[0].setTexturePosition((float)p_i1153_4_ / p_i1153_6_ - f2, (float)p_i1153_3_ / p_i1153_7_ + f3);
p_i1153_1_[1] = p_i1153_1_[1].setTexturePosition((float)p_i1153_2_ / p_i1153_6_ + f2, (float)p_i1153_3_ / p_i1153_7_ + f3);
p_i1153_1_[2] = p_i1153_1_[2].setTexturePosition((float)p_i1153_2_ / p_i1153_6_ + f2, (float)p_i1153_5_ / p_i1153_7_ - f3);
p_i1153_1_[3] = p_i1153_1_[3].setTexturePosition((float)p_i1153_4_ / p_i1153_6_ - f2, (float)p_i1153_5_ / p_i1153_7_ - f3);
}
public void flipFace()
{
PositionTextureVertex[] apositiontexturevertex = new PositionTextureVertex[this.vertexPositions.length];
for (int i = 0; i < this.vertexPositions.length; ++i)
{
apositiontexturevertex[i] = this.vertexPositions[this.vertexPositions.length - i - 1];
}
this.vertexPositions = apositiontexturevertex;
}
public void draw(Tessellator p_78236_1_, float p_78236_2_)
{
Vec3 vec3 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[0].vector3D);
Vec3 vec31 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[2].vector3D);
Vec3 vec32 = vec31.crossProduct(vec3).normalize();
p_78236_1_.startDrawingQuads();
if (this.invertNormal)
{
p_78236_1_.setNormal(-((float)vec32.xCoord), -((float)vec32.yCoord), -((float)vec32.zCoord));
}
else
{
p_78236_1_.setNormal((float)vec32.xCoord, (float)vec32.yCoord, (float)vec32.zCoord);
}
for (int i = 0; i < 4; ++i)
{
PositionTextureVertex positiontexturevertex = this.vertexPositions[i];
p_78236_1_.addVertexWithUV((double)((float)positiontexturevertex.vector3D.xCoord * p_78236_2_), (double)((float)positiontexturevertex.vector3D.yCoord * p_78236_2_), (double)((float)positiontexturevertex.vector3D.zCoord * p_78236_2_), (double)positiontexturevertex.texturePositionX, (double)positiontexturevertex.texturePositionY);
}
p_78236_1_.draw();
}
}