object ICloneable.Clone() { ThreeDObject copyObject = new ThreeDObject(); for (int i = 0; i < Polygons.Count; i++) { copyObject.AddPolygon((ThreeDPolygon)(((ICloneable)Polygons[i]).Clone())); } return(copyObject); }
private void CreateCube() { TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(0, 0, 0), new ThreeDPoint(0, 1, 0), new ThreeDPoint(1, 1, 0), new ThreeDPoint(1, 0, 0), new ThreeDPoint(0, 0, 0) }); TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(0, 0, 0), new ThreeDPoint(0, 0, 1), new ThreeDPoint(0, 1, 1), new ThreeDPoint(0, 1, 0), new ThreeDPoint(0, 0, 0) }); TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(0, 0, 0), new ThreeDPoint(0, 0, 1), new ThreeDPoint(1, 0, 1), new ThreeDPoint(1, 0, 0), new ThreeDPoint(0, 0, 0) }); TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(1, 1, 0), new ThreeDPoint(1, 1, 1), new ThreeDPoint(0, 1, 1), new ThreeDPoint(0, 1, 0), new ThreeDPoint(1, 1, 0) }); TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(1, 0, 0), new ThreeDPoint(1, 0, 1), new ThreeDPoint(1, 1, 1), new ThreeDPoint(1, 1, 0), new ThreeDPoint(1, 0, 0) }); TheCube.AddPolygon(new ThreeDPoint[] { new ThreeDPoint(0, 0, 1f), new ThreeDPoint(0, 1, 1f), new ThreeDPoint(1, 1, 1f), new ThreeDPoint(1, 0, 1f), new ThreeDPoint(0, 0, 1f) }); TheCube.Scale(100); TheCube.Translate(new float[] { 150, 150, 0 }); TheCubeOriginal = (ThreeDObject)((ICloneable)TheCube).Clone(); }