Package wecui.render.region

Source Code of wecui.render.region.CylinderRegion

package wecui.render.region;

import wecui.WorldEditCUI;
import wecui.render.LineColor;
import wecui.render.points.PointCube;
import wecui.render.shapes.RenderCylinderBox;
import wecui.render.shapes.RenderCylinderCircles;
import wecui.render.shapes.RenderCylinderGrid;

/**
* Main controller for a cylinder-type region
*
* @author yetanotherx
*/
public class CylinderRegion extends BaseRegion {

    protected PointCube center;
    protected double radX = 0;
    protected double radZ = 0;
    protected int minY = 0;
    protected int maxY = 0;

    public CylinderRegion(WorldEditCUI controller) {
        super(controller);
    }

    @Override
    public void render() {
        if (center != null) {
            center.render();

            int tMin = minY;
            int tMax = maxY;

            if (minY == 0 || maxY == 0) {
                tMin = (int) center.getPoint().getY();
                tMax = (int) center.getPoint().getY();
            }

            new RenderCylinderCircles(LineColor.CYLINDERGRID, center, radX, radZ, tMin, tMax).render();
            new RenderCylinderGrid(LineColor.CYLINDERGRID, center, radX, radZ, tMin, tMax).render();
            new RenderCylinderBox(LineColor.CYLINDERBOX, center, radX, radZ, tMin, tMax).render();

        }
    }

    @Override
    public void setCylinderCenter(int x, int y, int z) {
        center = new PointCube(x, y, z);
        center.setColor(LineColor.CYLINDERCENTER);
    }

    @Override
    public void setCylinderRadius(double x, double z) {
        this.radX = x;
        this.radZ = z;
    }

    @Override
    public void setMinMax(int min, int max) {
        minY = min;
        maxY = max;
    }

    @Override
    public RegionType getType() {
        return RegionType.CYLINDER;
    }
}
TOP

Related Classes of wecui.render.region.CylinderRegion

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.