/** @param c construction */ public AlgoPolyhedronNet(Construction c, String[] labels, GeoPolyhedron p, NumberValue v) { super(c); this.p = p; this.v = v; vNum = ChangeableCoordParent.getGeoNumeric(v); outputNet = new OutputHandler<GeoPolyhedronNet>( new elementFactory<GeoPolyhedronNet>() { public GeoPolyhedronNet newElement() { GeoPolyhedronNet p = new GeoPolyhedronNet(cons); p.setParentAlgorithm(AlgoPolyhedronNet.this); return p; } }); outputNet.adjustOutputSize(1); outputPointsBottom = createOutputPoints(); outputPointsSide = createOutputPoints(); outputPointsTop = createOutputPoints(); outputPolygonsBottom = createOutputPolygons(); outputPolygonsSide = createOutputPolygons(); outputPolygonsTop = createOutputPolygons(); outputSegmentsBottom = createOutputSegments(); outputSegmentsSide = createOutputSegments(); outputSegmentsTop = createOutputSegments(); bottomPointsLength = p.getBottomFace().getPointsLength(); createNet(bottomPointsLength); input = new GeoElement[] {p, (GeoElement) v}; for (int i = 0; i < input.length; i++) { input[i].addAlgorithm(this); } getNet().createFaces(); setOutput(bottomPointsLength); // set labels setLabels(labels); update(); updateOutputSegmentsAndPolygonsParentAlgorithms(); }
final void setChangeableCoordParent(GeoPolygon3D polygon) { ChangeableCoordParent.setPolyhedronNet(polygon, vNum, p); }