/** * */ package plugins.kernel.roi.roi3d; import icy.type.geom.Polygon2D; import plugins.kernel.roi.roi2d.ROI2DPolygon; /** * Class defining a 3D Stack Polygon ROI as a stack of individual 2D Polygon ROI. * * @author Stephane */ public class ROI3DStackPolygon extends ROI3DStackShape { public ROI3DStackPolygon() { super(ROI2DPolygon.class); } public ROI3DStackPolygon(Polygon2D polygon, int zMin, int zMax) { this(); if (zMax < zMin) throw new IllegalArgumentException("ROI3DStackPolygon: cannot create the ROI (zMax < zMin)."); beginUpdate(); try { for (int z = zMin; z <= zMax; z++) setSlice(z, new ROI2DPolygon(polygon)); } finally { endUpdate(); } } @Override public String getDefaultName() { return "Polygon2D stack"; } }