    001    package net.minecraft.src;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005
    006    @SideOnly(Side.CLIENT)
    007    public class Frustrum implements ICamera
    008    {
    009        private ClippingHelper clippingHelper = ClippingHelperImpl.getInstance();
    010        private double xPosition;
    011        private double yPosition;
    012        private double zPosition;
    013
    014        public void setPosition(double par1, double par3, double par5)
    015        {
    016            this.xPosition = par1;
    017            this.yPosition = par3;
    018            this.zPosition = par5;
    019        }
    020
    021        /**
    022         * Calls the clipping helper. Returns true if the box is inside all 6 clipping planes, otherwise returns false.
    023         */
    024        public boolean isBoxInFrustum(double par1, double par3, double par5, double par7, double par9, double par11)
    025        {
    026            return this.clippingHelper.isBoxInFrustum(par1 - this.xPosition, par3 - this.yPosition, par5 - this.zPosition, par7 - this.xPosition, par9 - this.yPosition, par11 - this.zPosition);
    027        }
    028
    029        /**
    030         * Returns true if the bounding box is inside all 6 clipping planes, otherwise returns false.
    031         */
    032        public boolean isBoundingBoxInFrustum(AxisAlignedBB par1AxisAlignedBB)
    033        {
    034            return this.isBoxInFrustum(par1AxisAlignedBB.minX, par1AxisAlignedBB.minY, par1AxisAlignedBB.minZ, par1AxisAlignedBB.maxX, par1AxisAlignedBB.maxY, par1AxisAlignedBB.maxZ);
    035        }
    036    }